FONDAMENTI DI INFORMATICA F - O

Anno accademico 2017/2018 - 1° anno
Docente: Concetto SPAMPINATO
Crediti: 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:
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.).

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