INFORMAZIONI SU

Fondamenti di informatica

Programma dell'insegnamento di Fondamenti di informatica - cdl in Ingegneria Meccanica

Docente

prof. Andrea FUSIELLO

Crediti

6 CFU

Obiettivi formativi specifici

Il corso intende offrire una introduzione alle problematiche della programmazione modulare e strutturata usando il linguaggio ANSI C. Al termine del corso si posseggono conoscenze delle componenti di un elaboratore elettronico, delle modalità di funzionamento degli elaboratori elettronici e di risolvere semplici problemi attraverso la programmazione in linguaggio Ansi C.

Competenze acquisite

- Principi operazionali dei calcolatori.
- Elementi di rappresentazione dell'informazione (sia testuale che multimediale.
- Principi generali alla base delle reti di calcolatori e di Internet.
- Approccio algoritmico alla soluzione di problemi.
- Concetti generali di programmazione.
- Soluzione di problemi tramite programmazione in MATLAB.

Programma

Introduzione all'informatica: introduzione al corso; hardware e software; breve storia del calcolo automatico (2 ore).
Codifica dell'informazione: sistema binario, numeri in base N, codifiche ASCII e Unicode; cenni alla compressione (4 ore).
Architettura dell'elaboratore: elementi di logica booleana e circuiti logici; principi operazionali degli elaboratori, modello di Von Neumann, ciclo fetch/execute, memoria, periferiche (4 ore).
Sistemi operativi: concetto di macchina virtuale, componenti del S.O., compilatori ed interpreti (4 ore).
Reti di calcolatori e WWW: Introduzione alle reti: commutazione di pacchetto, TCP/IP, DNS. Il World Wide Web e il paradigma client-server (4 ore).
Algoritmi: proprietà dell’algoritmo, esempio, ricerca lineare e dicotomica; cenni complessità computazionale e di computabilità (4 ore).
Introduzione alla programmazione in MATLAB: introduzione al MATLAB, variabili, tipi di dati, scripts, ambiente di sviluppo (4 ore).
Vettori ed array: collezioni di oggetti omogenei in MATLAB  (4 ore).
Strutture di controllo: strutture di selezione (if-then-else) e di iterazione (for, while) (4 ore).
Funzioni e ricorsione: implementazione delle funzioni in MATLAB, passaggio dei parametri, variabili locali, incapsulamento. Pila di attivazione e ricorsione (4 ore).
Stringhe: funzioni per la manipolazione delle stringhe in MATLAB (2 ore).
Strutture e Cell Arrays: collezioni di oggetti disomogenei in MATLAB (2 ore).
File I/O: Funzioni per la lettura e scrittura da e su file (2 ore).
Matrici: Introduzione al calcolo matriciale in MATLAB (4 ore).
Immagini e suoni: formati delle immagini, semplici elaborazioni; elaborazione del suono nel dominio temporale e frequenziale, FFT (cenni) (4 ore).
Metodi numerici: equazioni non-lineari (una variabile), interpolazione, regressione lineare, integrazione numerica (4 ore).
Algoritmi di ordinamento: Insertion Sort, Bubble sort, Quick Sort, Merge Sort (4 ore).
Laboratorio (10 ore).

Bibliografia

- Prima parte: appunti del docente
- Parte MATLAB: D.M. Smith. Engineering Computation with MATLAB - 3rd ed. Pearson, 2013

prova scritta  e orale