Dato un problema, lo studente deve essere in grado di progettare le strutture dati e l'algoritmo capace di risolverlo. Qualora per le soluzione del problema sia opportuno creare un nuovo tipo di dato astratto, lo studente deve essere in grado di progettare in maniera accurata e corretta la relativa classe, utilizzando il linguaggio di Programmazione C++.
Given a problem, the student must be able to design the data structures and the algorithm capable of solving it. If for the solution of the problem it is appropriate to create a new abstract data type, the student must be able to accurately and correctly design the relative class, using the C++ programming language.
Prova scritta a risposte chiuse, prova pratica al calcolatore e prova orale.
Written test with closed answers, computer test and oral test.
Capacità di individuare la struttura dati più idonea a risolvere un dato problema.
Capacità implementativa, ossia di implementare in linguaggio C++ la classe che risolve il problema assegnato.
Ability to identify the most suitable data structure to solve a given problem.
Implementation ability, that is to implement in C++ language the class that solves the assigned problem.
Lo studente dovrà dimostrare di aver acquisito i concetti base della programmazione
strutturata e della programmazione mediante tipi di dato astratti.
The student must demonstrate to have acquired the basic concepts of structured programming and programming using abstract data types.
N/A
N/D
N/A
N/D
Non richiesti.
Not required.
Si consiglia caldamente di partecipare alle lezioni ed ai laboratori. È fondamentale inoltre aver la possibilità di esercitarsi al calcolatore a casa, cimentandosi con la soluzione delle tracce d'esame degli anni precedenti.
It is highly recommended to participate in lessons and workshops. It is also essential to have the opportunity to practice the computer at home, trying to solve the exam tests from previous years.
Concetti di base della programmazione. Rappresentazione dell'informazione.
Programmare in C. Concetti di base della programmazione a oggetti.
Programmare in C++. Progettare ed implementare tipi di dato astratti.
Basic concepts of programming. Information representation.
Programming in C. Basic concepts of object-oriented programming.
Programming in C++. Design and implement abstract data types.
1) Andrea Domenici, Graziano Frosini, "Introduzione alla Programmazione ed Elementi di Strutture Dati con il Linguaggio C++",
Milano: Franco Angeli (va bene dalla quinta edizione in poi)
2) Paolo Corsini e Graziano Frosini, "Note sull’organizzazione di un calcolatore e Rappresentazione dell’informazione", Edizioni ETS, Pisa, 2011
3) Slide del corso, in formato PDF, pubblicate sul sito del corso
1) Andrea Domenici, Graziano Frosini, "Introduzione alla Programmazione ed Elementi di Strutture Dati con il Linguaggio C++", Milano: Franco Angeli (okay from the fifth edition onwards)
2) Paolo Corsini, Graziano Frosini, "Note sull’organizzazione di un calcolatore e Rappresentazione dell’informazione", Edizioni ETS, Pisa, 2011
3) Course slides, in PDF format, published on the course site.
Studiare in maniera approfondita i testi di riferimento ed il materiale pubblicato sulla pagina web del corso (in particolare il materiale svolto in laboratorio).
Study in depth the reference texts and the material published on the web page of the course (in particular the material done in the laboratory).
_____________________________________________________________________________
VECCHIA MODALITA’, utilizzata prima dell’emergenza SARS-CoV-2 e che verra' ripristinata ad emergenza finita __________________________________________________________________________ Per partecipare all'esame, occorre iscriversi online alla prova pratica, secondo le consuete modalità. Una volta iscritti, ci si presenta il giorno della prova pratica, e la prova inizia con: 1) Una prova scritta composta da 6 domande a risposta chiusa (Quiz). 2) Una prova pratica al calcolatore, per i soli che hanno risposto correttamente ad almeno 4 domande su 6 del Quiz. Entro la mezzanotte del giorno successivo allo svolgimento della
prova pratica, gli studenti dovranno effettuare l'autocorrezione del loro elaborato. 3) Una orale, che si svolge generalmente una settimana dopo la prova
pratica, usufruibile solo a chi ha superato il Quiz e la prova pratica. __________________________________________________________________________ _____________________________________________________________________________ NUOVA MODALITA', valida per la fase 2 dell'emergenza SARS-CoV-2 _____________________________________________________________________________ Per partecipare all'esame, occorre iscriversi online alla prova pratica, secondo le consuete modalità. Una volta effettuata l'iscrizione ENTRO 4 GIORNI dalla data dell'esame pratico, il giorno del pratico occorrerà collegarsi alla piattaforma Microsoft Teams. Dopodiché l'esame ha inizio, con la seguente modalità: [ ESAME PRATICO ] 1) la prova scritta a risposta chiusa (Quiz) NON CI SARA'. Pertanto tutti
sono ammessi alla prova pratica, secondo le modalità descritte al
prossimo punto. 2) prova pratica da svolgere ciascuno al proprio calcolatore di casa
(PC/computer portatile/tablet). La prova pratica segue le stesse modalità degli anni scorsi, anche nella
sua suddivisione in prima e seconda parte. L'unica cosa che cambierà è il fatto che prima verrà reso noto il testo
della prima parte, e dopo un'ora verrà chiesto di consegnare intanto la
soluzione della prima parte. Gli studenti dovranno pertanto inviare i file compito.h e compito.cpp ad un server web, attivo ad un
indirizzo web che verrà comunicato durante la sessione d'esame. Successivamente i docenti renderanno noto il testo della seconda parte
(ossia forniranno la traccia completa) e gli studenti dovranno, sempre
dopo un'ora dall'inizio dello svolgimento della seconda parte, inviare la nuova versione dei file compito.h e compito.cpp al solito
server di cui sopra. Entro la mezzanotte del giorno successivo allo svolgimento della prova
pratica, gli studenti dovranno effettuare l'autocorrezione del
loro elaborato. Solo gli elaborati che verranno autocorretti verranno valutati. Con l'autocorrezione lo studente conferma la consegna dell'elaborato,
pertanto la consegna diventa ufficiale e verra' conteggiata tra le
quattro possibili nell'anno solare 2020. Qualora la prima parte non dovesse compilare, lo studente non
viene ammesso all'orale. Lo studente non verrà ammesso all'orale neanche nel caso in cui la
valutazione fosse inferiore al punteggio di 18 trentesimi. [ ESAME ORALE ] Coloro che avranno superato la prova pratica potranno presentarsi
all'orale telematico nella data prestabilita, purché si iscrivano
all'esame orale entro la mezzanotte della sera precedente. Il giorno della prova orale occorre dotarsi di un PENNARELLO NERO SPESSO
e di FOGLI BIANCHI, per poter scrivere in maniera cose che risultino
leggibili una volta che il foglio venga inquadrato dal proprio smartphone.
Si consiglia agli studenti di dotarsi di un supporto che sorregga lo smartphone, in modo tale che il video con l'inquadratura del foglio non
risulti "mosso". SI RINGRAZIANO TUTTI GLI STUDENTI PER GENTILE COLLABORAZIONE E CI SCUSIAMO
PER IL DISAGIO CAUSATO DA QUESTA NUOVA, TEMPORANEA, MODALITA' D'ESAME. _____________________________________________________________________________
Written test with closed answers, computer test and oral test.