Learning objectives
To provide both theoretical and practical foundations
of object-oriented programming, using C++ as the reference
programming language.
Prerequisites
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).
Bibliography
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 (http://people.math.unipr.it/gianfranco.rossi/Teaching/FondProgr/index.html), and a page on the University of Parma Web Learning System for the management of exercises (http://lea.unipr.it/course/view.php?id=324).
2030 agenda goals for sustainable development
- - -