FUNDAMENTALS OF PROGRAMMING A
cod. 1000747

Academic year 2012/13
1° year of course - First semester
Professor
Academic discipline
Informatica (INF/01)
Field
Discipline matematiche e informatiche
Type of training activity
Basic
52 hours
of face-to-face activities
6 credits
hub: PARMA
course unit
in - - -

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