INTRODUCTION TO COMPUTER PROGRAMMING

Anno accademico
2026/2027 Programmi anni precedenti
Titolo corso in inglese
INTRODUCTION TO COMPUTER PROGRAMMING
Codice insegnamento
CT0665 (AF:723403 AR:427891)
Lingua di insegnamento
Inglese
Modalità
In presenza
Crediti formativi universitari
6
Livello laurea
Laurea
Settore scientifico disciplinare
INFO-01/A
Periodo
I Semestre
Anno corso
1
Sede
VENEZIA
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.
Conoscenza e comprensione

Lo studente acquisisce:

- principi fondazionali dell'informatica: algoritmo, linguaggi e loro classificazione, sistema dei tipi, strutture di controllo, costrutti di iterazione, funzioni;
- 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

Lo studente:
- sa usare gli strumenti fondamentali per lo sviluppo e l’adozione di semplici algoritmi;
- 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.
Non è richiesto alcun prerequisito.
- Introduzione al linguaggio di programmazione C
- Variabili e tipi fondamentali
- Flusso del controllo
- Funzioni
- Array, puntatori e stringhe
- Computazione Iterativa e Computazione Ricorsiva
- Memoria Dinamica
- Abstract Data Types
- Strategie di problem solving
Paul J. Deitel, Harvey M. Deitel. Il linguaggio C. Fondamenti e tecniche di programmazione. 8/Ed. Pearson. 2016.
L'esame consiste in una prova scritta ed un progetto finale. Per superare l'esame, lo studente dovrà ottenere un voto sufficiente allo scritto e al progetto.
Il voto della prova scritta costituisce il 70% del voto finale mentre il voto del progetto ne costituisce il 30%.

È possibile sostenere la prova scritta e la discussione del progetto in appelli diversi. Prove scritte e progetto sono valide per un anno accademico. Se il voto non viene verbalizzato durante l'anno accademico in corso (solo lo scritto o solo il progetto sono stati sostenuti), allora eventuali voti parziali vengono persi.
scritto e orale

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.

Il voto finale è così calcolato.

- 70% del voto dello scritto: si valuterà la correttezza della soluzione proposta, piuttosto che la sintassi, prestando particolare attenzione all'uso della memoria e alla ricorsione.
Voto da 18 a 22: risoluzione corretta di esercizi con cicli, array statici/dinamici, e puntatori.
Voto da 23 a 26: risoluzione corretta di esercizi con cicli, array statici/dinamici, puntatori, liste concatenate, e stringhe.
Voto da 27 a 30: risoluzione corretta di esercizi con cicli, array statici/dinamici, puntatori, liste concatenate, stringhe, e ricorsione su array/liste.
La lode verrà attribuita alle prove scritte completamente corrette (voto massimo: 30) e particolarmente eleganti.

- 30% del voto del progetto: durante la discussione, verranno accertate le competenze tecniche degli studenti con domande riguardo il codice prodotto, per accertarsi che essi abbiano svolto il progetto in autonomia.
Lezioni frontali ed esercitazioni.
L'alternanza di lezioni teoriche ed esercitazioni pratiche permette agli studenti di mettere in pratica le conoscenze acquisite e di auto-valutarsi.
Programma definitivo.
Data ultima modifica programma: 16/03/2026