Programming I (2015/2016)



Course code
4S02723
Credits
12
Coordinator
Nicola Bombieri
Academic sector
INF/01 - INFORMATICS
Language of instruction
Italian
Teaching is organised as follows:
Activity Credits Period Academic staff Timetable
Teoria 8 II semestre, I semestre Nicola Bombieri
Laboratorio [II turno M-Z] 4 II semestre, I semestre Maurizio Boscaini
Laboratorio [I turno A-L] 4 II semestre, I semestre Vincenzo Bonnici

Lesson timetable

II semestre
Activity Day Time Type Place Note
Teoria Tuesday 8:30 AM - 10:30 AM lesson Lecture Hall Gino Tessari  
Teoria Friday 3:30 PM - 5:30 PM lesson Lecture Hall Gino Tessari  
Laboratorio [I turno A-L] Monday 10:30 AM - 1:30 PM laboratorio Laboratory Delta  
Laboratorio [II turno M-Z] Tuesday 2:30 PM - 5:30 PM laboratorio Laboratory Delta  
I semestre
Activity Day Time Type Place Note
Teoria Thursday 2:30 PM - 3:30 PM lesson Lecture Hall Gino Tessari  
Teoria Friday 4:30 PM - 6:30 PM lesson Lecture Hall Gino Tessari  
Laboratorio [I turno A-L] Thursday 4:30 PM - 6:30 PM laboratorio Laboratory Delta  
Laboratorio [II turno M-Z] Tuesday 2:30 PM - 4:30 PM laboratorio Laboratory Delta  

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

Syllabus

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. Arrays. 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 final global note is the composition (average) of the notes of the two parts. Students who do not pass these partial exams can try again in the normal 4 examinations 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 program (on paper and without the use of a computer) and on theoretical questions. 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 Stephen G. Kochan Programmare in C (Edizione 3) Pearson 2011 9788871926605

Student opinions - 2015/2016


Statistics about transparency requirements (Attuazione Art. 2 del D.M. 31/10/2007, n. 544)

Statistics
Outcomes Exams Outcomes Percentages Average Standard Deviation
Positive 41.64% 25 4
Rejected 26.62%
Absent 24.07%
Ritirati 7.64%
Canceled --
Distribuzione degli esiti positivi
18 19 20 21 22 23 24 25 26 27 28 29 30 30 e Lode
6.1% 4.7% 8.8% 9.5% 6.1% 6.1% 9.5% 2.7% 8.1% 7.4% 3.4% 6.1% 8.1% 12.9%

Data from AA 2015/2016 based on 353 students. I valori in percentuale sono arrotondati al numero intero più vicino.