00819 - Programming (M-Z)

Course Unit Page

Academic Year 2017/2018

Learning outcomes

During the course, the student will acquire the basic skills for understanding the logical structure of algorithms and will learn ho to develop code in C programming language.

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


Brian W. Kernighan, Dennis M. Ritchie. Linguaggio C. Jackson libri.

Teacher's slides.

Teaching methods

Traditional lecture, practical class.

Assessment methods

The coursework consists of four incremental programming assignments of varying 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.

Office hours

See the website of Pietro Di Lena

See the website of Alessandra Lumini