PROGRAMMAZIONE E LABORATORIO-2
- Anno accademico
- 2024/2025 Programmi anni precedenti
- Titolo corso in inglese
- PROGRAMMING AND LABORATORY-2
- Codice insegnamento
- CT0442 (AF:520938 AR:292104)
- Modalità
- In presenza
- Crediti formativi universitari
- 6 su 12 di PROGRAMMAZIONE E LABORATORIO
- Livello laurea
- Laurea
- Settore scientifico disciplinare
- INF/01
- Periodo
- II Semestre
- Anno corso
- 1
- Sede
- VENEZIA
- Spazio Moodle
- Link allo spazio del corso
Inquadramento dell'insegnamento nel percorso del corso di studio
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.
Risultati di apprendimento attesi
Il laureato o la laureata acquisisce:
- principi fondazionali dell'informatica: algoritmo, linguaggi e loro classificazione, sistema dei tipi, strutture di controllo, templates C++, containers C++;
- comprensione della fattibilità e complessità dei problemi informatici e capacità di selezionare metodi adeguati all’analisi e la modellazione;
Capacità di applicare conoscenza e comprensione
Il laureato o la laureata:
- sa usare gli strumenti fondamentali per lo sviluppo e l’adozione di semplici algoritmi e strutture dati (implementate come container C++);
- sviluppa analisi di fattibilità e complessità dei problemi informatici e sa selezionare metodi adeguati all’analisi e alla modellazione;
- sa sviluppare il software, sa eseguire debugging e sa progettare test per la verifica di correttezza del software;
- sa programmare seguendo i principi della programmazione imperativa in C++ e seguendo progetti espressi tramite formalismi definiti per la loro descrizione e progettazione.
Capacità di apprendimento
- Lo studente/studentessa deve essere in grado di consultare documentazione tecnica relativamente alle librerie utilizzate.
Prerequisiti
Contenuti
Puntatori e Reference in C++.
Operatori new e delete per l'allocazione e deallocazione della memoria dinamica.
Passaggio dei parametri per riferimento.
Array in C e in C++.
Stringhe in C e in C++.
Ricorsione.
Liste ed algoritmi sulle liste.
Astrazione dei tipi di dato con l'introduzione delle classi
Code, Pile
templates
Iteratori
Move/copy semantics
Testi di riferimento
Modalità di verifica dell'apprendimento
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 30%: la correttezza del codice nei vari esercizi va a determinare la valutazione finale