Course at a Glance
The course will take the students with no or minimal prior experience of programming  through the main principles and best practices of programming. Particular attention will be  devoted to the use of instruments useful to the researcher to carry out their work, such as  to programming languages like Matlab and Python.

Instructors
Marcello Goccia (marcello.goccia@iit.it)

Credits: 5

Synopsys
This course is designed to be an entry level programming course which provides the  instruments for the researchers to carry out their work, paying particular attention to  programming languages like Matlab and Python. The course is suitable for students who have minimal or no programming experience. It will introduce the fundamental programming structures, and it will also cover some central mechanisms of object-oriented  programming techniques. The course will also include an introduction to testing and  debugging code techniques. During the course there will be practical exercises.

Tools used:

Hardware
- Bring a laptop with you

Software
- Python 3 and Matlab installed

Syllabus
- Overview of the fundamental programming structures: primitive data types, constants,  variables, operators, functions, strings.
- Classes and objects: OOP principles, class variables and methods, abstraction, inheritance, polymorphism.
- Introduction to good programming techniques.
- Testing and debugging code.
- Practical exercises


Final exam
There will be a final examination decided by the instructor

Prerequisites
The course is aimed at students with little or no prior programming experience.

Venue
Istituto Italiano di Tecnologia, Via Morego 30, Bolzaneto, Genova

Course dates
May 2017