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.

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/2026

Il 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

InsegnamentiCreditiTAFSSD
6
A
FIS/01
6
A
INF/01
Lingua inglese competenza linguistica - liv.b1(completo)
6
E
-

2° Anno  Attivato nell'A.A. 2017/2018

InsegnamentiCreditiTAFSSD
12
B
INF/01
6
C
FIS/01
12
B
ING-INF/05
Un insegnamento a scelta

3° Anno  Attivato nell'A.A. 2018/2019

InsegnamentiCreditiTAFSSD
12
B
ING-INF/05
6
B
INF/01
Un insegnamento a scelta
6
B
INF/01
6
B
INF/01
Prova finale
6
E
-
InsegnamentiCreditiTAFSSD
6
A
FIS/01
6
A
INF/01
Lingua inglese competenza linguistica - liv.b1(completo)
6
E
-
Attivato nell'A.A. 2017/2018
InsegnamentiCreditiTAFSSD
12
B
INF/01
6
C
FIS/01
12
B
ING-INF/05
Un insegnamento a scelta
Attivato nell'A.A. 2018/2019
InsegnamentiCreditiTAFSSD
12
B
ING-INF/05
6
B
INF/01
Un insegnamento a scelta
6
B
INF/01
6
B
INF/01
Prova finale
6
E
-

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.




S Stage e tirocini presso imprese, enti pubblici o privati, ordini professionali

Codice insegnamento

4S02723

Crediti

12

Coordinatore

Nicola Bombieri

Lingua di erogazione

Italiano

Settore Scientifico Disciplinare (SSD)

INF/01 - INFORMATICA

L'insegnamento è organizzato come segue:

Teoria

Crediti

8

Periodo

I sem., II sem.

Laboratorio [II turno M-Z]

Crediti

4

Periodo

I sem., II sem.

Laboratorio [I turno A-L]

Crediti

4

Periodo

I sem., II sem.

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

Testi di riferimento
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.

Le/gli studentesse/studenti con disabilità o disturbi specifici di apprendimento (DSA), che intendano richiedere l'adattamento della prova d'esame, devono seguire le indicazioni riportate QUI