FONDAMENTI DI INFORMATICA F - O
Anno accademico 2018/2019 - 1° annoCrediti: 9
SSD: ING-INF/05 - Sistemi di elaborazione delle informazioni
Organizzazione didattica: 225 ore d'impegno totale, 138 di studio individuale, 42 di lezione frontale, 45 di esercitazione
Semestre: 2°
ENGLISH VERSION
Obiettivi formativi
Il corso ha la finalità di fornire conoscenze: - sulla rappresentazione dell’informazione nei calcolatori, sull’architettura dell’elaboratore, sul software di base, sul sistema operativo, sugli algoritmi, sui linguaggi di programmazione, su compilatori e interpreti e sulle reti di calcolatori - sulla programmazione strutturata e sulla programmazione in linguaggio C. Sviluppo di programmi in C per la gestione di strutture dati complesse (biblioteche, archivi, etc.).
Modalità di svolgimento dell'insegnamento
Lezioni frontali, esercitazioni e laboratorio.
Prerequisiti richiesti
Non sono richieste specifiche capacità in ingresso
Frequenza lezioni
E' richiesta la frequenza obbligatoria
Contenuti del corso
Introduzione: Algoritmi e Programmi
Elaborazione automatica dell'informazione. Algoritmi e programmi. Un linguaggio di programmazione. Il progetto di un programma. La programmazione strutturata. Diagrammi di flusso e pseudocodice.
Rappresentazione dell'informazione
Sistemi di codifica. Sistemi di numerazione e algoritmi di conversione. Aritmetica intera e in virgola mobile. Rappresentazione di dati multimediali.
Architettura di un sistema di elaborazione
La struttura di un elaboratore: memoria centrale, unità centrale, funzionamento elementare dell'elaboratore (ciclo macchina). Dispositivi periferici e memorie di massa. Classificazione dei sistemi di elaborazione.
Reti di Calcolatori e Internet
Generalità sulle reti di calcolatori. Reti locali. Reti geografiche. I protocolli di rete. Cenni su Internet e sulle più diffuse applicazioni di rete.
Software di base e Sistemi Operativi
Traduzione ed esecuzione di programmi. Ambiente di Programmazione. Compilatori vs. interpreti. Architettura e funzionalità del Sistema Operativo. Gestione dei processi. Gestione della memoria. Gestione del file system.
Il linguaggio di programmazione "C": sintassi e semantica
Istruzioni di Assegnazione. Strutture di controllo. Tipi di dato in C: tipi semplici (int, char, float, double) e
strutturati (array e stringhe, strutture). Il tipo puntatore. Le funzioni. Campo d'azione degli identificatori.
Algoritmi di ordinamento e ricerca
Ricerca sequenziale e binaria. Algoritmi di ordinamento.
Strutture dati
Strutture dati dinamiche. Allocazione dinamica della memoria. Liste, Pile, Code ed Alberi. Primitive e relative
implementazioni in C. Esempi di programmi.
Testi di riferimento
- Bellini, A. Guidi - "Linguaggio C - guida alla programmazione", 4a ed. McGraw-Hill
- D. Sciuto, G. Buonanno, L. Mari, , "Introduzione ai sistemi informatici" 5a ed. McGraw-Hill
Programmazione del corso
Argomenti | Riferimenti testi | |
---|---|---|
1 | Informazione e sua codifica | Libro 2: Capitolo 2 |
2 | Problemi e algoritmi | Libro 2: Capitolo 3 |
3 | Linguaggi per la formalizzazione dell’informazione | Libro 2: Capitolo 4 |
4 | Teoria della Computabilità | Dispense del docente |
5 | Infrastruttura Hardware | Libro 2: Capitolo 6 |
6 | Infrastruttura Software | Libro 2: Capitolo 7 |
7 | Infrastruttura di Rete | Libro 2: Capitolo 8 |
8 | Introduzione ANSI C: Tipi di dati, istruzioni di assegnazione e strutture di controllo. | Libro1: Capitoli 1, 2 e 11 |
9 | ANSI C: Istruzioni interative | Libro 1: Capitolo 3 |
10 | ANSI C: Tipi di dati strutturato: array e stringhe, strutture | Libro 1: Capitoli 4 e 6. Dispense del docente |
11 | ANSI C: Funzioni, ricerche, ordinamenti e fusioni | Libro1: Capitoli 5 e 7 |
12 | ANSI C: Puntatori e gestione dinamica della memoria | Libro1: Capitoli 9 e 12 |
13 | ANSI C: File e strutture dati | LIbro1: Cpitolo 13 e 14 |
Verifica dell'apprendimento
Modalità di verifica dell'apprendimento
L'esame consiste in una prova (individuale) da svolgere in laboratorio divisa in due parti per una durata di 2 ore: la prima parte di teoria (tramite test a risposta multipla al pc o esame orale) sugli argormenti affrontati nel corso e la seconda parte di programmazione in C.
L'esame è superato quando entrambe le prove sono state superate.
E' prevista inoltre una prova in itinere, che, se superata, sostituirà la prova di teoria.
Esempi di domande e/o esercizi frequenti
Esempi di compiti riguardanti la prova di teoria e di laboratorio sono disponibili su Studium.