Scegli la tua lingua
Corso di programmazione
Più di 2 milioni di studenti in tutto il mondo

Corso di programmazione

4,3

Learn to Code la porta da zero esperienza di programmazione alla consegna di un'applicazione reale e distribuita. Padroneggerà i fondamenti su cui ogni sviluppatore professionista fa affidamento — dalle strutture dati e la programmazione orientata agli oggetti al testing, alle API e a Git. Questo corso copre tutto ciò che le serve per scrivere codice pulito e funzionale e ottenere il suo primo ruolo da sviluppatore.

Dedika per aziende

Cosa imparerai:

Costruirà una solida base nei concetti di programmazione, per poi avanzare attraverso funzioni, progettazione orientata agli oggetti e strutture dati. Imparerà a leggere e scrivere file, a consumare API REST e a connettersi ai database. Il corso tratta strategie di debug, unit testing e sviluppo guidato dai test, affinché il suo codice sia affidabile sin dal primo giorno. Lavorerà inoltre con Git, imposterà pipeline di CI e distribuirà un progetto completo in un ambiente live. Alla fine, disporrà di un'applicazione pronta per il portfolio e delle competenze per affrontare i colloqui.

Come studi in modo pratico Corso di programmazione

Come metti in pratica Corso di programmazione

Per te che sei un'azienda e vuoi formare il tuo team

Su Dedika per aziende, il corso include esercizi ed esempi personalizzati sul tuo business e secondo le esigenze della tua azienda.

Clicca qui

Contenuto del corso

8 Capitoli • 39 LezioniDurata tra 4 e 360 ore (decidi tu)

Capitolo 1Vedi dettagli

Introduzione ai concetti di programmazione

  • Lezione 1 • Configurazione di un ambiente di sviluppo

    Guida gli studenti nell'installazione di un editor di codice, nella configurazione di un runtime e nell'esecuzione del primo programma. Elimina gli ostacoli di configurazione per iniziare subito ad apprendere.

  • Lezione 2 • Pseudocodice e diagrammi di flusso

    Insegna strumenti di pianificazione indipendenti dal linguaggio prima di introdurre qualsiasi sintassi. Gli studenti progettano soluzioni in modo visuale e in linguaggio naturale prima di scrivere codice reale.

  • Lezione 3 • Come i computer eseguono le istruzioni

    Spiega il ciclo fetch-decode-execute e il ruolo di CPU, memoria e archiviazione. Collega tutti i concetti di programmazione successivi al comportamento reale dell'hardware.

  • Lezione 4 • Pensare come un programmatore

    Introduce il pensiero computazionale: scomposizione, riconoscimento di schemi, astrazione e algoritmi. Gli studenti si esercitano a scomporre problemi reali in passaggi logici.

Capitolo 2Vedi dettagli

Fondamenti di programmazione

  • Lezione 1 • Variabili e tipi di dati

    Illustra come i programmi archiviano ed etichettano i dati usando le variabili e come i tipi di dati vincolano le operazioni valide. Abilita direttamente tutti gli esercizi di programmazione successivi.

  • Lezione 2 • Nozioni di base su input e output

    Insegna a leggere l'input dell'utente dalla console e a visualizzare output formattato. Gli studenti costruiscono programmi interattivi che rispondono a dati reali.

  • Lezione 3 • Operatori ed espressioni

    Insegna gli operatori aritmetici, di confronto e logici e come si combinano in espressioni. Gli studenti valutano espressioni complesse e prevedono l'output del programma.

  • Lezione 4 • Flusso di controllo con i condizionali

    Introduce le strutture if, else-if e switch che permettono ai programmi di scegliere percorsi di esecuzione diversi. Gli studenti scrivono logiche di diramazione per scenari decisionali reali.

  • Lezione 5 • Cicli e iterazione

    Illustra i cicli for, while e do-while per ripetere azioni in modo efficiente. Gli studenti sostituiscono il codice ripetitivo con un'iterazione concisa e controllata.

Capitolo 3Vedi dettagli

Funzioni e organizzazione del codice

  • Lezione 1 • Stile del codice e documentazione

    Stabilisce convenzioni di denominazione, standard per i commenti e pratiche di documentazione. Gli studenti applicano una guida di stile coerente per rendere il codice leggibile dagli altri.

  • Lezione 2 • Definizione e chiamata di funzioni

    Spiega la sintassi delle funzioni, le convenzioni di denominazione e lo stack delle chiamate. Gli studenti sostituiscono blocchi di codice duplicati con singole definizioni di funzione riutilizzabili.

  • Lezione 3 • Fondamenti di ricorsione

    Introduce il pensiero ricorsivo attraverso problemi classici come il fattoriale e Fibonacci. Gli studenti identificano i casi base e i casi ricorsivi per prevenire lo stack overflow.

  • Lezione 4 • Visibilità e ciclo di vita delle variabili

    Insegna la visibilità locale vs. globale e come il ciclo di vita delle variabili influenzi il comportamento del programma. Gli studenti eseguono il debug di bug legati alla visibilità e scrivono funzioni sicure rispetto all'ambito di visibilità.

  • Lezione 5 • Parametri e argomenti

    Illustra come i dati vengono passati alle funzioni tramite parametri e come gli argomenti predefiniti e con nome aggiungono flessibilità. Gli studenti scrivono funzioni che si adattano a input vari.

Capitolo 4Vedi dettagli

Strutture dati e collezioni

  • Lezione 1 • Insiemi e tuple

    Introduce le tuple immutabili e gli insiemi non ordinati per la deduplicazione e il test di appartenenza. Gli studenti scelgono tra insiemi, tuple e liste in base ai requisiti del caso d'uso.

  • Lezione 2 • Array e liste

    Illustra le collezioni ordinate e indicizzate e le operazioni comuni come inserimento, eliminazione e attraversamento. Gli studenti manipolano le liste per risolvere problemi di ordinamento e ricerca.

  • Lezione 3 • Stack, code e liste concatenate

    Illustra i tipi di dati astratti costruiti su array e puntatori. Gli studenti implementano strutture LIFO e FIFO e ne comprendono le applicazioni nel mondo reale.

  • Lezione 4 • Algoritmi di ricerca e ordinamento

    Insegna la ricerca lineare, la ricerca binaria, il bubble sort e il merge sort con l'analisi della complessità. Gli studenti confrontano gli algoritmi e selezionano soluzioni efficienti in base alla dimensione dei dati.

  • Lezione 5 • Dizionari e mappe hash

    Insegna l'archiviazione chiave-valore per una ricerca rapida e come le funzioni hash siano alla base dei dizionari. Gli studenti costruiscono tabelle di ricerca e contatori di frequenza usando i dizionari.

Capitolo 5Vedi dettagli

Programmazione orientata agli oggetti

  • Lezione 1 • Principi di progettazione OOP

    Introduce i principi SOLID e schemi di progettazione comuni come Factory e Observer. Gli studenti rifattorizzano codice OOP mal strutturato per seguire le best practice consolidate.

  • Lezione 2 • Incapsulamento e controllo dell'accesso

    Insegna i modificatori di accesso public, private e protected e gli schemi getter/setter. Gli studenti proteggono lo stato interno ed espongono solo le interfacce necessarie.

  • Lezione 3 • Polimorfismo e interfacce

    Spiega come oggetti di classi diverse condividano un'interfaccia comune e si comportino diversamente a runtime. Gli studenti scrivono codice che opera su tipi astratti per garantire flessibilità.

  • Lezione 4 • Classi e oggetti

    Definisce le classi come progetti e gli oggetti come istanze, trattando i costruttori e le variabili di istanza. Gli studenti modellano un'entità del mondo reale come classe con attributi significativi.

  • Lezione 5 • Ereditarietà e riutilizzo del codice

    Illustra le relazioni di classe genitore-figlio e l'override dei metodi per comportamenti specializzati. Gli studenti costruiscono una gerarchia di classi che elimina la logica duplicata.

Capitolo 6Vedi dettagli

Lavorare con i file e dati esterni

  • Lezione 1 • Gestione degli errori e convalida dei dati

    Illustra i blocchi try-catch, le eccezioni personalizzate e le strategie di convalida dell'input per programmi robusti. Gli studenti aggiungono una gestione difensiva degli errori a una pipeline di elaborazione dati.

  • Lezione 2 • Lavorare con CSV e JSON

    Insegna l'analisi e la generazione dei due formati di interscambio dati più comuni. Gli studenti caricano un dataset CSV e serializzano i risultati come JSON per un utilizzo successivo.

  • Lezione 3 • Introduzione ai database

    Introduce i concetti di database relazionale e il linguaggio SQL di base per interrogare e aggiornare i record. Gli studenti collegano un programma a un database locale ed eseguono operazioni CRUD.

  • Lezione 4 • Utilizzo di API REST

    Spiega i metodi HTTP, i codici di stato e come inviare richieste e gestire le risposte. Gli studenti recuperano dati in tempo reale da un'API pubblica e li visualizzano in un report formattato.

  • Lezione 5 • Lettura e scrittura di file

    Illustra l'apertura, la lettura, la scrittura e la chiusura sicura dei file utilizzando i gestori di contesto. Gli studenti elaborano un file di testo e scrivono i risultati trasformati in un nuovo file.

Capitolo 7Vedi dettagli

Debug, test e qualità del codice

  • Lezione 1 • Sviluppo guidato dai test

    Illustra il ciclo red-green-refactor e come scrivere prima i test migliori la progettazione. Gli studenti costruiscono una piccola funzionalità utilizzando il TDD, dal primo test fallito al codice funzionante.

  • Lezione 2 • Nozioni di base sulla profilazione delle prestazioni

    Introduce gli strumenti di profilazione che identificano percorsi di codice lenti e colli di bottiglia della memoria. Gli studenti profilano un programma, identificano il punto critico e applicano un'ottimizzazione mirata.

  • Lezione 3 • Strategie e strumenti di debug

    Insegna il debug con breakpoint, il tracciamento basato su print e la lettura efficace degli stack trace. Gli studenti isolano e correggono un programma con più bug utilizzando un flusso di lavoro di debug strutturato.

  • Lezione 4 • Revisioni del codice e analisi statica

    Insegna come fornire e ricevere feedback costruttivi durante la revisione del codice e come utilizzare gli strumenti di analisi statica. Gli studenti revisionano il codice di un collega e applicano il linting automatico al proprio.

  • Lezione 5 • Fondamenti di test unitari

    Introduce il pattern Arrange-Act-Assert e la scrittura di test isolati per singole funzioni. Gli studenti scrivono una suite completa di test unitari per un modulo precedentemente costruito.

Capitolo 8Vedi dettagli

Costruzione e distribuzione di un progetto reale

  • Lezione 1 • Pipeline di integrazione continua

    Introduce pipeline automatizzate di build e test che vengono eseguite a ogni push del codice. Gli studenti configurano una pipeline CI che blocca i merge quando i test falliscono.

  • Lezione 2 • Gestione delle dipendenze e pacchettizzazione

    Spiega i gestori di pacchetti, gli ambienti virtuali e la dichiarazione delle dipendenze di progetto. Gli studenti pacchettizzano il proprio progetto in modo che si installi correttamente su qualsiasi macchina.

  • Lezione 3 • Controllo di versione con Git

    Insegna il branching, il commit, il merge e la risoluzione dei conflitti utilizzando Git. Gli studenti gestiscono un progetto multi-funzionalità con una cronologia dei commit pulita e revisionabile.

  • Lezione 4 • Distribuzione in un ambiente live

    Illustra le nozioni di base sulla containerizzazione, le variabili d'ambiente e la distribuzione su una piattaforma cloud. Gli studenti distribuiscono il proprio progetto e verificano che venga eseguito correttamente in produzione.

  • Lezione 5 • Pianificazione e architettura del progetto

    Illustra la raccolta dei requisiti, la definizione dell'ambito delle funzionalità e la scelta di un'architettura appropriata. Gli studenti producono un piano di progetto con milestone definite prima di scrivere qualsiasi codice.

Certificazione

Il tuo certificato valido di completamento

Questo corso è per te:

  • Professionista in cerca di cambiamento: pronto a lasciare il proprio settore attuale per lo sviluppo software.

  • Neolaureato: desidera aggiungere competenze pratiche di programmazione al proprio curriculum.

  • Titolare di una piccola impresa: desidera creare o mantenere i propri strumenti digitali.

  • Professionista del marketing: desidera automatizzare i report e comprendere i colleghi sviluppatori.

  • Costruttore hobbista: desideroso di trasformare le idee dei propri progetti personali in applicazioni funzionanti.

  • Libero professionista: alla ricerca di competenze tecniche per ampliare la propria offerta di servizi ai clienti.

Cosa dicono i nostri studenti

Le sue lezioni sono perfette. Ho acquistato il pacchetto annuale e finalmente ho l'opportunità di seguire diversi argomenti di mio interesse senza dover cambiare piattaforma... vi ringrazio per tutto quello che fate, vi ho già raccomandati ad altre persone...
Giulio Carlo
Giulio CarloStudente di Marketing Digitale
Mi piace come le lezioni vanno dritte al punto e come riesco a cambiare capitoli e saltare contenuti di cui non ho bisogno.
Mariana Ferres
Mariana FerresStudentessa di Fotografia
Mi piace il contenuto e il modo di presentazione e trascrizione dei video, che accelera il processo!
Luciana Alvarenga
Luciana AlvarengaStudentessa di Nail Design
La piattaforma è veloce, semplice da usare. La diversità dei contenuti e i video complementari aiutano molto nell'apprendimento.
André Felipe
André FelipeStudente di Prompt Engineering

Principali percorsi formativi

FAQ

Chi è Dedika?

Il certificato è valido in Italia?

I corsi sono gratuiti?

Qual è il carico di lavoro del corso?

Come sono strutturati i corsi?

Come funzionano i corsi?

Qual è la durata dei corsi?

Qual è il costo o il prezzo dei corsi?

Cos’è un corso EAD o online e come funziona?

Corso PDF