The purpose of the course is to provide the tools to imperative programming through the introduction of high-level languages. We will introduce a subset of the C++ programming language.
Introduction to programming languages, in particular to the imperative programming paradigm, throught the presentation of C++ and MatLab. After attending the classes, the student will be able to build simple programs in the two presented languages, and will know models and structures, useful for learning other imperative programming languages in the future.
This course will provide some necessary basic notions about computer architecture, data representation, operating system. It will introduce the notions of algorithm and program, high-level programming language and execution models (compiled or interpreted languages). It will present the basic concepts and features of programming in a high-level imperative language (variables, statements, instructions for controlling the execution flow). It will provide the guide lines for the design of small-size programs solving a simple problem and for testing them.
The considered examples of high-level languages will be (the impeative subset of) the C++ programming language.
After attending this course, the student will:
None.
The course provides 3 hours of lessons in the classroom and 4 hours of laboratory per week.
The considered example of high-level language will be the imperative subset of the C++ programming language.
Course notes.
Other useful books:
Programming Principles and Practice using C++, Addison-Wesley Professional, 2008 C++. Fondamenti di programmazione -- H. M. Deitel, P. J. Deitel; Editore: Apogeo 2009 Che C serve? Per iniziare a programmare -- Burattini, Chianese, Picariello, Moscato, Sansone; Maggioli editore 2016.
Ricevimento: On request. Appointment by email (paola.magillo@unige.it)
Ricevimento: By appointment (in person or online), taken via email (matteo.dellamico@unige.it).
Ricevimento: Appointment by email (nicoletta.noceti@unige.it)
PAOLA MAGILLO (President)
NICOLETTA NOCETI
MATTEO DELL'AMICO (President Substitute)
The class will start according to the academic calendar.
The final exam consists of:
It is not necessary that the two tests are passed in the same session.
The exam is passed when the written test (with Rate> = 18) and laboratory (with Rate> = 18) are passed. The final grade will be the average of the two votes.
A bonus depending on laboratory exercises will also be applied.
The written examination will want to evaluate the acquisition of basic concepts presented during the course.
The laboratory test wants to evaluate the ability to produce the C ++ code running to solve small problems, and consists of completing a "template" program that will be provided as a file with the extension .cpp. The evaluation will take into account the following aspects in order of decreasing importance:
No prerequisite is required. Basics of logic and mathematics normally provided by the high school are still useful.