Programmazione I (M-Z)

Syllabus

(Obiettivi e programma del corso, modalità esami e prove itinere, testi consigliati) 

Testi consigliati

  1. H.M. Deitel, P. J. Deitel, C++ Fondamenti di programmazione – Maggioli Editore (2014). 

  2. Eckel, Thinking in C++, Vol. I, 2°Ed. (disponibile gratuitamente online) 

  3. Horstmann, C++ for everyone, 2°Ed. – Wiley 

  4. Stroustrup, Programming: Principles and Practice Using C++. (Addison-Wesley ISBN 978-0321-992789, http://www.stroustrup.com/programming.html). 

  5. Stroustrup,  The C++ Programming Language - 4th Edition ( Addison-Wesley ISBN 978-0321563842, http://www.stroustrup.com/4th.html ) 

NOTE: 

I testi  (1), (2), (3) e (4) sono consigliati ai principianti. Il testo (1) e’ in lingua italiana (per chi la preferisce), tutti gli altri sono in Inglese (e se ne consiglia la fruizione in Inglese). 

Il libro (2) e’ un buon testo per principianti ma e’ aggiornato al 2000 (prima versione ANSI/C++), tuttavia rimane  un buon testo per principianti. 

Il testo (3) e’ fortemente consigliato agli studenti che affrontano un corso di programmazione per la prima volta; il testo contiene una grande quantità di esercizi. 

Il testo (4) e’ stato scritto dallo stesso autore del testo (5), ovvero il creatore del linguaggio C++.  

Il testo (5) è di livello avanzato. Tuttavia e’ in assoluto il miglior testo in circolazione sul C++. Per chi volesse cimentarsi nell’acquisto, si consiglia di aggiungere un ulteriore supporto didattico, ovvero il testo (4), dello stesso autore, oppure uno tra i testi (1) e (3). 

Canali per avvisi e comunicazioni

Materiale didattico (in continuo aggiornamento)

Argomenti trattati a lezione (A.A. 21/22)

  1. Introduzione al corso (Slides)
  2. Algoritmi, diagrammi a blocchi, pseudo-codice (Slides)
  3. Introduzione agli array (Slides)
  4. Paradigmi di programmazione, compilatori, traduttori (Slides)
  5. Breve introduzione al linguaggio C++ (Slides)
  6. Editor, compilatori, ambienti (Slides) (esempio)
  7. Variabili e tipi in C++ Parte 1 (Slides, Esempio)
  8. Stringhe e IO di base (Slides, Esempi)
  9. Homework PDF
  10. Costrutti condizionali, hand tracing (Slides, Esempi
  11. Costrutti di ciclo in C++  (Slides, Esempi
  12. Homework PDF
  13. Gestione errori di Input/Output (SlidesEsempi svolti (ZIP)
  14. Array in C/C++ (SlidesEsempi svolti (ZIP)
  15. File IO (Slides) Esempi svolti (ZIP)
  16. Puntatori e array in C/C++ (Slides) Esempi svolti (ZIP)
  17. Homework PDF1, PDF2
  18. Generazione di numeri pseudo-casuali in C/C++ (Slides)Esempi svolti (ZIP)
  19. Puntatori e array in C/C++ (Slides) Esempi svolti (ZIP)
  20. Invocazione di funzioni, passaggio di array a funzioni (Slides), Esempi svolti (passaggio di array a funzioni) (ZIP), Homeworks (Slides)
  21. Allocazione dinamica di array e matrici (SlidesEsempi svolti (ZIP)
  22. C-string e oggetti string (SlidesEsempi svolti (ZIP)
  23. Introduzione alla programmazione ad oggetti. Uso di costruttori. e metodi (SlidesEsempi svolti (ZIP)
  24. Relazioni Part-of e array di oggetti. (SlidesEsempi svolti (ZIP)
  25. Implementazione di classi in C++ e metodi (SlidesEsempi svolti (ZIP)
  26. Reference in C++ (SlidesEsempi svolti (ZIP)
  27. Static, const, friend (SlidesEsempi svolti (ZIP)
  28. Namespace e overloading dei metodi (SlidesEsempi svolti (ZIP)
  29. Creazione, copia distruzione oggetti (SlidesEsempi svolti (ZIP)
  30. Overloading degli operatori (SlidesEsempi svolti (ZIP)
  31. Ereditarieta (SlidesEsempi svolti: (ZIP)
  32. Funzioni virtuali, polimorfismo, RTTI, ereditarietà multipla (Slides, Esempi svolti (ZIP)
  33. Funzioni e classi template (SlidesEsempi svolti: (ZIP)
  34. Ricerca, ordinamento e ricorsione (SlidesEsempi svolti: (ZIP)
  35. Strutture, enumerazioni, union, operatori bitwise (SlidesEsempi svolti: (ZIP)

Argomenti trattati a lezione (A.A. 20/21)

  1. Introduzione al corso (Slides)
  2. Algoritmi, diagrammi a blocchi, pseudo-codice (PARTE 1)(Slides)
  3. Algoritmi, diagrammi a blocchi, pseudo-codice (PARTE 2)(Slides)
  4. Introduzione agli array (PARTE 1)(Slides)
  5. Introduzione agli array (PARTE 2)(Slides)
  6. Paradigmi di programmazione, compilatori, traduttori (Slides)
  7. Breve introduzione al linguaggio C++ (Slides)
  8. Editor, compilatori, ambienti (Slides) (esempio)
  9. Homework PDF
  10. Variabili e tipi in C++ Parte 1 (Slides, Esempio)
  11. Variabili e tipi in C++ Parte 2 (Slides, Esempi)
  12. Stringhe e IO di base (Slides, Esempi)
  13. Costrutti condizionali Parte 1(Slides
  14. Costrutti condizionali Parte 2, hand tracing(Slides, Esempi)) 
  15. Costrutti di ciclo in C++ (Slides
  16. Homework PDF1, PDF2
  17. Gestione errori di Input/Output (SlidesEsempi svolti (ZIP)
  18. File IO (Slides) Esempi svolti (ZIP)
  19. Array in C/C++ (SlidesEsempi svolti (ZIP)
  20. Puntatori e array in C/C++ (Slides) Esempi svolti (ZIP)
  21. Generazione di numeri pseudo-casuali in C/C++ (Slides)Esempi svolti (ZIP)
  22. Invocazione di funzioni, passaggio di array a funzioni (Slides), Esempi svolti (passaggio di array a funzioni) (ZIP), Homeworks (Slides)
  23. Allocazione dinamica di array e matrici (SlidesEsempi svolti (ZIP)
  24. C-string e oggetti string (SlidesEsempi svolti (ZIP)
  25. Introduzione alla programmazione ad oggetti. Uso di costruttori. e metodi (SlidesEsempi svolti (ZIP)
  26. Relazioni Part-of e array di oggetti. (SlidesEsempi svolti (ZIP)
  27. Implementazione di classi in C++ e metodi (SlidesEsempi svolti (ZIP)
  28. Ricerca, ordinamento e ricorsione (SlidesEsempi svolti: (ZIP)
  29. Reference in C++ (SlidesEsempi svolti (ZIP)
  30. Static, const, friend (SlidesEsempi svolti (ZIP)
  31. Esercitazione in Classe (Testo) Codice (Codice)
  32. Namespace e overloading dei metodi (SlidesEsempi svolti (ZIP)
  33. Creazione, copia distruzione oggetti (SlidesEsempi svolti (ZIP)
  34. Homeworks (Testo)
  35. Overloading degli operatori (SlidesEsempi svolti (ZIP)
  36. Ereditarieta (SlidesEsempi svolti: (ZIP)
  37. Funzioni virtuali, polimorfismo, RTTI, ereditarietà multipla (Slides, Esempi svolti (ZIP)
  38. Funzioni e classi template (SlidesEsempi svolti: (ZIP)
  39. Strutture, enumerazioni, union, operatori bitwise (SlidesEsempi svolti: (ZIP)

Argomenti trattati a lezione (A.A. 19/20)

  1. Introduzione al corso (Slides)
  2. Algoritmi, diagrammi a blocchi, pseudo-codice (Slides)
  3. Introduzione agli array (Slides)
  4. Homework PDF
  5. Paradigmi di programmazione, compilatori, traduttori (Slides)
  6. Breve introduzione al linguaggio C++ (Slides)
  7. Editor, compilatori, ambienti (Slides) (esempio)
  8. Variabili e tipi in C++, Standard IEEE 754 (Slides1, Slides2, Slides3)
  9. Stringhe e IO di base (Slides
  10. Esempi svolti in C++ (Argomenti 7 e 8) (ZIP)
  11. Costrutti condizionali, hand tracing (SlidesEsempi svolti (ZIP)
  12. Costrutti di ciclo in C++ (Slides
  13. Homework PDF1, PDF2
  14. Gestione errori di Input/Output (SlidesEsempi svolti (ZIP)
  15. File IO (Slides) Esempi svolti (ZIP)
  16. Array in C/C++ (SlidesEsempi svolti (ZIP)
  17. Generazione di numeri pseudo-casuali in C/C++ (Slides)Esempi svolti (ZIP)
  18. Puntatori e array in C/C++ (Slides) Esempi svolti (ZIP)
  19. Invocazione di funzioni, passaggio di array a funzioni (Slides), Esempi svolti (passaggio di array a funzioni) (ZIP), Homeworks (Slides)
  20. Allocazione dinamica di array e matrici (SlidesEsempi svolti (ZIP)
  21. C-string e oggetti string (SlidesEsempi svolti (ZIP)
  22. Introduzione alla programmazione ad oggetti. Uso di costruttori. e metodi (SlidesEsempi svolti (ZIP)
  23. Relazioni Part-of e array di oggetti. (Slides
  24. Creazione, Copia e Distruzione di oggetti (SlidesEsempi svolti (ZIP)
  25. Implementazione di classi in C++ e metodi (SlidesEsempi svolti (ZIP)
  26. Reference in C++ (SlidesEsempi svolti (ZIP)
  27. Static, const, friend (SlidesEsempi svolti (ZIP)
  28. Namespace e overloading dei metodi (SlidesEsempi svolti (ZIP)
  29. Creazione, copia distruzione oggetti (SlidesEsempi svolti (ZIP)
  30. Overloading degli operatori (SlidesEsempi svolti (ZIP)
  31. Ereditarieta (SlidesEsempi svolti: (ZIP)
  32. Funzioni virtuali, polimorfismo, RTTI, ereditarietà multipla (Slides, Esempi svolti (ZIP)
  33. Funzioni e classi template (SlidesEsempi svolti: (ZIP)
  34. Ricerca, ordinamento e ricorsione (SlidesEsempi svolti: (ZIP)
  35. Strutture, enumerazioni, union, operatori bitwise (SlidesEsempi svolti: (ZIP)
  36. Tutti gli argomenti sono stati presentati!

Prove scritte ed esercizi di preparazione alle prove scritte

  1. Raccolta di esercizi di preparazione alle prove scritte (AA 2018/2019) PDF
  2. Prova scritta 6 Dicembre 2018 (prova in itinere) PDF
  3. Prova scritta 20 Dicembre 2017 (prova in itinere) PDF

Prove di laboratorio ed esercizi di preparazione alle prove di laboratorio