Programmazione ii
A.A. 2025/2026
Obiettivi formativi
L'insegnamento si propone di introdurre gli studenti alla programmazione orientata agli oggetti.
Risultati apprendimento attesi
Al termine dell'insegnamento, lo studente sarà in grado di illustrare i concetti e le tecniche fondamentali della programmazione orientata agli oggetti (astrazione, incapsulamento, ereditarietà, polimorfismo) e, applicando tali concetti e tecniche, progettare ed implementare un programma in C++ al fine di favorire manutenibilità, riuso ed estendibilità del codice, indipendentemente dal dominio applicativo.
Periodo: Secondo semestre
Modalità di valutazione: Esame
Giudizio di valutazione: voto verbalizzato in trentesimi
Corso singolo
Questo insegnamento non può essere seguito come corso singolo. Puoi trovare gli insegnamenti disponibili consultando il catalogo corsi singoli.
Programma e organizzazione didattica
Edizione unica
Responsabile
Periodo
Secondo semestre
Programma
L'insegnamento prevede la trattazione dei concetti e delle tecniche fondamentali della programmazione orientata agli oggetti (astrazione, incapsulamento, ereditarietà, polimorfismo) attraverso l'utilizzo del linguaggio C++. In particolare, i principali argomenti trattati sono i seguenti.
*) Introduzione a C++
- Tipi base e variabili
- string/vector
- Espressioni ed istruzioni
- Funzioni
*) Programmazione orientata agli oggetti in C++
- Classi
- Copia, assegnamento, e distruzione di oggetti di una classe
- Classi base, classi derivate e funzioni virtual
- Classi base astratte
- Controllo degli accessi ai membri di una classe ed ereditarietà
- scope di classe ed ereditarietà
- Costruzione, copia, assegnamento, e distruzione di oggetti di una classe ed ereditarietà
- Gestione delle eccezioni
*) Introduzione a C++
- Tipi base e variabili
- string/vector
- Espressioni ed istruzioni
- Funzioni
*) Programmazione orientata agli oggetti in C++
- Classi
- Copia, assegnamento, e distruzione di oggetti di una classe
- Classi base, classi derivate e funzioni virtual
- Classi base astratte
- Controllo degli accessi ai membri di una classe ed ereditarietà
- scope di classe ed ereditarietà
- Costruzione, copia, assegnamento, e distruzione di oggetti di una classe ed ereditarietà
- Gestione delle eccezioni
Prerequisiti
Il superamento dell'esame di 'Programmazione' ('Programmazione I') è propedeutico a questo insegnamento.
Metodi didattici
L'intero insegnamento viene svolto mediante lezioni frontali.
Materiale di riferimento
Libro di riferimento:
C++ Primer
di Stanley B. Lippman, Josee Lajoie, Barbara E. Moo
ASIN: 0321714113
Editore: Addison-Wesley Professional; 5° edizione
Lingua: Inglese
ISBN-10: 9780321714114
ISBN-13: 978-0321714114
Ulteriore materiale integrativo preparato dal docente viene reso disponibile sul sito web myAriel dell'insegnamento.
C++ Primer
di Stanley B. Lippman, Josee Lajoie, Barbara E. Moo
ASIN: 0321714113
Editore: Addison-Wesley Professional; 5° edizione
Lingua: Inglese
ISBN-10: 9780321714114
ISBN-13: 978-0321714114
Ulteriore materiale integrativo preparato dal docente viene reso disponibile sul sito web myAriel dell'insegnamento.
Modalità di verifica dell’apprendimento e criteri di valutazione
L'esame consiste di due prove.
La prima prova è una prova scritta. La prova consiste di domande a risposta chiusa/aperta e di consegne relative al completamento/sviluppo di codice in C++ per la risoluzione di semplici esercizi di programmazione. La prova ha l'obiettivo di valutare ad ampio spettro le conoscenze acquisite dal/dalla candidato/a, sia rispetto ai concetti e alle tecniche della programmazione orientata agli oggetti, sia rispetto al linguaggio di programmazione C++.
La seconda prova consiste nella progettazione e implementazione di un programma in C++, in base a delle specifiche prestabilite, ed in un colloquio orale in cui il/la candidato/a discuterà del programma progettato ed implementato. La prova ha l'obiettivo di valutare la capacità del/della candidato/a di applicare le conoscenze acquisite nella progettazione e sviluppo di un programma in C++.
La seconda prova può essere sostenuta solo dopo il superamento della prima.
La valutazione finale è espressa in trentesimi ed è calcolata come media pesata tra le valutazioni ottenute nelle due prove.
La valutazione tiene conto dei seguenti parametri: grado di conoscenza degli argomenti, capacità di applicare le conoscenze acquisite, capacità di ragionamento logico e critico.
La prima prova è una prova scritta. La prova consiste di domande a risposta chiusa/aperta e di consegne relative al completamento/sviluppo di codice in C++ per la risoluzione di semplici esercizi di programmazione. La prova ha l'obiettivo di valutare ad ampio spettro le conoscenze acquisite dal/dalla candidato/a, sia rispetto ai concetti e alle tecniche della programmazione orientata agli oggetti, sia rispetto al linguaggio di programmazione C++.
La seconda prova consiste nella progettazione e implementazione di un programma in C++, in base a delle specifiche prestabilite, ed in un colloquio orale in cui il/la candidato/a discuterà del programma progettato ed implementato. La prova ha l'obiettivo di valutare la capacità del/della candidato/a di applicare le conoscenze acquisite nella progettazione e sviluppo di un programma in C++.
La seconda prova può essere sostenuta solo dopo il superamento della prima.
La valutazione finale è espressa in trentesimi ed è calcolata come media pesata tra le valutazioni ottenute nelle due prove.
La valutazione tiene conto dei seguenti parametri: grado di conoscenza degli argomenti, capacità di applicare le conoscenze acquisite, capacità di ragionamento logico e critico.
Docente/i
Ricevimento:
Giovedì, 11:00-13:00 e 14:00-15:00 - Su appuntamento (da concordare via email)
Stanza 3021 - Via Celoria, 18