FONDAMENTI DI INFORMATICA F - O
Anno accademico 2016/2017 - 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
- 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.).
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.
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.
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.
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.
Dichiarazioni e campo d'azione degli identificatori. Variabili locali, globali e statiche. Tecniche di passaggio
dei parametri. La ricorsione. I File: file di testo e file binari. Primitive di accesso ai file.
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" 4a ed. McGraw-Hill