INTRODUCTION TO COMPUTER PROGRAMMING
- Anno accademico
- 2025/2026 Programmi anni precedenti
- Titolo corso in inglese
- INTRODUCTION TO COMPUTER PROGRAMMING
- Codice insegnamento
- CT0665 (AF:573141 AR:323173)
- Lingua di insegnamento
- Inglese
- Modalità
- In presenza
- Crediti formativi universitari
- 6
- Livello laurea
- Laurea
- Settore scientifico disciplinare
- INF/01
- Periodo
- I 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, 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
Il laureato o la laureata:
- 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.
Prerequisiti
Contenuti
- 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
Testi di riferimento
Modalità di verifica dell'apprendimento
Il voto della prova scritta costituisce il 70% del voto final, mentre il voto del progetto ne costituisce il 30%.
Descrizione delle esercitazioni:
Le esercitazioni 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.
Le esercitazioni verranno assegnate periodicamente durante lo svolgimento del corso e dovranno essere consegnate con cadenza tri-settimanale. In alternativa gli studenti possono chiedere di sostenere una prova scritta aggiuntiva. Quest'ultima soluzione è consigliata per gli studenti part-time.
Descrizione della prova scritta:
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. Questa parte dell’esame può essere superata in un modo: con una singola prova scritta nelle date previste degli appelli. Gli studenti che hanno superato con successo almeno il 60% delle esercitazioni, possono non rispondere ad alcune domande di esame durante la prova scritta.
Progetto finale:
Il progetto finale mira a valutare l'abilità nell'applicare le capacità acquisite alla soluzione di problemi maggiormente strutturati.
La valutazione del progetto prevede una discussione orale e concorre alla determinazione del punteggio finale del corso.
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 esercitazioni.
Nota importante: È possibile sostenere la prova scritta e la discussione del progetto in appelli diversi. Prove scritte, progetto, ed esercitazioni, 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.
Modalità di esame
Graduazione dei voti
- 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.
Metodi didattici
L'alternanza di lezioni teoriche ed esercitazioni pratiche permette agli studenti di mettere in pratica le conoscenze acquisite e di auto-valutarsi.