COMPUTER PROGRAMMING AND LABORATORY-1
- Anno accademico
- 2025/2026 Programmi anni precedenti
- Titolo corso in inglese
- COMPUTER PROGRAMMING AND LABORATORY-1
- Codice insegnamento
- CT0664 (AF:573123 AR:323185)
- Lingua di insegnamento
- Inglese
- Modalità
- In presenza
- Crediti formativi universitari
- 6 su 12 di COMPUTER PROGRAMMING AND LABORATORY
- 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
- principi fondazionali dell'informatica: algoritmo, linguaggi e loro classificazione, sistema dei tipi, strutture di controllo
Capacità di applicare conoscenza e comprensione
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.
Capacità di apprendimento
1. Lo studente deve essere in grado di consultare documentazione tecnica relativamente alle librerie utilizzate.
Prerequisiti
Contenuti
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
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 al calcolatore in classe.
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 in corrispondenza dell'appello con lo scritto sufficiente. Se la prova orale risulta insufficiente o lo studente non si presenta, lo scritto andrà ripetuto.
Il primo appello della prova scritta può essere sostituito (in modo facoltativo) da quattro test intermedi di programmazione svolti in modo individuale in classe durante le ore di esercitazione. I test si considerano superati se lo studente ha superato almeno il 60% degli esercizi contenuti in essi. Questi test (se passati) rimpiazzano esclusivamente il primo appello della prova scritta; la prova orale rimane obbligatoria per tutti.
Descrizione del progetto: il progetto mira a verificare l'abilità dello studente di applicare le conoscenze acquisite nell'ambito di un problema complesso.
Lo svolgimento del progetto è richiesto anche agli studenti part-time.
Modalità di esame
Il/la docente ha il dovere di vigilare affinché siano rispettate le regole di autenticità e originalità delle prove d'esame. Di conseguenza, nei casi in cui vi sia il sospetto di un comportamento irregolare, l'esame può prevedere un ulteriore approfondimento, contestuale alla prova d'esame, che potrà essere realizzato anche in modalità differente rispetto alle modalità sopra riportate.
Graduazione dei voti
- 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