FONDAMENTI DI INFORMATICA F - O

Anno accademico 2020/2021 - 1° anno - Curriculum Ingegneria Industriale-Elettrica, Curriculum Ingegneria Industriale-Gestionale e Curriculum Ingegneria Industriale-Meccanica
Docenti: Simone PALAZZO e Salvatore LONGOBARDI
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.).

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

  1. Fondamenti di Informatica per Ingegneria Industriale, a cura di: Daniela Giordano, Salvatore Cavalieri e Concetto Spampinato. McGraw-Hill.

  2. 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.