FUNDAMENTALS OF PROGRAMMING A
Learning outcomes of the course unit
To provide both theoretical and practical foundations
of imperative programming, using C++ as the reference
Course contents summary
Programming foundations. Imperative programming. C++ programming language.
Problems and algorithms: basic notions, flow-charts -
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.
L.J. Aguilar. Fondamenti di programmazione in C++ , McGraw-Hill, 2008.
Theory supported by exercises and practical experimentation
Assessment methods and criteria
Written and oral exam
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).