Corso di programmazione C/C++
In questo corso imparerai tutto ciò che è necessario per iniziare a programmare in teoria e in pratica. Concetti sui processori e gli algoritmi, Elementi di programmazione imperativa con C/C++. Elementi di programmazione ad oggetti. Introduzione ai database e alle strutture dati.
La cosa che mi ha colpito di più è stato il metodo con il quale Roberto Di Vito mi ha aperto le vie d’accesso alla programmazione.
Andrea Gentile
Il corso in breve
| Ore | 80 |
|---|---|
| Lezioni | 20 (4 ore ciascuna) |
| Prossimo corso | da Ottobre a Maggio |
| Livello | avanzato |
| Competenze richieste | uso del computer |
| N. min partecipanti | 4 |
Il Docente
Roberto Di Vito
Roberto Di Vito
è il responsabile di tutta la formazione. Ha 25 anni di esperienza nella programmazione e conosce mumerosi linguaggi tra cui C/C++, PHP e Javascript. Si è laureato in matematica con una tesi applicata sull'algoritmo di compressione JPEG e un secondo lavoro negli algoritmi crittografici. Ha svolto per alcuni anni il dottorato di ricerca sugli algoritmi per la messa a fuoco di immagini digitali.
Il programma del corso
Concetti fondamentali
- Nozioni di base sui calcolatori
- Aspetti generali sull'architettura dei calcolatori. I processori e il loro funzionamento. I sistemi operativi e la loro organizzazione. Approfondimento sul file system e la gestione dei files.
- Concetti di base della programmazione
- Logica Booleana. Concetto di programma e di algoritmo. Variabili ed istruzioni. Linguaggi interpretati e compilati. Panoramica dei linguaggi di programmazione esistenti. Diagrammi a blocchi. Primi esempi di algoritmi e rappresentazione mediante diagrammi a blocchi.
La programmazione imperativa con C/C++
- I fondamenti del C/C++
- I tipi di variabili e di dati, interi, stringhe, caratteri e numeri in virgola mobile (floating point). Il casting. Operatori. Istruzioni di input/output. Operazioni con le stringhe.
- La IDE Code::block.
- Installazione e configurazione. Scelta del compilatore. Creazione di un progetto. Il primo programma con Code:Block.
- Determinare il flusso di esecuzione
- Istruzioni if e if...else e switch. Cicli for, while e do...while. Rappresentazione dei cicli nei digrammi a blocchi.
- Array
- Cosa sono gli array. Array monodimensionali o vettori. Algoritmi di ordinamento di un vettore. Bubble sort, insertion sort, selection sort. Algoritmo di ricerca binaria e ricerca binaria con indici. Array bidimensionali o matrici. Array multidimensionali.
- Programmazione strutturata
- Le funzioni. L'istruzione Return. Prototipi di funzione. Inserire una funzione in un programma. I metodi di chiamata di una funzione. Cenni alla ricorsività. La libreria standard del C e del C++. Creazione di una libreria personale.
- Gestione dei file
- Il paradigma apri/chiudi/leggi/scrivi. Creare un file e scrivere nel file creato. Aprire un file creato per la lettura o per la scrittura. Sovrascrivere un file. Importare il contenuto di un file in un vettore.
- Ricorsione
- Algoritmi ricorsivi. Algoritmo ricorsivo del fattoriale. Calcolo del determinante. Creazione di alberi. Problema della Torre di Hanoi.
La programmazione ad oggetti con C++
- Il paradigma della programmazione ad oggetti
- Il concetti fondamentali: classe, metodi, istanze ed oggetti. Variabili proprietarie e metodi pubblici. Costruttore di classe. Diagrammi UML.
- Implementazione pratica in C++
- Rapida introduzione alla IDE Netbeans. Codifica di una classe. Impiego di una classe e creazione di un oggetto. Utilizzo dei metodi di un oggetto.
- Relazioni fra le classi
- Ereditarietà, superclasse e sottoclasse. Ereditarietà dei medoti. Ridefinizione (override) dei metodi. Polimorfismo.
Preparazione richiesta
Competenze
Per partecipare al corso non è indispensabile alcuna particolare abilità informatica. Sono sufficienti l'uso di base del computer, della gestione dei file, della videoscrittura e buona conoscenza della navigazione su Internet e uso dei siti web.
Equivalentemente: ECDL base Start
Il materiale didatico
Il libro scelto per il corso e le dispense.
Ad ogni allievo sarà consegnato il libro C++, manuale di programmazione orienata agli oggetti, di Marino Della Puppa, edizioni Hoepli.
Il programma del corso è troppo originale per utilizzare solo un libro. Saranno perciò consegnate anche delle dispense su misura a tutti i corsisti.
Cancelleria e supporti
- una cartellina, una penna ad inchiostro liquido, un blocco note;
- una pen-drive USB da 512Mbyte.
note
Noi cerchiamo di:
- rendere i programmi dei corsi sempre migliori;
- tenerci sempre aggiornati con il materiale didattico;
- considerare le esigenze particolari dei corsisti
Per questo motivo il programma del corso e il materiale didattico (specialmente i libri di testo), possono subire variazioni dell'ultimo momento rispetto a quando indicato in questa pagina.
segui lo studio su: