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

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.

CURRICULUM TIPO:
Insegnamenti Crediti TAF SSD
Tra gli anni: 2°- 3°
Altre attività formative: lo studente può scegliere tra le 2 seguenti opzioni: a) 2 CFU di seminari al 2 anno e 7 CFU di tirocinio al 3 anno oppure b) 9 CFU di tirocinio al 3 anno.
Tra gli anni: 2°- 3°

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

4S009862

Crediti

12

Coordinatore

Nicola Bombieri

Lingua di erogazione

Italiano

Settore Scientifico Disciplinare (SSD)

INF/01 - INFORMATICA

L'insegnamento è organizzato come segue:

Laboratorio 1

Crediti

2

Periodo

Primo semestre

Teoria
Attività mutuata da Programmazione I [Matricole dispari] - Teoria del corso: Laurea in Informatica [L-31]

Crediti

8

Periodo

Primo semestre, Secondo semestre

Docenti

Nicola Bombieri,Pietro Bontempi

Laboratorio 2

Crediti

2

Periodo

Secondo semestre

Obiettivi formativi

Il corso si propone di fornire le conoscenze base per la scrittura di programmi in un linguaggio imperativo di natura procedurale (es. Linguaggio C), con enfasi sulla relazione tra programma e architettura dell'elaboratore che esegue il programma, sul concetto di ricorsione e sulla realizzazione delle strutture dati. Al termine del corso lo studente dovrà dimostrare di saper tradurre un algoritmo in un programma scritto con un linguaggio imperativo di natura procedurale organizzando le relative strutture dati e di saperlo ottimizzare mediante tecniche di debugging e profiling. Lo studente dovrà anche dimostrare di avere le competenze necessarie per proseguire gli studi in modo autonomo nell’ambito della programmazione e dello sviluppo software.

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

Visualizza la bibliografia con Leganto, strumento che il Sistema Bibliotecario mette a disposizione per recuperare i testi in programma d'esame in modo semplice e innovativo.

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. L'esame sarà considerato superato se entrambi i parziali saranno sufficienti. 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 o su carta.
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.

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