cod. 1000749

Academic year 2012/13
3° year of course - Second semester
Academic discipline
Informatica (INF/01)
A scelta dello studente
Type of training activity
Student's choice
48 hours
of face-to-face activities
6 credits
course unit
in - - -

Learning objectives

To provide both theoretical and practical foundations
of object-oriented programming, using C++ as the reference
programming language.


The concepts and basic techniques of
imperative programming as provided in
Foundamentals of Programming A.

Course unit content

Programming foundations. Object-oriented programming. C++ programming language.

Full programme

Class and object declaration. Accessing member
functions and data of a class - Class constructors -
A sample class: 'rational' - Function and operator overloading -
The 'string' class - Pointers and dynamic memory allocation.
Arrays and pointers - A sample class: 'int_vett' - The assignment
operator. The copy constructor. Class destructors - Object
life-time (hints) - Abstract data types (ADT).

Exception handling: motivations. Constructs for exception
handling in C++ - Parametric classes ('template'): declaration,
instantiation. A sample class: 'vett<T>' - Parametric functions
(hints) - Inheritance. 'public' vs 'private' derivation.
Multiple inheritance (hints).


L.J. Aguilar. Fondamenti di programmazione in C++ , McGraw-Hill, 2008.

Teaching methods

Theory supported by exercises and practical experimentation

Assessment methods and criteria

Oral exam, plus development and demo of a
practical application written in C++

Other information

The course includes its own Web page for all general information, managed directly by the teacher (, and a page on the University of Parma Web Learning System for the management of exercises (