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++.
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