
Corso di programmazione
Impara a programmare dalle basi e costruisci applicazioni reali e distribuibili utilizzando strumenti e pratiche standard del settore. Questo corso ti accompagna dalla configurazione del tuo primo ambiente di sviluppo fino alla scrittura di test, al consumo di API e al lancio di software pronto per la produzione. Ogni concetto è ancorato alla pratica di coding così da sviluppare competenze concrete, non solo teoria.
Cosa imparerai:
Inizierai con i concetti fondamentali della programmazione come variabili, flusso di controllo e funzioni, per poi passare al design orientato agli oggetti, alle strutture dati e agli algoritmi. Imparerai a leggere e scrivere file, a effettuare richieste HTTP ad API esterne e a gestire il codice asincrono in modo pulito. Il corso copre pratiche professionali tra cui unit testing, sviluppo guidato dai test, controllo di versione con Git e integrazione continua. Esplorerai anche i database, i fondamenti di sicurezza e l'ottimizzazione delle prestazioni. Al termine, avrai progettato, realizzato e distribuito un'applicazione completa da zero.
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.
Contenuto del corso
8 Capitoli • 39 LezioniDurata tra 4 e 360 ore (decidi tu)
Capitolo 1NascondiNascondi dettagliVedi dettagliFondamenti di programmazione e configurazione dell'ambiente
Fondamenti di programmazione e configurazione dell'ambiente
Lezione 1 • Come i computer eseguono il codice
Spiega il percorso dal codice sorgente alle istruzioni macchina, coprendo compilatori, interpreti e runtime. Fondamenta tutto lo studio successivo della sintassi su un modello di esecuzione concreto.
Lezione 2 • Fondamenti del flusso di controllo
Copre le istruzioni condizionali e i cicli che dirigono l'esecuzione del programma. Gli studenti acquisiscono la capacità di scrivere programmi che prendono decisioni e ripetono azioni.
Lezione 3 • Configurazione dell'ambiente di sviluppo
Guida l'installazione di un editor di codice, del runtime del linguaggio e degli strumenti da terminale. Garantisce che ogni studente abbia uno spazio di lavoro identico e riproducibile prima di scrivere qualsiasi codice.
Lezione 4 • Lettura e debug dei messaggi di errore
Insegna a interpretare gli errori di sintassi, gli errori di runtime e gli stack trace. Stabilisce una mentalità di debug sistematica fin dal primo giorno di programmazione.
Lezione 5 • Concetti fondamentali di programmazione
Introduce variabili, tipi di dati, operatori ed espressioni come elementi costitutivi atomici di qualsiasi programma. Collega concetti astratti a esempi concreti ed eseguibili.
Capitolo 2NascondiNascondi dettagliVedi dettagliFunzioni, scope e organizzazione del codice
Funzioni, scope e organizzazione del codice
Lezione 1 • Scope e ciclo di vita delle variabili
Spiega lo scope locale, globale e di blocco e come il runtime risolve i nomi delle variabili. Previene bug comuni causati da shadowing o leakage non intenzionali delle variabili.
Lezione 2 • Definizione e chiamata di funzioni
Copre la sintassi delle funzioni, i parametri, i valori di ritorno e i meccanismi di chiamata. Stabilisce le funzioni come strumento principale per incapsulare logica riutilizzabile.
Lezione 3 • Organizzazione del codice in moduli
Dimostra come suddividere il codice in file utilizzando meccanismi di import ed export. Prepara gli studenti a lavorare in progetti multi-file e librerie open-source.
Lezione 4 • Funzioni di ordine superiore e callback
Introduce le funzioni come valori di prima classe che possono essere passati e restituiti. Abilita modelli di programmazione funzionale utilizzati in tutto il codebase moderno.
Capitolo 3NascondiNascondi dettagliVedi dettagliStrutture dati: array, oggetti e collezioni
Strutture dati: array, oggetti e collezioni
Lezione 1 • Strutture annidate e JSON
Gestisce array e oggetti profondamente annidati e li serializza in formato JSON. Prepara gli studenti a consumare e produrre il formato dati utilizzato dalla maggior parte delle API web.
Lezione 2 • Array e collezioni indicizzate
Copre la creazione, l'indicizzazione, la mutazione e l'iterazione degli array. Gli array sono la base per quasi ogni attività di elaborazione di liste nelle applicazioni reali.
Lezione 3 • Trasformazione e filtraggio delle collezioni
Applica map, filter, reduce e metodi simili per elaborare i dati in modo dichiarativo. Costruisce le competenze di pipeline di dati funzionali utilizzate nell'analisi e nel rendering dell'interfaccia utente.
Lezione 4 • Set e Map per dati univoci
Introduce le strutture Set e Map per la deduplicazione e le ricerche con chiave. Espande il toolkit dello studente oltre gli array e gli oggetti semplici.
Lezione 5 • Oggetti e archivi chiave-valore
Spiega i letterali oggetto, l'accesso alle proprietà e la manipolazione dinamica delle chiavi. Gli oggetti modellano entità del mondo reale e fungono da base per lo scambio di dati JSON.
Capitolo 4NascondiNascondi dettagliVedi dettagliPrincipi di programmazione orientata agli oggetti
Principi di programmazione orientata agli oggetti
Lezione 1 • Polimorfismo e interfacce
Dimostra come classi diverse possano soddisfare un'interfaccia comune ed essere utilizzate in modo intercambiabile. Abilita architetture flessibili di tipo plug-in.
Lezione 2 • Incapsulamento e controllo degli accessi
Copre i membri pubblici, privati e protetti e i pattern getter/setter. Insegna agli studenti a nascondere i dettagli implementativi ed esporre interfacce pulite.
Lezione 3 • Composizione rispetto all'ereditarietà
Contrappone gerarchie di ereditarietà profonde a pattern di mixin e composizione. Guida gli studenti verso progetti più facili da testare e rifattorizzare.
Lezione 4 • Classi e costruttori
Introduce la sintassi delle classi, i costruttori e la creazione di istanze. Fornisce le basi strutturali per tutti i pattern orientati agli oggetti trattati in questo capitolo.
Lezione 5 • Ereditarietà e catena di prototipi
Spiega l'estensione delle classi, l'override dei metodi e la delega basata su prototipi. Consente il riutilizzo del codice tra classi correlate senza duplicazione.
Capitolo 5NascondiNascondi dettagliVedi dettagliAlgoritmi e tecniche di problem-solving
Algoritmi e tecniche di problem-solving
Lezione 1 • Scomposizione dei problemi e pseudocodice
Insegna a scomporre un problema in sottoproblemi e a esprimere soluzioni in linguaggio semplice prima di codificare. Riduce gli errori separando il pensiero dalla sintassi.
Lezione 2 • Analisi della complessità Big-O
Introduce la notazione della complessità temporale e spaziale e insegna a valutare l'efficienza degli algoritmi. Consente decisioni informate quando le prestazioni contano.
Lezione 3 • Algoritmi di ricerca
Copre la ricerca lineare e la ricerca binaria con analisi della complessità. Gli studenti scelgono la giusta strategia di ricerca in base alla dimensione dei dati e all'ordinamento.
Lezione 4 • Ricorsione e call stack
Spiega il pensiero ricorsivo, i casi base e come il call stack gestisce le chiamate ricorsive. Sblocca l'attraversamento degli alberi e i pattern divide et impera.
Lezione 5 • Algoritmi di ordinamento
Implementa bubble sort, selection sort, insertion sort, merge sort e quicksort e confronta le loro prestazioni. Costruisce l'intuizione per la progettazione di algoritmi attraverso la codifica pratica.
Capitolo 6NascondiNascondi dettagliVedi dettagliLavorare con file, API e codice asincrono
Lavorare con file, API e codice asincrono
Lezione 1 • Callback, Promise e Async/Await
Traccia l'evoluzione dal codice asincrono basato su callback a quello basato su promise fino ad async/await. Gli studenti scrivono logica pulita e non bloccante senza annidamento di callback.
Lezione 2 • Gestione degli errori e codice resiliente
Applica la gestione strutturata degli errori, tipi di errore personalizzati e strategie di fallback alle operazioni di I/O. Produce programmi che degradano in modo controllato in caso di errore.
Lezione 3 • Lettura e scrittura di file
Copre l'I/O sincrono e asincrono su file, la gestione dei percorsi e la gestione degli errori. Consente ai programmi di persistere e recuperare dati dal filesystem locale.
Lezione 4 • Autenticazione e accesso sicuro alle API
Copre le chiavi API, l'autenticazione basata su token e l'archiviazione sicura delle credenziali. Previene errori di sicurezza comuni durante l'integrazione di servizi esterni.
Lezione 5 • Effettuare richieste HTTP alle API
Dimostra le richieste GET, POST, PUT e DELETE e la gestione delle risposte. Collega i programmi a fonti di dati live e servizi di terze parti.
Capitolo 7NascondiNascondi dettagliVedi dettagliTest, debug e qualità del codice
Test, debug e qualità del codice
Lezione 1 • Flusso di lavoro dello sviluppo guidato dai test
Applica il ciclo red-green-refactor per guidare l'implementazione delle funzionalità attraverso i test. Produce interfacce più pulite perché i test definiscono prima il comportamento atteso.
Lezione 2 • Fondamenti di unit testing
Introduce la struttura dei test, le asserzioni e i test runner per verificare le singole funzioni. Costruisce l'abitudine a scrivere test insieme al codice di produzione.
Lezione 3 • Mocking, stub e isolamento dei test
Sostituisce le dipendenze esterne con falsi controllati per isolare l'unità sotto test. Consente test veloci e deterministici che non richiedono accesso alla rete o al database.
Lezione 4 • Qualità del codice e analisi statica
Applica linter, formattatori e controllori di tipo per imporre uno stile coerente e rilevare bug staticamente. Riduce l'attrito nelle revisioni e previene intere classi di errori di runtime.
Lezione 5 • Test di integrazione e end-to-end
Testa le interazioni tra i componenti e i flussi utente completi dall'input all'output. Rileva difetti che gli unit test perdono esercitando i confini reali del sistema.
Capitolo 8NascondiNascondi dettagliVedi dettagliCostruzione e deployment di applicazioni reali
Costruzione e deployment di applicazioni reali
Lezione 1 • Integrazione continua e deployment
Automatizza le pipeline di test e deployment in modo che ogni push del codice venga convalidato e rilasciato in sicurezza. Riduce i passaggi manuali e l'errore umano nel processo di release.
Lezione 2 • Monitoraggio e manutenzione post-lancio
Implementa il logging, il tracciamento degli errori e il monitoraggio delle prestazioni per le applicazioni live. Garantisce che i problemi vengano rilevati e risolti prima che gli utenti vengano impattati in modo significativo.
Lezione 3 • Architettura e pianificazione del progetto
Copre la raccolta dei requisiti, la progettazione della struttura delle cartelle e la selezione della tecnologia. Previene costose rilavorazioni stabilendo un'architettura chiara prima di scrivere codice.
Lezione 4 • Strumenti di build e gestione delle dipendenze
Configura i gestori di pacchetti, i bundler e gli script di build per automatizzare le attività ripetitive. Produce output ottimizzato e pronto per la produzione dai file sorgente di sviluppo.
Lezione 5 • Controllo di versione con Git
Applica flussi di lavoro di branching, commit, merge e pull request per gestire le modifiche al codice. Consente una collaborazione sicura e una cronologia completa di ogni decisione.
Il tuo certificato valido di completamento
Questo corso è per te:
Persone in transizione di carriera: pronte a orientarsi professionalmente verso lo sviluppo software.
Professionisti del marketing: che desiderano automatizzare report e comprendere meglio i colleghi sviluppatori.
Imprenditori: che mirano a prototipare le proprie idee di app senza assumere uno sviluppatore.
Neolaureati: che cercano competenze pratiche di coding per rafforzare le loro candidature lavorative.
Appassionati: curiosi di sapere come funziona il software e desiderosi di realizzare progetti personali.
Personale di supporto IT: che intende passare dalla risoluzione dei problemi di sistema alla scrittura di codice vero e proprio.
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...

Mi piace come le lezioni vanno dritte al punto e come riesco a cambiare capitoli e saltare contenuti di cui non ho bisogno.

Mi piace il contenuto e il modo di presentazione e trascrizione dei video, che accelera il processo!

La piattaforma è veloce, semplice da usare. La diversità dei contenuti e i video complementari aiutano molto nell'apprendimento.

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




















