PROGRAMMING Single channel
Chair (Coordinator) and Rapporteur: ANGELO SPOGNARDI
Module 1: UNIT 1
- Activity type
- Formazione informatica
- SSD
- INFO-01/A
- Year
- 1st year
- Semester
- 1st semester
- CFU
- 6
- Hours distribution
- 36 classroom hours, 24 laboratory hours
- Lecturers
- ANGELO SPOGNARDI
Module 2: UNIT 2
- Activity type
- Formazione informatica
- SSD
- INFO-01/A
- Year
- 1st year
- Semester
- 1st semester
- CFU
- 6
- Hours distribution
- 36 classroom hours, 24 laboratory hours
- Lecturers
- ANDREA STERBINI
Objectives
General objectives:
This course will introduce students to very basic algorithm design and analysis. They will learn various established algorithms for solving fundamental problems, such as sorting or searching, together with the simplest tools to analyze them.
Knowledge and understanding
At the end of the course, students will be familiar with the basic methodologies for the design and analysis of iterative and recursive algorithms, elementary data structures, major sorting algorithms, and the most basic implementations of the dictionaries.
Apply knowledge and understanding:
At the end of the course, students will have become familiar with the main basic data structures, in particular those implementing dictionaries. They will be able to explain the algorithms and analyze their time complexity, highlighting how their performances depend on the used data structure. They will be able to design new data structures and related algorithms based on the existing ones; they will be able to explain the main sorting algorithms, illustrating the underlying design strategies and their time complexity analysis; they will be able to compare the asymptotic behavior of the execution times of the studied algorithms, to design recursive solutions to problems and to analyze their asymptotic time complexity.
Critical and judgmental skills
Students will be able to analyze the quality of an algorithm and related data structures, both from the effective resolution of the problem and from the time complexity point of view.
Communication skills
Students will acquire the ability to expose their knowledge in a clear and organized way, which will be verified both through the written tests and during the oral examination. Students will be able to express an algorithmic idea rigorously at a high level, in pseudocode.
Learning ability
The acquired knowledge will allow students to face the study of other algorithmic design methodologies and more advanced data structures within a master's degree course.
Learning outcomes
Module: UNIT 1
N/D
Module: UNIT 2
N/D
Prerequisites
Module: UNIT 1
N/D
Module: UNIT 2
N/D
Programme
Module: UNIT 1
N/D
Module: UNIT 2
N/D
Books
Module: UNIT 1
N/D
Module: UNIT 2
N/D
Bibliography
Module: UNIT 1
N/D
Module: UNIT 2
N/D
Lessons mode
Module: UNIT 1
N/D
Module: UNIT 2
N/D
Frequency
Module: UNIT 1
N/D
Module: UNIT 2
N/D
Exam mode
Module: UNIT 1
N/D
Module: UNIT 2
N/D
Example exam questions
Module: UNIT 1
N/D
Module: UNIT 2
N/D
Arguments
Module: UNIT 1
N/D
Module: UNIT 2
N/D
- Academic year2026/2027
- Degree program to which the course belongsApplied Computer Science and Artificial Intelligence
- Mandatory presenceNo
- Languageeng
- CFU12 CFU, distributed among 2 integrated didactic modules
- Total duration120 hours