Module Details

Foundations of algorithms and data structures

GS0980

Course
Foundations of algorithms and data structures
Code
GS0980
Academic Year
2026/2027
Curriculum Year
2023/2024
Degree Programme
LAW
Curriculum
A001 - GENERICO
Course coordinator
-
Lecturers
Credits
6
Lecture Hours
44
Scientific Disciplinary Sector (SSD)
INF/01 - Computer Science
Course Type
Single-subject learning activity
Course Delivery
OPZ - Opzionale
Year
4
Teaching period
Secondo Semestre
Campus
ALESSANDRIA
Teaching language
Italian
Course Contents
The course introduces the fundamental principles of algorithmic formalization and the data structures underlying digital systems.
The approach is conceptual and applied to the legal context, without resorting to advanced mathematical formalisms.
Reference Texts
Material provided by the teacher during the lessons and published on DIR
Learning Outcomes
The course aims to provide:
- Ability to formalize decision-making processes;
- Understanding of key data structures;
- Ability to connect algorithmic structure and real-world systems;
- Qualitative awareness of scalability issues.
Prerequisites
Skills acquired during the Informatica I course
Teaching Methods
- Lectures with structural examples;
- Formalization exercises in Python ;
- Analysis of cases already studied in Informatica II;
- Guided modeling activities.
Additional Information
The course is coordinated with Computer Science II but maintains autonomy in terms of content and assessment methods.
Students with physical disabilities, Learning Disabilities or Special Education Needs can request specific services and tools via reference office consulting the University webpage: https://www.uniupo.it/en/services/services-students-physical-or-learning-disabilities. Students with disabilities, learning disabilities or special education needs, once they have contacted the University Staff, can refer to the tutor in charge of the course to define the examination modalities, concerning academic aspects
Assessment Methods
The exam consists of:
1. Written or practical exam, consisting of the formalization of algorithms and data structures.
2. Oral exam, aimed at assessing conceptual understanding and connection to real-world systems.
Detailed Syllabus
1. Algorithm Concept
Sequence of steps; input/output; correctness; determinism.
2. Sequential data structures
Lists; search; filtering; aggregation.
3. Sorting and prioritization
Conceptual sorting; qualitative comparison between procedures; prioritized queues.
4. Advanced data structures
Dictionaries; hashes (conceptual); trees; graphs.
5. Modeling complex systems
Formalization of decision-making systems; sequence analysis; patterns.
Expected Learning Outcomes
Upon completion of the course, students will be able to:
- Formalize a decision-making process in algorithmic terms;
- Understand the structure of databases, rankings, and automated systems;
- Connect formal models to digital legal problems;
- Qualitatively evaluate the efficiency of a procedure.
Last update:09-09-2026 00:14:31