Programming I (2011/2012)

Course code
Nicola Fausto Spoto
Academic sector
Language of instruction
Web page
Web page
Teaching is organised as follows:
Activity Credits Period Academic staff Timetable
Teoria 8 II semestre, I semestre Nicola Fausto Spoto
Laboratorio 4 II semestre, I semestre Nicola Drago, Carlo Drioli

Lesson timetable

Learning outcomes

This course provides students with the basic abilities needed to write simple programs in the C programming language. They will learn how to organize a program in that imperative structured language and how to use it to implement simple algorithms. The relationship between the C language and the underlying machine is highlighted. The concept of recursion is put in evidence, as well as the implementation of simple data structures, both recursive and non-recursive.


Von Neumann machines. Binary representation of numbers, characters, strings and commands. Binary, octal, hexadecimal numbers. Structure of a C program. Use of a C compiler. Expressions and commands. Structured programming. Assignments, conditionals and loops. Pointers. Function calls. Activation stack. Call by value and call by reference. Structures. The C standard library. Recursion. Recursive data structures. Lists.

Assessment methods and criteria

The exam, unified with the Laboratory module, consists in two parts, that will take place around February and June. The note of each part is between 0 and 30. Students must reach at least 18 in both parts in order to successfully pass the exam. The global note is the composition of the notes of the two parts. Students who do not pass these partial exams can try again in the normal 6 examination periods scattered around the year, starting from June. Those exams are on the total program of the course. Exams (partial as well as total) verify the ability in writing simple programs, on paper and without the use of a computer. The important point is the ability to organize algorithms and data structures and translate them into the C language with no significant syntactical errors.

Reference books
Activity Author Title Publisher Year ISBN Note
Teoria Al Kelley, Ira Pohl C Didattica e Programmazione Pearsons Education Italia 2004 8871922190 Testo di riferimento consigliato. Altri libri sul linguaggio C possono comunque essere altrettanto validi per seguire il corso.
Laboratorio Al Kelley, Ira Pohl C Didattica e Programmazione Pearsons Education Italia 2004 8871922190