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.

Study Plan

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  It will be activated in the A.Y. 2027/2028

ModulesCreditsTAFSSD
12
A
INFO-01/A
6
A
PHYS-03/A
12
B
INFO-01/A
6
B
INFO-01/A
6
C
MATH-01/A

3° Year  It will be activated in the A.Y. 2028/2029

ModulesCreditsTAFSSD
6
B
INFO-01/A
Final exam
6
E
-
It will be activated in the A.Y. 2027/2028
ModulesCreditsTAFSSD
12
A
INFO-01/A
6
A
PHYS-03/A
12
B
INFO-01/A
6
B
INFO-01/A
6
C
MATH-01/A
It will be activated in the A.Y. 2028/2029
ModulesCreditsTAFSSD
6
B
INFO-01/A
Final exam
6
E
-
Modules Credits TAF SSD
Between the years: 2°- 3°
Training
6
F
-
Between the years: 2°- 3°

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

Sara Migliorini

Language

Italian

Also offered in courses:

Scientific Disciplinary Sector (SSD)

INFO-01/A - Informatics

Courses Single

Authorized

The teaching is organized as follows:

Teoria 1

Credits

3

Period

I semestre

Academic staff

Sara Migliorini

Laboratorio 1

Credits

2

Period

I semestre

Academic staff

Sara Migliorini

Esercitazioni 1

Credits

1

Period

I semestre

Academic staff

Sara Migliorini

Teoria 2

Credits

3

Period

II semestre

Academic staff

Nicola Fausto Spoto

Laboratorio 2

Credits

2

Period

II semestre

Academic staff

Nicola Fausto Spoto

Esercitazioni 2

Credits

1

Period

II semestre

Academic staff

Nicola Fausto Spoto

Learning objectives

This course provides students with the basic ability needed to write programs in an imperative lan- guage of procedural nature (e.g., C), with particular emphasis on the relationship between the pro- gramming language and the underlying hardware machine, on the concept of recursion, and on the implementation of simple data structures, both recursive and non-recursive. At the end of the course, the student will have to demonstrate to own knowledge and comprehension ability on the concepts at the basis of programming through an imperative language of procedural nature; organization ability, implementation and translation on that language, and analysis through de bugging of algorithms and of the corresponding data structures starting from specifications; to be able to develop know-how necessary to continue the study autonomously in the field of programming and Software development.

Prerequisites and basic notions

No requirements

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

Bibliography

Visualizza la bibliografia con Leganto, strumento che il Sistema Bibliotecario mette a disposizione per recuperare i testi in programma d'esame in modo semplice e innovativo.

Didactic methods

In-person classes and practical sessions in lab.

Learning assessment procedures

The exam is combined with the laboratory component.

The course includes an optional active teaching method, designed to encourage attendance, participation, and progressive study. Five short, unannounced tests will be administered each semester (for a total of 10 throughout the academic year), in the form of quizzes or graded exercises, completed during regular lectures or exercises. These tests serve both educational and incentive purposes and allow for the accumulation of an additional score, equal to a maximum of 1 point for each test, to be integrated with the exam result according to the conditions indicated below.

The score for the ongoing activities is awarded exclusively to students who have participated in at least 70% of the ongoing tests. This score can be used only once and is added to the exam score only if the exam is taken during the summer session and the score achieved is 15 out of 25 or higher.

Students have five scheduled exam sessions per year.

There are no partial exams after the first semester.

The exams consist of coding in a lab.

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

Evaluation criteria

To pass the exam, students must demonstrate:
- an understanding of the principles underlying C programming;
- the ability to develop C code and analyze its correctness, including through debugging;
- the ability to apply the acquired knowledge to implement solution algorithms starting from given specifications in the form of exercises.

The ability to design appropriate algorithms and data structures and translate them correctly into C will be assessed.

Criteria for the composition of the final grade

The final grade is determined by the score achieved in the exam, supplemented, if necessary, with the score from ongoing tests. Students who do not avail themselves of the additional score earned through ongoing tests take a regular exam, worth up to a maximum of 33 points. Students who have earned the additional score through ongoing tests may take a dedicated exam, worth up to a maximum of 25 points, during the summer session and only once. This exam consists of programming exercises designed to comprehensively assess the knowledge and skills acquired on the main topics of the course, without focusing exclusively on a specific subset of content.

The additional score earned from ongoing tests is added to the score from the dedicated exam, up to a maximum overall score of 35 points. The additional score is awarded according to the conditions indicated in the learning assessment methods.

Exam language

Italiano