Learning objectives
To provide both theoretical and practical foundations
of imperative programming, using C++ as the reference
programming language.
Prerequisites
No
Course unit content
Programming foundations. Imperative programming. C++ programming language.
Full programme
Problems and algorithms: basic notions, flow-charts -
Programming languages.
A sample program in C++ - Constants and variables -
Elementary data types in C++ - Assignment and compound
statement - Basic input/output - Operators and expressions -
Control structures (selection, iteration).
Structured stratements in C++ - Data structures (abstract vs.
concrete). Arrays in C++. Matrices. Strings. 'struct'.
Tables (hints) - The 'typedef' declaration.
Subprograms: motivations. Function declaration and
call in C++ - Parameter passing: by value, by reference.
'void' functions - Recursive functions - Scope rules in C++.
Local vs. global declarations - File management in C++. Pointers
and dynamic memory allocation. Linked lists.
Program development. Programming environment: editor,
compiler, linker (hints) - Developing simple programs using
the imperative part of C++ - Using library functions.
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
Written and oral exam
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
- - -