Studying at the University of Verona

Here you can find information on the organisational aspects of the Programme, lecture timetables, learning activities and useful contact details for your time at the University, from enrolment to graduation.

The Study Plan includes all modules, teaching and learning activities that each student will need to undertake during their time at the University.
Please select your Study Plan based on your enrollment year.

2° Year  activated in the A.Y. 2018/2019

ModulesCreditsTAFSSD
12
B
INF/01
6
C
FIS/01
6
B
ING-INF/05
12
B
ING-INF/05

3° Year  activated in the A.Y. 2019/2020

ModulesCreditsTAFSSD
12
B
ING-INF/05
One course to be chosen among the following
6
B
INF/01
Training
6
F
-
Final exam
6
E
-
activated in the A.Y. 2018/2019
ModulesCreditsTAFSSD
12
B
INF/01
6
C
FIS/01
6
B
ING-INF/05
12
B
ING-INF/05
activated in the A.Y. 2019/2020
ModulesCreditsTAFSSD
12
B
ING-INF/05
One course to be chosen among the following
6
B
INF/01
Training
6
F
-
Final exam
6
E
-

Legend | Type of training activity (TTA)

TAF (Type of Educational Activity) All courses and activities are classified into different types of educational activities, indicated by a letter.




S Placements in companies, public or private institutions and professional associations

Teaching code

4S02723

Credits

12

Coordinator

Luca Marchetti

Language

Italian

Scientific Disciplinary Sector (SSD)

INF/01 - INFORMATICS

The teaching is organized as follows:

Teoria

Credits

8

Period

I sem., II sem.

Academic staff

Luca Marchetti

Laboratorio

Credits

4

Period

I sem., II sem.

Academic staff

Vincenzo Bonnici

Learning outcomes

This course provides students with the basic abilities needed to write programs in the C programming language. 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.
At the end of the course, the students will be able to develop and to organize programs in C language and they will know how to:
-) implement algorithms of medium complexity;
-) analize and debug C code.

Program

Theory:
------------
• Introduction.
• Fundamental concepts: programming, high-level languages, operating systems, program compiling.
• Compiling and execution of the first program: first program compiling, first program execution, first program description, variable visualization, comments.
• Variables, data types and arithmetic expressions: operating with variables, data types and constants, operating with arithmetic expressions, combining operations with assignment – assignment operators.
• Iteration: for instruction, while instruction, do instruction.
• Taking decisions: if instruction, switch instruction, Boolean variables, conditional statement.
• Statements with arrays: array definition, array initialization, arrays of chars, multidimensional arrays.
• Functions: function definition, arguments and local variables, returning results of a function, functions that call functions that calling functions…, top-down programming, functions and arrays, global variables, automatic and static variables, recursive functions.
• Structures: a structure for data storing, functions and structures, structure initialization, array of structures, structures containing structures, structures containing arrays, variants of structures.
• Strings of chars: arrays of chars, strings of chars of variable length, escape sequences, other information of constant strings, char strings, structures and arrays, operations with chars.
• Pointers: pointer definition, using pointers in expressions, pointers and structures, pointers and functions, pointers and arrays, operations on pointers, pointers and memory addresses.
• The preprocessing: #define directive, #include directive, conditional compiling.
• Input/Output operations: I/O of chars – getchar and putchar, printf and scanf
• Advanced characteristics: comma operator, dynamic memory allocation.

Laboratory:
-----------------
• Introduction, file system, bash, editor.
• Practical programming in lab by applying all the arguments explained in the theory part: examples, exercises.
• Code debugging: gdb, ddd, and CodeBlocks.

Bibliography

Reference texts
Activity Author Title Publishing house Year ISBN Notes
Teoria Stephen G. Kochan Programmare in C (Edizione 3) Pearson 2011 9788871926605
Laboratorio Stephen G. Kochan Programmare in C (Edizione 3) Pearson 2011 9788871926605

Examination Methods

The exam, unified with the Laboratory module, consists in two parts, that will take place around February (first part) and June (second part). The final global mark will be the composition (average) of the marks 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.
The exams (partial as well as total) verify the ability in writing simple programs to the computer, in lab.
To pass the exam, the students have to show:
- they have understood the principles related to the programming in C language
- they are able to develop C code and to analyze its correctness and problems through debugging
- they are able to apply the acquired knowledge to implement algorithms in C code by starting from specifications given as exercises.
The emphasis in the evaluation will be given to the ability to organize algorithms and data structures and to translate them into the C language with no significant syntactical errors.

Students with disabilities or specific learning disorders (SLD), who intend to request the adaptation of the exam, must follow the instructions given HERE