09730 - Principles of Informatics

Academic Year 2020/2021

  • Docente: Sara Montagna
  • Credits: 6
  • SSD: ING-INF/05
  • Language: Italian
  • Teaching Mode: Traditional lectures
  • Campus: Forli
  • Corso: First cycle degree programme (L) in Mechanical Engineering (cod. 0949)

    Also valid for First cycle degree programme (L) in Aerospace Engineering (cod. 9234)

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.

Computer architecture: Von Neumann model. CPU . Microprocessor systems.

Boolean logic: Boolean algebra. Boolean expressions and functions. Combinatorial circuit analysis and design.

Programming: The concept of computing machine and algorithmic computation. 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 5th edition for free from the publisher website)

J. Glenn Brookshear, Dennis Brylow “Informatica—una panoramica generale”, 12/ed., Pearson 2016

G. Michael Schneider, Judith L. Gersting "Informatica " Edizione italiana a cura di Antonio Gentile e Roberto Pirrone - Maggioli, 2013. 

Teaching methods

The course consists of lessons, in which the topics will be explained also by the discussion of notable examples. In addition, practical lessons 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 Sara Montagna