FONDAMENTI DI INFORMATICA F - O
Anno accademico 2020/2021 - 1° anno - Curriculum Ingegneria Industriale-Elettrica, Curriculum Ingegneria Industriale-Gestionale e Curriculum Ingegneria Industriale-MeccanicaCrediti: 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.
Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto e riportato nel syllabus.
Prerequisiti richiesti
Nessuno
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
-
Fondamenti di Informatica per Ingegneria Industriale, a cura di: Daniela Giordano, Salvatore Cavalieri e Concetto Spampinato. McGraw-Hill.
-
Linguaggio C - 5a ed. - Guida alla programmazione con elementi di Objective-C, a cura di Bellini, Guidi.
Verifica dell'apprendimento
Modalità di verifica dell'apprendimento
Esame pratico, con svolgimento di un programma in C, ed esame orale sugli argomenti di teoria.
La verifica dell’apprendimento potrà essere effettuata anche per via telematica, qualora le condizioni lo dovessero richiedere.