## page was renamed from ProgrammaAdOggetti #acl EditorsGroup:read,write,delete,admin,revert JessicaZangari:read,write,delete,admin,revert CarmineDodaro:read,write,delete,admin,revert PierangelaBruno:read,write,delete,admin,revert GiovanniAmendola:read,write,delete,admin,revert All:read = Programmazione Ad Oggetti = Il nuovo sito del corso è disponibile a questo [[https://sites.google.com/unical.it/inf-programmazioneadoggetti | link]]. ## ## == Informazioni sul corso == ## Il corso di Programmazione Ad Oggetti è rivolto agli studenti del secondo anno del corso di laurea in Informatica. ## ## Obiettivo primario del corso è quello di fornire un'adeguata conoscenza dei concetti avanzati della programmazione orientata agli oggetti e dei tipi di dati astratti. ## Lo studente acquisirà, inoltre, la capacità di implementare nel Linguaggio C++ algoritmi e strutture dati che sfruttano tutte le potenzialità della programmazione ad oggetti e fanno uso dell'allocazione dinamica della memoria. ## ## Il corso prevede un'ampia attività di laboratorio dove lo studente familiarizzerà con ambienti di programmazione C++. ## ## Le informazioni riguardanti il corso degli anni precedenti sono disponibili a questo '''[[https://www.mat.unical.it/informatica/ProgrammazioneAdOggetti/VecchioCorso | link]]'''. ## ## '''Docenti:''' ## * Carmine Dodaro. ## * '''Orario di ricevimento:''' su appuntamento. ## * '''Contatti:''' Dipartimento di Matematica, Università della Calabria, 87036 Rende (CS) - Ufficio: cubo 31B, 2° piano (ponte coperto) - Telefono: +39 0984 496403. ## * mailto:carmine.dodaro@unical.it ## ## * Pierangela Bruno. ## * '''Orario di ricevimento:''' su appuntamento. ## * '''Contatti:''' Dipartimento di Matematica, Università della Calabria, 87036 Rende (CS) - Ufficio: cubo 30B, 2° piano (ponte coperto). ## * mailto:bruno@mat.unical.it ## ## == Avvisi == ## * Il canale Microsoft Teams del corso è raggiungibile usando il codice: 1oh3hbm oppure a questo [[https://teams.microsoft.com/l/team/19%3ae286826295c148c8987263e5d78b471d%40thread.tacv2/conversations?groupId=7323459b-77a8-4990-a397-c733898efa4b&tenantId=7519d0cd-2106-47d9-adcb-320023abff57 | link]]. ## * Istruzioni per lo svolgimento degli esami online disponibile: [[https://www.mat.unical.it/~dodaro/po/2020/ProgrammazioneAdOggetti.pdf | ProgrammazioneAdOggetti.pdf]]. ## ## == Materiale didattico == ## '''Slides - Esercizi - Laboratorio''' ## * Tutto il materiale del corso (slides, esercizi, laboratorio) è disponibile a questo [[https://drive.google.com/drive/folders/1oznVMHgLtQ3Ml9hTffKKntbGxZ0b1euc?usp=sharing | link]]. ## ## '''Libri di testo''' ## * Harvey M. Deitel, Paul J. Deiter, "Fondamenti di programmazione" - APOGEO ## * Harvey M. Deitel, Paul J. Deitel, "C++ How to program" - Pearson (tenth edition) ## ## '''Libri consigliati''' ## * Stanley B. Lippman, Josée Lajoie, "C++ corso di programmazione" - Terza edizione - Addison Wesley ## ## '''Documentazione online''' ## * [[http://www.cplusplus.com/reference/ | Standard C++ Library reference]] ## ## '''Strumenti di sviluppo''' ## * Complilatore g++ (http://gcc.gnu.org/) disponibile gratuitamente per tutti i principali sistemi operativi. ## * Editor di testo: si consiglia gedit, ma va bene un qualsiasi editor di testo (non word processor!). ## * Si consiglia l'installazione di una qualsiasi distribuzione di Linux, ad esempio [[http://www.ubuntu-it.org/|Ubuntu]], (anche in una macchina virtuale, ad esempio [[https://www.virtualbox.org/ | VirtualBox]]) perché queste spesso hanno installato di base il software di sviluppo sopra menzionato. ## ## '''Slides''' ## * [[https://www.mat.unical.it/~dodaro/po/2020/slides/RiepilogoPuntatori.pdf | RiepilogoPuntatori]] ## * [[https://www.mat.unical.it/~dodaro/po/2020/slides/Introduzione.pdf | Introduzione]] (Introduzione al corso) ## * [[https://www.mat.unical.it/~dodaro/po/2020/slides/Lezione1.pdf | Lezione 1]] (Introduzione alla programmazione ad oggetti) ## * [[https://www.mat.unical.it/~dodaro/po/2020/slides/Lezione4.pdf | Lezione 4]] (Templates) ## * [[https://www.mat.unical.it/~dodaro/po/2020/slides/Lezione9.pdf | Lezione 9]] (Ereditarietà) ## * [[https://www.mat.unical.it/~dodaro/po/2020/slides/Lezione10.pdf | Lezione 10]] (Ereditarietà e polimorfismo) ## ## '''Materiale lezioni''' ## * [[https://www.mat.unical.it/~dodaro/po/2020/esercizi/MaterialeLezione1.zip | MaterialeLezione1.zip]] ## * [[https://www.mat.unical.it/~dodaro/po/2020/esercizi/MaterialeLezione2.zip | MaterialeLezione2.zip]] ## * [[https://www.mat.unical.it/~dodaro/po/2020/esercizi/MaterialeLezione3.zip | MaterialeLezione3.zip]] ## * [[https://www.mat.unical.it/~dodaro/po/2020/esercizi/MaterialeLezione4.zip | MaterialeLezione4.zip]] ## * [[https://www.mat.unical.it/~dodaro/po/2020/esercizi/MaterialeLezioni5-6.zip | MaterialeLezioni5-6.zip]] ## * [[https://www.mat.unical.it/~dodaro/po/2020/esercizi/MaterialeLezione7.zip | MaterialeLezione7.zip]] ## * [[https://www.mat.unical.it/~dodaro/po/2020/esercizi/MaterialeLezione8.zip | MaterialeLezione8.zip]] ## * [[https://www.mat.unical.it/~dodaro/po/2020/esercizi/MaterialeLezione9.zip | MaterialeLezione9.zip]] ## * [[https://www.mat.unical.it/~dodaro/po/2020/esercizi/MaterialeLezione10.zip | MaterialeLezione10.zip]] ## * [[https://www.mat.unical.it/~dodaro/po/2020/esercizi/MaterialeLezione11.zip | MaterialeLezione11.zip]] ## * [[https://www.mat.unical.it/~dodaro/po/2020/esercizi/TestIngresso.pdf |TestIngresso.pdf]] ## ## '''Laboratorio''' ## * [[https://www.mat.unical.it/~dodaro/po/2020/laboratorio/Laboratorio2019-10-04.pdf|Laboratorio-2019-10-04]] - [[https://www.mat.unical.it/~dodaro/po/2020/laboratorio/Soluzione-Laboratorio-2019-10-04.zip|Soluzione-Laboratorio-2019-10-04]] ## * [[https://www.mat.unical.it/~dodaro/po/2020/laboratorio/Laboratorio2019-10-11.pdf|Laboratorio-2019-10-11]] - [[https://www.mat.unical.it/~dodaro/po/2020/laboratorio/Soluzione-Laboratorio-2019-10-11.zip|Soluzione-Laboratorio-2019-10-11]] ## * [[https://www.mat.unical.it/~dodaro/po/2020/laboratorio/Laboratorio2019-11-08.zip|Laboratorio-2019-11-08]] - [[https://www.mat.unical.it/~dodaro/po/2020/laboratorio/Soluzione-Laboratorio-2019-11-08.zip|Soluzione-Laboratorio-2019-11-08]] ## * [[https://www.mat.unical.it/~dodaro/po/2020/laboratorio/Laboratorio2019-11-15.pdf|Laboratorio-2019-11-15]] - [[https://www.mat.unical.it/~dodaro/po/2020/laboratorio/Soluzione-Laboratorio-2019-11-15.zip|Soluzione-Laboratorio-2019-11-15]] ## * [[https://www.mat.unical.it/~dodaro/po/2020/laboratorio/Laboratorio2019-11-22.pdf|Laboratorio-2019-11-22]] - [[https://www.mat.unical.it/~dodaro/po/2020/laboratorio/Soluzione-Laboratorio-2019-11-22.zip|Soluzione-Laboratorio-2019-11-22]] ## * [[https://www.mat.unical.it/~dodaro/po/2020/laboratorio/Laboratorio2019-11-29.zip|Laboratorio-2019-11-29]] - [[https://www.mat.unical.it/~dodaro/po/2020/laboratorio/Soluzione-Laboratorio-2019-11-29.zip|Soluzione-Laboratorio-2019-11-29]] ## * [[https://www.mat.unical.it/~dodaro/po/2020/laboratorio/Laboratorio2019-12-06.zip|Laboratorio-2019-12-06]] - [[https://www.mat.unical.it/~dodaro/po/2020/laboratorio/Soluzione-Laboratorio-2019-12-06.zip|Soluzione-Laboratorio-2019-12-06]] ## * [[https://www.mat.unical.it/~dodaro/po/2020/laboratorio/Laboratorio2019-12-11.zip|Laboratorio-2019-12-11]] - [[https://www.mat.unical.it/~dodaro/po/2020/laboratorio/Soluzione-Laboratorio-2019-12-11.zip|Soluzione-Laboratorio-2019-12-11]] ## * [[https://www.mat.unical.it/~dodaro/po/2020/laboratorio/Laboratorio2019-12-18.zip|Laboratorio-2019-12-18]] - [[https://www.mat.unical.it/~dodaro/po/2020/laboratorio/Soluzione-Laboratorio-2019-12-18.zip|Soluzione-Laboratorio-2019-12-18]] ## * [[https://www.mat.unical.it/~dodaro/po/2020/laboratorio/AnalizzatoreCerchi.zip|Simulazione prova di laboratorio 2019-12-13 (AnalizzatoreCerchi)]] ## * [[https://www.mat.unical.it/~dodaro/po/2020/laboratorio/ArchivioMusicale.zip|Simulazione prova di laboratorio 2019-12-20 (ArchivioMusicale)]] ## * [[https://www.mat.unical.it/~dodaro/po/2020/laboratorio/MaterialeAutovalutazioneLaboratorio.zip|Materiale di autovalutazione prova laboratorio]] ## ## '''Simulazione prova scritta''' ## * [[https://www.mat.unical.it/~dodaro/po/2020/Simulazione.pdf|Simulazione prova scritta]] - [[https://www.mat.unical.it/~dodaro/po/2020/SoluzioneSimulazione.txt|Soluzione simulazione prova scritta]] ## ## == Informazioni pratiche sull'esame == ## '''N.B.: Per sostenere l'esame è necessario aver superato l'esame di Fondamenti di Informatica.''' ## ## L'esame consiste in: ## '''Progetto:''' ## * È una valutazione delle competenze pratiche acquisite dallo studente sugli argomenti del corso. ## * Il superamento determina l'ammissione alla prova orale. ## * Il voto è espresso in trentesimi. ## * Concorre alla determinazione del voto finale. ## ## '''Orale:''' ## * È una discussione sul progetto e sugli argomenti trattati durante il corso. ## * Il voto è espresso in trentesimi. ## * Concorre alla determinazione del voto finale. ## ## Chi ha seguito il corso negli anni precedenti può optare, previa comunicazione, per la modalità precedente: ## '''Prova laboratorio:''' ## * È una valutazione delle competenze pratiche acquisite dallo studente sugli argomenti del corso. ## * Il superamento determina l'ammissione alla prova scritta. ## * Il voto è espresso in trentesimi. ## * Concorre alla determinazione del voto finale. ## ## '''Prova scritta:''' ## * Richiede di rispondere ad alcune domande e di realizzare alcuni esercizi sugli argomenti del corso. ## * Il superamento determina l'ammissione alla prova orale. ## * Il voto è espresso in trentesimi. ## * Concorre alla determinazione del voto finale. ## ## '''Orale (facoltativo per l'esame da 6 crediti e obbligatorio per gli altri):''' ## * È una discussione sugli argomenti trattati durante il corso. ## * Il voto è espresso in trentesimi. ## * Concorre alla determinazione del voto finale. ## ## == Informazioni sul progetto == ## Per la realizzazione del progetto si potrà lavorare singolarmente o in gruppo di due persone. Il progetto sarà assegnato nella seconda metà del mese di novembre. ## ## Per il calcolo del voto assegnato al progetto saranno considerati i seguenti criteri: ## * corretta implementazione di tutte le funzionalità richieste ## * qualità, pulizia e flessibilità del codice ## * utilizzo appropriato delle strutture dati viste a lezione ## * utilizzo appropriato dei costrutti principali della programmazione ad oggetti (incapsulamento, composizione, ereditarietà, polimorfismo) ## * apporto individuale al progetto (nel caso di gruppi composti da più studenti) ## === Appelli precedenti === ==== Appelli A.A. 2018/2019 ==== * Traccia 16/09/2019 scritto: ([[attachment:traccia16Settembre2019.pdf||&do=get]]) - laboratorio: ([[attachment:tracciaLab16Settembre2019.zip||&do=get]]) * Traccia 08/11/2018 scritto: ([[attachment:traccia8Novembre2018.pdf||&do=get]]) - laboratorio: ([[attachment:tracciaLab8Novembre2018.zip||&do=get]]) ==== Appelli A.A. 2017/2018 ==== * Traccia 05/02/2018 scritto: ([[attachment:traccia5Febbraio2018.pdf||&do=get]]) - laboratorio: ([[attachment:tracciaLab5Febbraio2018.zip||&do=get]]) * Traccia Luglio 2018 laboratorio: ([[attachment:tracciaLabLuglio2018.zip||&do=get]]) ==== Appelli A.A. 2016/2017 ==== * Traccia 19/09/2017 - laboratorio: ([[attachment:tracciaLab19Settembre2017.zip||&do=get]]) * Traccia 29/06/2017 scritto: ([[attachment:traccia29Giugno2017.pdf||&do=get]]) - laboratorio: ([[attachment:tracciaLab29Giugno2017.zip||&do=get]]) * Traccia 22/03/2017 - laboratorio: ([[attachment:tracciaLab22Marzo2017.zip||&do=get]]) ([[attachment:SoluzioneLab22Marzo2017.zip||&do=get]]) * Traccia 27/02/2017 - laboratorio: ([[attachment:tracciaLab27Febbraio2017.zip||&do=get]]) * Traccia 07/02/2017 scritto: ([[attachment:traccia07Febbraio2017.pdf||&do=get]]) - laboratorio: ([[attachment:tracciaLab07Febbraio2017.zip||&do=get]]) ==== Appelli A.A. 2015/2016 ==== * Traccia 22/11/2016 scritto: ([[attachment:traccia22Novembre2016.pdf||&do=get]]) - laboratorio: ([[attachment:tracciaLab22Novembre2016.zip||&do=get]]) * Traccia 22/09/2016 scritto: ([[attachment:traccia22Settembre2016.pdf||&do=get]]) - laboratorio: ([[attachment:tracciaLab22Settembre2016.zip||&do=get]]) * Traccia 29/07/2016 scritto: ([[attachment:traccia29Luglio2016.pdf||&do=get]]) - laboratorio: ([[attachment:tracciaLab29Luglio2016.zip||&do=get]]) * Traccia 05/07/2016 scritto: ([[attachment:traccia05Luglio2016.pdf||&do=get]]) - laboratorio: ([[attachment:tracciaLab05Luglio2016.zip||&do=get]]) * Traccia 25/02/2016 scritto: ([[attachment:traccia25Febbraio2016.pdf||&do=get]]) - laboratorio: ([[attachment:tracciaLab25Febbraio2016.zip||&do=get]]) * Traccia 09/02/2016 scritto: ([[attachment:traccia09Febbraio2016.pdf||&do=get]]) - laboratorio: ([[attachment:tracciaLab09Febbraio2016.zip||&do=get]]) ==== Appelli A.A. 2013/2014 ==== * Traccia 30/06/2014 scritto: ([[attachment:traccia30Giugno2014.pdf||&do=get]]) ## ## ## == FAQ == ## '''D:''' È possibile congelare l'esito della prova di laboratorio senza sostenere nello stesso appello la prova scritta? ## '''R:''' No, la prova di laboratorio e la prova scritta devono essere sostenute nello stesso appello. Se si supera la prova di laboratorio, ma non si vuole sostenere la prova scritta, l'esito della prova di laboratorio verrà annullato e si dovrà sostenere una nuova prova di laboratorio. ## '''D:''' È possibile sostenere la prova scritta senza aver superato o sostenuto la prova di laboratorio? ## '''R:''' No, per accedere alla prova scritta è necessario superare la prova di laboratorio. ## '''D:''' È possibile sostenere l'esame se non si è superato l'esame di Fondamenti di Informatica? ## '''R:''' No, per accedere all'esame di Programmazione ad Oggetti occorre aver superato l'esame di Fondamenti di Informatica.