To provide students with basic knowledge of techniques and tools for procedural as well as Object Oriented programming, in particular with respect to the C++ programming language and the Linux development environment.
Knowledge and understanding: mastering Object Oriented paradigm and languages
Applying knowledge and understanding: OO coding with C/C++
Making judgements: evaluation of effectiveness and appropriateness of an algorithm
Learning skills: i) consulting reference literature; ii) searching and consulting online databases and repositories; iii) continuous updating of gathered knowledge
Communication skills: i) mastery of the jargon with respect to the course topics; ii) team working
Some familiarity with the Linux OS.
Part I: Basic Facilities [3 ECTS – 24 hours]
Types and Declarations; Pointers, Arrays, and Structures; Expressions and Statements; Functions; Namespaces and Exceptions; Source Files and Programs
Part II: Abstraction Mechanisms [3 ECTS – 24 hours]
Classes; Operator Overloading; Derived Classes; Templates; Exception Handling; Class Hierarchies.
Part III: The Standard Library [3 ECTS – 24 hours]
Library Organization and Containers; Standard Containers; Algorithms and Function Objects; Iterators and Allocators; Strings; Numerics.
Part IV: Design Using C++ [3 ECTS – 24 hours]
Development and Design; Design and Programming; Roles of Classes.
Topics can be grouped as follows:
1 – Basic features of procedural programming [4 ECTS – 32 hours]
2 - Basic features of Object Oriented programming [4 ECTS – 32 hours]
3 – Advanced features of Object Oriented programming [4 ECTS – 32 hours]
Lectures and hands-on experience sessions.
Bjarne Stroustrup, “The C++ Programming Language” - Third Edition, AddisonWesley, 1997, ISBN: 0201889544.
Machtelt Garrels, “Introduction to Linux - A Hands on Guide”, available at: ftp://ftp.wayne.edu/ldp/en/Intro-Linux/Intro-Linux.pdf
The exam consists in a computer test and an oral defense. Whenever possible, the test and the defense will be the same day. Only students who pass the computer test are admitted to the oral defense.
Lectures are in Italian. The professor is fluent in English and is available to interact with students in English, also during the examination. Students can meet the professor on Tuesdays from 3 to 5 PM in his office.