Studiare
In questa sezione è possibile reperire le informazioni riguardanti l'organizzazione pratica del corso, lo svolgimento delle attività didattiche, le opportunità formative e i contatti utili durante tutto il percorso di studi, fino al conseguimento del titolo finale.
Piano Didattico
Queste informazioni sono destinate esclusivamente agli studenti e alle studentesse già iscritti a questo corso.Se sei un nuovo studente interessato all'immatricolazione, trovi le informazioni sul percorso di studi alla pagina del corso:
Laurea in Informatica - Immatricolazione dal 2025/2026Il piano didattico è l'elenco degli insegnamenti e delle altre attività formative che devono essere sostenute nel corso della propria carriera universitaria.
Selezionare il piano didattico in base all'anno accademico di iscrizione.
1° Anno
Insegnamenti | Crediti | TAF | SSD |
---|
2° Anno Attivato nell'A.A. 2017/2018
Insegnamenti | Crediti | TAF | SSD |
---|
3° Anno Attivato nell'A.A. 2018/2019
Insegnamenti | Crediti | TAF | SSD |
---|
Insegnamenti | Crediti | TAF | SSD |
---|
Insegnamenti | Crediti | TAF | SSD |
---|
Insegnamenti | Crediti | TAF | SSD |
---|
Legenda | Tipo Attività Formativa (TAF)
TAF (Tipologia Attività Formativa) Tutti gli insegnamenti e le attività sono classificate in diversi tipi di attività formativa, indicati da una lettera.
Programmazione I (2016/2017)
Codice insegnamento
4S02723
Crediti
12
Lingua di erogazione
Italiano
Settore Scientifico Disciplinare (SSD)
INF/01 - INFORMATICA
L'insegnamento è organizzato come segue:
Teoria
Laboratorio [II turno M-Z]
Laboratorio [I turno A-L]
Obiettivi formativi
Il corso fornisce le conoscenze base per la scrittura di programmi in linguaggio C. Particolare enfasi verrà data alla relazione tra programma e architettura dell'elaboratore che esegue il programma, al concetto di ricorsione e alla realizzazione di semplici strutture dati, ricorsive e non ricorsive.
A completamento del corso, gli studenti saranno in grado di sviluppare e organizzare programmi in linguaggio C e avranno le conoscenze necessarie per poter:
-) implementare algoritmi di media complessità;
-) analizzare e verificare codice tramite debugging.
Programma
Teoria:
-----------
• Introduzione al corso.
• Concetti fondamentali: programmazione, linguaggio di alto livello, sistemi operativi, compilazione dei programmi.
• Compilazione ed esecuzione del primo programma: compilazione del primo programma, esecuzione del primo programma, descrizione del primo programma, visualizzazione delle variabili, commenti.
• Variabili, tipi di dati ed espressioni aritmetiche: operare con le variabili, tipi di dati e costanti, operare con le espressioni aritmetiche, combinare le operazioni con l’assegnamento – gli operatori di assegnamento.
• Iterazione: l’istruzione for, l’istruzione while, l’istruzione do.
• Prendere decisioni: l’istruzione if, l’istruzione switch, variabili booleane, l’operatore condizionale.
• Operazioni con gli array: definire un array, inizializzare un array, array di caratteri, array multidimensionali.
• Le funzioni: definire una funzione, argomenti e variabili locali, restituire i risultati di una funzione, funzioni che chiamano funzioni, che chiamano.., programmazione top-down, funzioni e array, variabili globali, variabili automatiche e statiche, funzioni ricorsive.
• Le strutture: una struttura per memorizzare data, funzioni e strutture, inizializzare le strutture, array di strutture, strutture contenenti strutture, strutture contenenti array, varianti delle strutture.
• Stringhe di caratteri: array di caratteri, stringhe di caratteri di lunghezza variabile, sequenze di escape, altre informazioni sulle stringhe costanti, stringhe di caratteri, strutture e array, operazioni con i caratteri.
• Puntatori: definire un puntatore, utilizzare i puntatori nelle espressioni, puntatori e strutture, puntatori e funzioni, puntatori e array, operazioni sui puntatori, puntatori e indirizzi di memoria.
• Il preprocessore: la direttiva #define, la direttiva #include, compilazione condizionale.
• Operazioni di input/output: I/O di caratteri – getchar e putchar, I/O formattato – printf e scanf.
• Caratteristiche varie e avanzate: Istruzioni varie del linguaggio, operatore virgola, allocazione dinamica della memoria.
Laboratorio:
-------------------
• Introduzione al corso, file system, bash, editor
• Prova pratica in laboratorio di tutti gli argomenti presentati nella parte teorica: esempi, esercizi.
• Debugging di codice C: gdb, ddd e CodeBlocks.
Bibliografia
Attività | Autore | Titolo | Casa editrice | Anno | ISBN | Note |
---|---|---|---|---|---|---|
Teoria | Stephen G. Kochan | Programmare in C (Edizione 3) | Pearson | 2011 | 9788871926605 | |
Laboratorio | Stephen G. Kochan | Programmare in C (Edizione 3) | Pearson | 2011 | 9788871926605 |
Modalità d'esame
L'esame è unificato con la parte di Laboratorio. Esso consiste in due parziali. Il primo parziale si svolgerà indicativamente a Febbraio e il secondo parziale a Giugno. Il voto finale sarà ottenuto dalla media dei voti dei due esami parziali. Oltre ai parziali, gli studenti hanno a disposizione le normali 4 sessioni di esame totale annuali, a partire da quella di Giugno, in cui si svolgeranno esami sulla totalità del programma.
I compiti (parziali o totali) consistono nella scrittura di programmi al calcolatore, in laboratorio
Per superare l'esame gli studenti dovranno dimostrare di:
- aver compreso i principi alla base della programmazione in C
- essere in grado di sviluppare codice C a di analizzare la sua correttezza nonche' problemi tramite debuggin
- saper applicare le conoscenze acquisite per implementare algoritmi risolutivi partendo da specifiche date sottoforma di esercizi
Verrà valutata la capacità di organizzare l'algoritmo e le strutture dati e di tradurli in linguaggio C senza gravi errori di sintassi.