- Docente: Andrea Roli
- Credits: 6
- SSD: ING-INF/05
- Language: Italian
- Teaching Mode: Traditional lectures
- Campus: Forli
-
Corso:
First cycle degree programme (L) in
Aerospace Engineering (cod. 9234)
Also valid for First cycle degree programme (L) in Mechanical Engineering (cod. 0949)
Learning outcomes
At the end of the course, students have acquired knowledge and skills on the basics of logic circuits, digital devices and computer architecture. Moreover, students know the principles of algorithm design and how to write programs in high-level programming languages.
Course contents
Preliminary notions
Principles of information representation and processing. Algorithms and programs. Positional numbering systems and base conversion. Binary numbers. Operations between binary numbers.
Boolean logic and combinatorial and sequential circuits
Boolean algebra. Boolean expressions and functions. Combinatorial circuit analysis and design. Finite state automata. Sequential circuits.
Computer architecture
Von Neumann model. Computer hardware abstract representation. Microprocessor systems.
Programming
The concept of computing machine and algorithmic computation. Data structures (array, list, tree, graph). Flowchart. Algorithm design. Structured programming. Constructs for structured programming. Basic notions of computational complexity.
MATLAB/Octave programming language
Basic language constructs. Data structures. Operations with arrays. Principles of code vectorization. Input and output. Functions. Scope of variables. Graphic functions for plotting. Basic notions of debugging. Algorithms for data processing, control and simulation, and their implementation in MATLAB/Octave.
Readings/Bibliography
S. Attaway. MATLAB - A Practical Introduction to Programming and Problem Solving. Elsevier
(Students at Università di Bologna can download the digital copy of the 2nd edition for free from the publisher website)
W.J. Palm. Matlab. Un'introduzione per gli ingegneri. McGraw-Hill Education.
Teaching methods
The course consists of class lessons, in which the topics will be explained also by the discussion of notable examples. In addition, practical lessons in the lab will be held.
Assessment methods
The final assessment is done by means of a written examination composed of exercises and questions on the topics of the course, and if needed, an oral examination. The aim of the examination is to assess the learning outcomes; mainly, logic and algorithmic reasoning capabilities, and analysis and synthesis of MATLAB/Octave programs.
Teaching tools
Students will be given also teaching material prepared by the teacher (mainly slides, lecture notes and resources on the web, exercises and problems).
Office hours
See the website of Andrea Roli