Anno di corso: 1

Crediti: 12
Crediti: 6
Crediti: 16
Crediti: 8
Crediti: 3
Tipo: Lingua/Prova Finale
Crediti: 3
Tipo: Lingua/Prova Finale
Crediti: 3
Tipo: Lingua/Prova Finale
Crediti: 3
Tipo: Lingua/Prova Finale

Anno di corso: 2

Crediti: 12
Crediti: 14
Crediti: 6
Crediti: 12
Crediti: 8

Anno di corso: 3

Crediti: 12
Crediti: 6
Crediti: 12
Tipo: A scelta dello studente
Crediti: 6
Tipo: A scelta dello studente
Crediti: 6
Tipo: Lingua/Prova Finale
Crediti: 3
Tipo: Altro

LABORATORIO DI INFORMATICA I

Scheda dell'insegnamento

Anno accademico di regolamento: 
2019/2020
Anno di corso: 
1
Anno accademico di erogazione: 
2019/2020
Tipo di attività: 
Obbligatorio
Lingua: 
Italiano
Crediti: 
4
Ciclo: 
Secondo Semestre
Ore di attivita' didattica: 
36
Prerequisiti: 

Nozioni di base di logica proposizionale (connettivi logici: congiunzione, disgiunzione, negazione).

Moduli

Metodi di valutazione

Modalita' di verifica dell'apprendimento: 

Prova scritta: lo studente dovrà scrivere un programma in C che risolve un problema assegnato.
Prova orale: discussione del compito scritto e domande sui contenuti dell'insegnamento.

Valutazione: 
Voto Finale

Obiettivi formativi

Acquisire i fondamenti concettuali della programmazione dei calcolatori.

Acquisire la capacità di progettare e realizzare strutture di dati e programmi per la risoluzione di problemi in campo scientifico e in ambito più generale.

Contenuti

Le nozioni di algoritmo e di costo computazionale di un algoritmo.

Principi di programmazione imperativa: strutture dei dati e algoritmi.

Nozioni di base sulla struttura funzionale dei calcolatori e sui sistemi operativi.

Rappresentazione dei dati, errori e approssimazione nei calcoli numerici.

Strategie di disegno degli algoritmi.

Programma esteso

Le nozioni di algoritmo e di costo computazionale di un algoritmo.

Struttura funzionale di un calcolatore. Natura e funzioni dei sistemi operativi.

Principi di programmazione imperativa. Variabili e tipi, istruzioni primitive, strutture di controllo (sequenza, scelta,

iterazione). Esemplificazione in C.

Tipi strutturati: vettori, matrici, record. Tipi di dati dinamici: liste concatenate, alberi. Esemplificazione in C.

Rappresentazione dei dati. Numerazione binaria. Rappresentazione dei numeri interi e dei numeri reali.

Rappresentazione a virgola mobile. Approssimazioni e errori.

Strategie di progettazione delle strutture dei dati e degli algoritmi.

Bibliografia consigliata

Dispense a cura dei docenti, esercizi svolti e commentati.

Testi di consultazione:

1. JG Brookshear, SG Kochan, Fondamenti di informatica e programmazione in C, Pearson, 2014.

2. BW Kernighan, DM Ritchie, Il linguaggio C, seconda edizione, Pearson, 2004.

Modalità di erogazione

Convenzionale

Metodi didattici

Lezioni frontali (2 CFU), esercitazioni in laboratorio (2 CFU).