
Corso base di programmazione C++
Passi da zero a sviluppatore C++ sicuro di sé padroneggiando il linguaggio che alimenta giochi, sistemi operativi e software ad alte prestazioni. Questo corso La guida attraverso ogni concetto fondamentale — dalle variabili e il flusso di controllo fino alla progettazione orientata agli oggetti e alla Standard Library. Progetti pratici e flussi di lavoro reali con il compilatore fanno sì che le competenze vengano assimilate fin dal primo giorno.
Cosa imparerai:
Configuri un ambiente di sviluppo C++ completo e compili il Suo primo programma funzionante.
Applichi tipi di dati fondamentali, operatori e flusso di controllo per risolvere problemi di programmazione reali.
Progetti funzioni riutilizzabili e comprenda come C++ gestisce la memoria nello stack e nello heap.
Costruisca programmi orientati agli oggetti utilizzando classi, ereditarietà e funzioni virtuali polimorfiche.
Sfrutti i container e gli algoritmi della STL per memorizzare, cercare e trasformare i dati in modo efficiente.
Organizzi progetti professionali multi-file con CMake, controllo di versione Git e test di unità.
Come studi in modo pratico Corso base di programmazione C++
Come metti in pratica Corso base di programmazione C++
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 • 36 LezioniDurata tra 4 e 360 ore (decidi tu)
Capitolo 1NascondiNascondi dettagliVedi dettagliConfigurazione dell'ambiente C++
Configurazione dell'ambiente C++
Lezione 1 • Scrittura e compilazione di Hello World
Viene spiegata e compilata la struttura minima di un file sorgente C++. Gli studenti eseguono il loro primo eseguibile e leggono l'output del compilatore.
Lezione 2 • Installazione di un compilatore e di un IDE
Gli studenti installano GCC o Clang e un editor di codice come VS Code. La corretta installazione viene verificata compilando un file di test.
Lezione 3 • Navigazione del processo di build
Vengono demistificate le fasi di preprocessing, compilazione e linking. Gli studenti comprendono come i file sorgente diventano eseguibili.
Lezione 4 • Comprendere il C++ e i suoi utilizzi
Vengono introdotti la storia del C++, gli obiettivi di progettazione e le applicazioni nel mondo reale. Questo contesto motiva la configurazione della toolchain che segue.
Capitolo 2NascondiNascondi dettagliVedi dettagliTipi di dati fondamentali e variabili
Tipi di dati fondamentali e variabili
Lezione 1 • Tipi interi e a virgola mobile
Vengono esaminate le larghezze degli interi con e senza segno e la precisione in virgola mobile. Gli studenti scelgono i tipi appropriati per determinati intervalli di dati.
Lezione 2 • Costanti e conversioni di tipo
Vengono spiegate le regole di const, constexpr e il casting implicito/esplicito. Gli studenti evitano la perdita di dati da conversioni di tipo non intenzionali.
Lezione 3 • Caratteri, booleani e stringhe
char, bool e std::string vengono presentati con le relative operazioni. Gli studenti manipolano testo e valori logici in piccoli programmi.
Lezione 4 • Dichiarazione e inizializzazione delle variabili
Vengono trattati la sintassi delle variabili, le regole di denominazione e le forme di inizializzazione. Un'inizializzazione corretta previene comportamenti indefiniti introdotti successivamente.
Capitolo 3NascondiNascondi dettagliVedi dettagliOperatori ed espressioni
Operatori ed espressioni
Lezione 1 • Precedenza e associatività degli operatori
Le tabelle di precedenza e le regole di associatività determinano l'ordine di valutazione delle espressioni. Gli studenti usano le parentesi per imporre il calcolo desiderato.
Lezione 2 • Operatori relazionali e logici
Gli operatori di confronto e logici producono risultati bool utilizzati nel flusso di controllo. Gli studenti scrivono condizioni che combinano più test relazionali.
Lezione 3 • Operatori aritmetici e di assegnazione
Vengono praticati i cinque operatori aritmetici e le forme di assegnazione composta. Gli studenti calcolano risultati e comprendono il comportamento della divisione intera.
Lezione 4 • Operatori bit a bit e manipolazione dei bit
Gli operatori AND, OR, XOR, NOT e di scorrimento lavorano a livello di bit. Gli studenti applicano maschere e scorrimenti per manipolare singoli bit negli interi.
Capitolo 4NascondiNascondi dettagliVedi dettagliFlusso di controllo e processo decisionale
Flusso di controllo e processo decisionale
Lezione 1 • Istruzioni switch ed enumerazioni
Lo switch fornisce diramazioni multi-via su valori interi; gli enum migliorano la leggibilità. Gli studenti sostituiscono lunghe catene if-else con blocchi switch più puliti.
Lezione 2 • Controllo dei cicli e cicli annidati
Le istruzioni break, continue e i pattern di cicli annidati estendono le capacità dei cicli. Gli studenti risolvono problemi che richiedono uscita anticipata e iterazione multidimensionale.
Lezione 3 • Istruzioni if, else if ed else
La sintassi della diramazione condizionale e le regole di annidamento vengono insegnate con esempi pratici. Gli studenti scrivono programmi che scelgono percorsi di codice diversi in base all'input.
Lezione 4 • Cicli for e while
Vengono introdotti e confrontati i cicli controllati da contatore e quelli controllati da condizione. Gli studenti implementano pattern di iterazione come accumulazione e ricerca.
Capitolo 5NascondiNascondi dettagliVedi dettagliFunzioni e organizzazione del codice
Funzioni e organizzazione del codice
Lezione 1 • Fondamenti di ricorsione
Le funzioni ricorsive chiamano sé stesse per risolvere problemi definiti in termini di sottoproblemi. Gli studenti implementano fattoriale, Fibonacci e ricerca semplice in modo ricorsivo.
Lezione 2 • Overloading di funzioni e argomenti predefiniti
Più funzioni che condividono un nome e parametri opzionali aumentano la flessibilità dell'API. Gli studenti progettano insiemi in overload che compilano senza ambiguità.
Lezione 3 • Definizione e chiamata di funzioni
Vengono stabilite la sintassi delle funzioni, i tipi di ritorno e i meccanismi di chiamata. Gli studenti sostituiscono blocchi di codice ripetuti con unità denominate e richiamabili.
Lezione 4 • Riferimenti, puntatori come parametri
Il passaggio per riferimento e per puntatore consente alle funzioni di modificare i dati del chiamante. Gli studenti scelgono la strategia di passaggio corretta per ogni caso d'uso.
Lezione 5 • Parametri, argomenti e ambito
La semantica del passaggio per valore e l'ambito delle variabili locali vengono spiegati con esempi. Gli studenti comprendono perché le modifiche all'interno delle funzioni non influenzano le variabili del chiamante.
Capitolo 6NascondiNascondi dettagliVedi dettagliArray, puntatori e memoria
Array, puntatori e memoria
Lezione 1 • Allocazione dinamica della memoria
new e delete allocano e liberano memoria heap a runtime. Gli studenti gestiscono array dinamici ed evitano perdite di memoria attraverso una deallocazione disciplinata.
Lezione 2 • Introduzione agli smart pointer
unique_ptr e shared_ptr automatizzano la gestione della memoria usando RAII. Gli studenti sostituiscono i puntatori proprietari raw con smart pointer per eliminare le perdite.
Lezione 3 • Puntatori e aritmetica degli indirizzi
I puntatori memorizzano indirizzi di memoria e consentono l'accesso diretto alla memoria. Gli studenti dichiarano puntatori, li dereferenziano ed eseguono aritmetica dei puntatori.
Lezione 4 • Array e operazioni sugli array
Gli array a dimensione fissa memorizzano elementi omogenei accessibili tramite indice. Gli studenti dichiarano, inizializzano e iterano su array unidimensionali in modo sicuro.
Lezione 5 • Array multidimensionali
Gli array bidimensionali modellano griglie e matrici con indicizzazione riga-colonna. Gli studenti implementano pattern di memorizzazione e attraversamento di matrici.
Capitolo 7NascondiNascondi dettagliVedi dettagliProgrammazione orientata agli oggetti in C++
Programmazione orientata agli oggetti in C++
Lezione 1 • Overloading degli operatori
I tipi personalizzati acquisiscono una sintassi naturale tramite l'overloading di operatori come +, == e <<. Gli studenti implementano operatori aritmetici e di stream per una classe definita dall'utente.
Lezione 2 • Polimorfismo e funzioni virtuali
Le funzioni virtuali consentono il dispatch a runtime attraverso puntatori alla classe base. Gli studenti implementano un'interfaccia polimorfica e osservano il binding dinamico in azione.
Lezione 3 • Classi, oggetti e incapsulamento
Le classi raggruppano dati e comportamento; gli specificatori di accesso impongono l'incapsulamento. Gli studenti definiscono classi con dati privati e metodi getter/setter pubblici.
Lezione 4 • Costruttori e distruttori
I costruttori inizializzano gli oggetti; i distruttori rilasciano le risorse al termine del ciclo di vita. Gli studenti implementano correttamente costruttori predefiniti, parametrizzati e di copia.
Lezione 5 • Ereditarietà e la relazione Is-A
Le classi derivate estendono le classi base per riutilizzare e specializzare il comportamento. Gli studenti costruiscono una gerarchia a due livelli e sovrascrivono i metodi della classe base.
Capitolo 8NascondiNascondi dettagliVedi dettagliContainer e algoritmi della libreria standard
Container e algoritmi della libreria standard
Lezione 1 • Algoritmi e iteratori STL
Algoritmi come sort, find e transform operano su intervalli di iteratori. Gli studenti applicano algoritmi standard invece di scrivere cicli manuali.
Lezione 2 • std::map e std::set
I container associativi mappano chiavi a valori e memorizzano elementi ordinati unici. Gli studenti implementano il conteggio delle frequenze e tabelle di lookup con questi container.
Lezione 3 • I/O su file con fstream
ifstream e ofstream leggono e scrivono file di testo utilizzando la familiare sintassi degli stream. Gli studenti costruiscono programmi che persistono i dati tra un'esecuzione e l'altra.
Lezione 4 • std::vector e sequenze dinamiche
vector fornisce un array ridimensionabile con accesso controllato dai limiti e iteratori. Gli studenti costruiscono, modificano e attraversano vettori in programmi realistici.
Lezione 5 • std::string Operazioni Avanzate
Vengono esplorate in profondità le funzioni di ricerca, suddivisione e conversione delle stringhe. Gli studenti analizzano e trasformano dati testuali utilizzando l'API completa di std::string.
Il tuo certificato valido di completamento
Questo corso è per te:
Studenti universitari: alla ricerca di un primo linguaggio di programmazione di sistema rigoroso da apprendere.
Persone in transizione di carriera: che passano da ruoli non tecnici a posizioni di sviluppo software.
Appassionati di sviluppo di videogiochi: desiderosi di apprendere il linguaggio fondamentale alla base della maggior parte dei motori grafici.
Programmatori autodidatti: che hanno sperimentato linguaggi di scripting e ora desiderano competenze in un linguaggio compilato.
Studenti di ingegneria elettronica: che necessitano di C++ per sistemi embedded e programmazione hardware.
Professionisti IT: che desiderano ampliare le proprie competenze oltre lo scripting, orientandosi allo sviluppo di applicazioni critiche per le prestazioni.
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




















