CODE  66052 

ACADEMIC YEAR  2021/2022 
CREDITS 

SCIENTIFIC DISCIPLINARY SECTOR  INF/01 
LANGUAGE  Italian 
TEACHING LOCATION 

SEMESTER  Annual 
PREREQUISITES 
Prerequisites (for future units)
This unit is a prerequisite for:

TEACHING MATERIALS  AULAWEB 
The purpose of the course is to provide the tools to imperative programming through the introduction of highlevel languages.
This course aims to provide the basis knowledge of computer programming. We will teach how to analyze simple problems, how to solve them with procedural algorithms, with an object oriented programming language. We will teach the basis to solve simple data analysis and numerical calculation problems.
In particular, the following topics will be covered:
In the first part of the course (first two weeks) we will introduce MATLAB, an environment for the numerical calculation and statistical analysis.
The programming parts will use a subset of the C ++ language as an example of highlevel language.
At the end of the course students will be able to solve simple programming problems, even with the use of external libraries, and above all they will be able to understand and modify C ++ programs that take advantage of the objectoriented programming paradigm.
The course will have 2 hours per week of theory lectures and 3 hours of practical lessons and exercises.
In the first part of the course (first two weeks) we will introduce MATLAB, an environment for the numerical calculation and statistical analysis.
The programming parts will use a subset of the C ++ language as an example of highlevel language.
Programming Principles and Practice using C++, AddisonWesley Professional, 2008
C++. Fondamenti di programmazione  H. M. Deitel, P. J. Deitel; Editore: Apogeo 2009
Office hours: Appointment by email: manuela.chessa@unige.it During class period appointments for groups can be set by posting on the course forum on AulaWeb.
Office hours: Appointment by email: enrico.puppo@unige.it During class period appointments for groups can be set by posting on the course forum on AulaWeb.
MANUELA CHESSA (President)
FABIO SOLARI
ENRICO PUPPO (President Substitute)
All class schedules are posted on the EasyAcademy portal.
The exam consists of two tests:
 a written exam composed of a quiz on Aulaweb (max grade 31)
 a practical exam which consists of a C++ program (max grade 31). The student can access the second part of the exam if they pass the first part with a grade >=16.
The exam is passed if both parts have a minimum grade of 16. The final grade will be the mean of the two grades. Sufficient exams are >=18. The laude will be given a grade >=31.
There is a bonus of max 2 points for the whom which completed a number of intermediate test on time.
COVID19 emergency: the exam rules may be varied if online exams will be mandatory. In this case, students will be informed about the changes.
The written exam has the aim of evaluating teh main concepts presented during the course.
The practical exam has the aim of evaluating the capability of writing a working program in C++.
The exam will be evaluated by considering:
 if the code produce the correct results
 style of the code
 efficiency
Date  Time  Location  Type  Notes 

12/01/2022  09:30  GENOVA  Laboratorio  
07/02/2022  09:30  GENOVA  Laboratorio  
10/06/2022  09:30  GENOVA  Laboratorio  
11/07/2022  09:30  GENOVA  Laboratorio  
13/09/2022  09:30  GENOVA  Laboratorio 