The course aims to provide the earliest programming bases, giving particular emphasis to scientific reasoning and computational thinking. The course includes classes as well as practical labs whose purpose is to deepen and consolidate the topics seen in the classroom.
The course has a strong applicative connotation, where the student is encouraged to face problems of increasing complexity in autonomy.
Computational Thinking principles
Basic knowledge of the fundamental concepts of imperative programming
Introduction to an imperative programming language ( C++ limited to non-object oriented concepts ), with a text editor, compiling, and command-line execution.
Principles of designing, implementing, and validating a small sequential program based on the informal specifications provided by the user.
Ability to produce correct and comprehensible code; Ability to understand, use, modify code.
Classroom lessons
Guided Laboratories
Homework delivered through aulaweb
Given the cultural importance of this course (at the core of all undergraduate computer science courses) attending classes and labs is strongly encouraged and suggested
The course consists of a part of theoretical lessons that take place in the classroom and a substantial practical part of programming activities that takes place in the lab.
Main topics:
Slides will be available but are not sufficient getting ready for the exam.
Reference book: D.S. Malik Programmazione in C++ Apogeo, 2011, ISBN 978-88-503-2967-0 (or english version)
Alternatively B. Stroustrup, Programming: Principles and Practice Using C++, Addison-Westley, 2009, ISBN 978-0321543721.
Ricevimento: All lecture days after class (approx. 20 min). Upon prior agreement, at any other time. Since the teacher is in charge of several courses, if you are getting in touch with means other than in person (email, Teams messaging, Aulaweb mesaging...) please specify which degree and which course you are referring to.
Ricevimento: See the aulaweb module and as second alternative the web page https://person.dibris.unige.it/moggi-eugenio/
Ricevimento: Reception through appointment via mail.
STEFANO ROVETTA (President)
EUGENIO MOGGI
ENRICO PUPPO (President Substitute)
MAURIZIO LEOTTA (Substitute)
ARNAUD HENRI PAUL SANGNIER (Substitute)
The exam is made of 2 parts
More details on AULAWEB
The theoretical test will verify that the student has a full grasp of:
The lab test will veify that the student has: