Fondamenti di informatica 2015/2016
Al termine del corso lo studente acquisisce nozioni sui principali circuiti logici, sulle macchine digitali e sull'architettura dei calcolatori. Inoltre, lo studente acquisisce i principali elementi utili alla progettazione di algoritmi e gli strumenti necessari alla loro implementazione, attraverso la realizzazione di programmi scritti con un linguaggio di alto livello.
- Principi e nozioni di base
- Rappresentazione ed elaborazione dell'informazione. Algoritmi e programmi. Sistemi di numerazione posizionali e conversione tra basi. Numeri binari. Operazioni tra numeri binari.
- Logica booleana e macchine combinatorie e sequenziali
- Algebra di Boole. Espressioni e funzioni booleane. Analisi e sintesi di reti logiche combinatorie. Automi a stati finiti. Reti logiche sequenziali.
- Calcolatori elettronici
- Il modello di Von Neumann. I principi di funzionamento di un calcolatore. Architettura dei sistemi a microprocessore.
- La programmazione
- Il concetto di elaboratore elettronico e computazione algoritmica. Strutture dati (vettori, liste, alberi, grafi). Diagramma di flusso. Tecniche di progettazione algoritmica. Programmazione strutturata. I costrutti nella programmazione strutturata. Programmazione procedurale. Complessità computazionale (cenni).
- Il linguaggio MATLAB
- Costrutti fondamentali. Strutture dati. Operazioni su vettori e matrici. Elementi di programmazione vettoriale. Input e Output. Funzioni. Visibilità delle variabili. Uso di funzioni grafiche. Elementi di debugging. Algoritmi per elaborazione di dati, controllo e simulazione e loro implementazione in MATLAB.
- S. Attaway, MATLAB - A Practical Introduction to Programming and Problem Solving, Elsevier
- (la versione elettronica della seconda edizione del testo è scaricabile dal sito della casa editrice gratuitamente per gli studenti dell'Università di Bologna)
- W.J. Palm, Matlab. Un'introduzione per gli ingegneri, McGraw-Hill Education
Lezioni frontali in cui ogni argomento sarà accompagnato da esempi e casi di studio che ne mettano in luce applicazioni significative. Saranno inoltre svolte esercitazioni in laboratorio.
Gli studenti saranno valutati in base allo svolgimento di una prova scritta ed eventualmente di un esame orale.
Nel corso sarà utilizzato materiale didattico fornito dal docente (in particolare, lucidi, dispense e riferimenti a risorse su web).