PROGRAMMAZIONE E LABORATORIO-1

Anno accademico
2023/2024 Programmi anni precedenti
Titolo corso in inglese
PROGRAMMING AND LABORATORY-1
Codice insegnamento
CT0442 (AF:493949 AR:273809)
Modalità
In presenza
Crediti formativi universitari
6 su 12 di PROGRAMMAZIONE E LABORATORIO
Partizione
Cognomi M-Z
Livello laurea
Laurea
Settore scientifico disciplinare
INF/01
Periodo
II Semestre
Anno corso
1
Sede
VENEZIA
Spazio Moodle
Link allo spazio del corso
Il corso si propone di introdurre gli elementi base della programmazione imperativa per formulare soluzioni algoritmiche a problemi di complessità limitata.

Lo studente acquisirà conoscenza e comprensione dei principi fondanti dell'informatica, relativamente a linguaggi imperativi e algoritmi di base.
Acquisirà altresì comprensione della risolubilità dei problemi informatici e capacità di selezionare metodi adeguati per analisi e modellazione di base.
Al termine del corso lo studente dovrà essere in grado di utilizzare un ambiente di programmazione di tipo professionale, di editare, debuggare, compilare ed eseguire programmi su piattaforma Unix-like e Windows. In particolare dovrà saper:
1. formalizzare un problema di limitata complessità (fornendone la specifica);
2. progettare una o più soluzioni ad esso (sviluppando algoritmi corrispondenti);
3. implementare tali soluzioni utilizzando linguaggi di programmazione di tipo imperativo;
4. verificare l'esecuzione dei programmi proposti con opportuni casi di test.
5. essere in grado di descrivere aspetti del linguaggio o algoritmi risolutivi usando un linguaggio appropriato ed organizzando logicamente il discorso.

Elementi di base di logica. Nozioni elementari della programmazione C (assegnamento, iterazioni, sottoprogrammi). Puntatori in C.
Variabili e tipi elementari del linguaggio C++.
Reference in C++.
Passaggio dei parametri per riferimento.
vector e string
Struct e classi
Puntatori C++
Operatori new e delete per l'allocazione e deallocazione della memoria dinamica.
Liste ed algoritmi sulle liste.
Ricorsione.
Liste, Code, Pile
Uso dei template nell'implementazione delle classi


D. S. Malik: C++ Programming Drom Problem Analysis to Program Design. 8th Ed.Cengage 2018
L'esame consiste in una prova al calcolatore seguita da una prova orale, nello svolgimento delle esercitazioni di laboratorio settimanali ed un progetto finale.

Descrizione della prova scritta e orale per gli studenti FULL TIME e PART TIME:
La prova scritta mira a valutare le capacità di problem solving dello studente, la conoscenza del linguaggio C++ e la capacità di codificare l’algoritmo risolutivo ideato nel linguaggio di programmazione.
Le prove scritte conterranno degli esercizi da svolgere.
La prova orale prevede una discussione degli scritti, la verifica delle capacità di problem solving e l'accertamento delle conoscenze teoriche e delle competenze espressive. Sarà unica e svolta quando lo scritto risulterà sufficiente. Se la prova orale risulta insufficiente, lo scritto andrà ripetuto.

Descrizione delle esercitazioni di laboratorio e progetto finale:
Le esercitazioni di laboratorio mirano a sviluppare le capacità di problem solving dello studente, la conoscenza del linguaggio C++ e la capacità di codificare l’algoritmo risolutivo ideato nel linguaggio di programmazione. Il progetto finale mira a valutare l'abilità nell'applicare le capacità acquisite alla soluzione di problemi maggiormente strutturati.

I requisiti per il superamento della parte laboratoriale dell'esame si distinguono a seconda della tipologia di studenti. Per gli studenti FULL-TIME è obbligatorio consegnare le esercitazioni di laboratorio che verranno assegnate durante il corso ed il progetto finale. La parte laboratoriale risulta sufficiente se almeno il 60% delle esercitazioni ed il progetto finale sono sufficienti. La valutazione del progetto concorre alla determinazione del punteggio finale del corso. Gli studenti PART-TIME possono scegliere se svolgere l'esame con le modalità degli studente full-time oppure se sostituire la parte laboratoriale con un orale. Lo svolgimento del progetto è richiesto anche agli studenti part-time.

In casi particolari comprovati per i quali lo studente non sia in grado di svolgere le esercitazioni con regolarità, nello specifico gli STUDENTI CON PROBLEMI DI SALUTE CERTIFICATI O CHE STIANO SVOLGENDO UN PERIODO FUORI SEDE, è possibile effettuare una prova alternativa per coprire parzialmente o integralmente le prove di laboratorio.

La valutazione dell'esame è formulata secondo quanto segue:
- valutazione del progetto 30%: l'accuratezza dello svolgimento della traccia indicherà la valutazione
- prova orale 40%: le competenze espressive, le conoscenze teoriche, la correttezza del linguaggio e le competenze di problem solving, raggiunte secondo diverse gradazioni, concorreranno a determinare la valutazione
- prova scritta 20%: la correttezza del codice nei vari esercizi va a determinare la valutazione finale
Lezioni frontali e laboratorio.
Il Modulo 1 del corso affronterà le tematiche da un punto di vista teorico, mentre il Modulo 2 da un punto di vista laboratoriale.
scritto e orale
Programma definitivo.
Data ultima modifica programma: 19/07/2023