FONDAMENTI DI INFORMATICA F - O

ING-INF/05 - 9 CFU - 2° semestre

Docente titolare dell'insegnamento

CONCETTO SPAMPINATO


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


Altro materiale didattico

Dispense e slide del docente disponibili su http://studium.unict.it



Verifica dell'apprendimento


PROVE IN ITINERE

La prova in itinere si svolgerà in due parti:

1. Prova teorica di un’ora al PC con 20 quesiti risposta multipla - +1.0 risposta corretta, -0.5 risposta errata (voto on-thefly)

2. Homework - Tre esercizi assegnati individuali nelle ultime settimane del corso. Una per settimana - Ogni esercizio vale 10 punti 3.

Voto finale - Media nelle due prove più eventuale bonus variabile


PROVE DI FINE CORSO

La prova finale di fine corso comprende una parte teorica (stessa modalità della prova in itinere) e una parte pratica (un esercizio di programmazione) e si sovlgerà nello stesso giorno per una durata complessiva di due ore.




Apri in formato Pdf English version