Degree course: 
Corso di First cycle degree in COMPUTER SCIENCE
Academic year when starting the degree: 
Academic year in which the course will be held: 
Course type: 
Supplementary compulsory subjects
First Semester
Standard lectures hours: 
Detail of lecture’s hours: 
Lesson (48 hours)

No specific prerequisites are required, apart for the basic notions on programming.

Final Examination: 

This course will be based on a continuous interchange of knowledge and feedback between teacher and the students. In this way, teacher will have a real-time perception of the learning curve, keeping in mind the final goal to apply all the theoretical notions to real-world applications.
The final exam will be evaluated in thirtieth (/30). It will consist of two parts, named A and B, for a total maximum score of 30 points :
- Part A - Four theoretical questions, in written form. Each question will score 5 points, for a total maximum score of 20 points.
- Part B - Presentation and discussion of a practical project on electronics and microcontroller, scoring 4 points for the hardware and 6 points for the documentation. Alternatively, the student will be allowed to substitute the practical project with two additional questions, each scoring 5 points, on microcontrollers and sensors.
Part B will have a total maximum score of 10 points.

Voto Finale

This course will be aimed to the basics of digital microcontrollers and their practical applications. At the beginning, the students will be introduced to the basic concepts of analog and digital electronics. Particular emphasis will be given to operational amplifiers (OA’s) and to the analog-to-digital (AD) and digital-to-analog (DA) conversion. Once the students will be familiar with basic electronics, the interfacing of microprocessors will be discussed, focusing to USART and communication protocols, as well as sensors (T, P, light, chemical…)
At the end of this course, the students will be able to apply microcontroller-based boards (Arduino and Propeller as two typical examples) to real-world applications, combining hardware and software in an integrated approach.

Theory (40 h)
- microcontrollers – basic aspects of hardware and software (4 h)
- basic electronics (resistors, capacitors, diodes, transistors, IC, operational amplifiers ) (12 h)
- controlling external devices (LED’s, light sources, motors, optocouples, relays, …) (4 h)
- ADC e DAC (4 h)
- USART for serial communication – USB as Virtual COM port – Serial protocols (SPI, I2C, 1-wire, Modbus) (4 h)
- physical and chemical sensors ( T, P, light, motion, chemical sensing) – how they work and how they are interfaced (8 h)
- A short introduction to industial process control (4 h)

Practice in the classroom (8 h)
- Designing simple electronic circuits.
- Use of the most common electronic instrumentation (tester, oscilloscope, power supply)
- Use and programming of microcontroller-based boards (Arduino, Propeller) for real-world applications : LED control, temperature reading, motor controls, use of buttons and analog joystick, ethanol measurement.

Books and teaching materials
Teaching materials, PP presentations and application examples will be given to the students during the course.
Use of websites for electronics and microcontrollers.
Textbooks :
- For basic electronics, choose one among :
o G.Filella, Elettronica:sapere e sapere fare, DTP Editrice.
o N.M.Morris, Elementi di Elettronica Teorica e Pratica, Hoepli
o N.H.Crowhurst, Basic Electronics Course, McGraw-Hill

- For microcontroller, choose one for the microcontroller board we are using; for example :
o John Titus, Experiments for the Propeller Quickstart By Jon Titus,VERSION 1.0, free ebook, Parallax Inc
o Don Wilcher, Learn Electronics with Arduino,free ebook, www.it-ebooks.info
o AA.VV., What’s a Microcontroller? Student Guide,VERSION 3.0, free ebook, Parallax Inc.

Reference textbook (optional) :
John M. Hughes,.Real World Instrumentation with Python,O'Reilly Media, Inc.


This course will be held in the classroom both for the theoretical lessons and for the practical examples on microcontroller programming.