Anno Accademico 2018/2019
- Docente: Andrea Roli
- Crediti formativi: 6
- SSD: ING-INF/05
- Lingua di insegnamento: Italiano
- Modalità didattica: Convenzionale - Lezioni in presenza
- Campus: Forli
-
Corso:
Laurea in
Ingegneria meccanica (cod. 0949)
Valido anche per Laurea in Ingegneria aerospaziale (cod. 9234)
Conoscenze e abilità da conseguire
Al termine del corso lo studente possiede le nozioni fondamentali riguardanti le macchine digitali e l'architettura dei calcolatori e il loro uso nell'elaborazione dell'informazione. Inoltre, possiede le conoscenze utili alla progettazione di algoritmi e gli strumenti necessari alla loro implementazione mediante un linguaggio di alto livello per risolvere semplici problemi dell’ingegneria.
Contenuti
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/Octave
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/Octave.
Testi/Bibliografia
Testo di riferimento del corso:
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)
Per consultazione:
W.J. Palm. Matlab. Un'introduzione per gli ingegneri. McGraw-Hill Education.
Metodi didattici
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.
Modalità di verifica e valutazione dell'apprendimento
Gli studenti saranno valutati in base allo svolgimento di una prova scritta composta da esercizi e domande di tipo teorico ed eventualmente di un esame orale. L'esame è strutturato in modo tale da valutare il raggiungimento degli obiettivi didattici; in particolare, la capacità di ragionare in termini logici e algoritmici e le competenze di analisi e sintesi di programmi in linguaggio MATLAB/Octave.
Strumenti a supporto della didattica
Nel corso sarà utilizzato anche materiale didattico fornito dal docente (in particolare, lucidi, dispense e riferimenti a risorse su web, esercizi e problemi vari).
Orario di ricevimento
Consulta il sito web di Andrea Roli