00819 - Programming (CL.A)

Course Unit Page

Academic Year 2019/2020

Learning outcomes

After completing the course, the student has a basic knowledge of programming using C language and the analysis of some fundamental problems and related algorithms solvers.

Course contents

Introduction. Basics of program writing. The main constructs of C. Variables, data types, expressions, standard input/output, decision and control statements, arrays, strings, functions, variable scope, structures, pointers and file input/output. Design techniques and modularisation. The role of design in the development of solutions to problems. Top down structured design. Algorithms and dynamic data structures. An outline will be given of the role of standard algorithms and dynamic data structures (linked lists, heap, queue, recursion).


The following is recommended reading material:

  • All slides used in lectures.
  • Programmazione in C - Kim N. King - Apogeo, 2009.
  • Introduction to Algorithms - T. H. Cormen, C. E. Leiserson, R. L. Rivest - MIT Press, Cambridge, 1990,

Teaching methods

Traditional lecture, practical class.

Assessment methods

The coursework consists of various incremental programming assignments of icreasing difficulty. Marks will be awarded for working programs which meet the specifications, simple and clear programming style, and internal documentation.
The exam consists in a written and oral part.

Teaching tools

This course unit will not follow any book exactly but will provide printed notes of all slides used in lectures.

Links to further information


Office hours

See the website of Antonella Carbonaro

See the website of Filippo Piccinini