GENERAL INFORMATICS
Course objectives
General objectives Acquire basic knowledge on the design of basic algorithms, iterative and recursive algorithms, and the computation of their computational efficiency. Specific objectives Knowledge and understanding: At the end of the course students will know the basic methodologies for the design and analysis of iterative and recursive algorithms, the main data structures, some ways to explore such structures, the main sorting algorithms and the most basic implementations of the dictionaries. They will have a good knowledge of the C language, including advanced aspects such as dynamic memory allocation, pointer arithmetic and separate program compilation. 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, on the basis of 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. Finally, they will be able to implement the learned algorithms and data structures in the C language, with attention also to the correctness, clarity and concrete efficiency of the programs. 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 views. 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 both at high level, through the use of the pseudocode, and in the C language. Learning ability: Once the cycle of studies is completed, the acquired knowledge will allow students to face the study of algorithmic techniques, of more advanced data structures and of advanced programming methodologies within a master's degree course.
Program - Frequency - Exams
Course program
Prerequisites
Books
Teaching mode
Frequency
Exam mode
Bibliography
Lesson mode
Program - Frequency - Exams
Course program
Prerequisites
Books
Teaching mode
Frequency
Exam mode
Bibliography
Lesson mode
Program - Frequency - Exams
Course program
Prerequisites
Books
Teaching mode
Exam mode
Lesson mode
- Lesson code1032750
- Academic year2024/2025
- CourseMathematics
- CurriculumGenerale
- Year2nd year
- Semester1st semester
- SSDINF/01
- CFU9
- Subject areaAttività formative affini o integrative