ID:
TDS06
Tipo Insegnamento:
Obbligatorio
Durata (ore):
60
CFU:
8
SSD:
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
Url:
MANAGEMENT AND COMPUTER SCIENCE/BASE Anno: 1
Anno:
2023
Dati Generali
Periodo di attività
Secondo Semestre (05/02/2024 - 04/05/2024)
Syllabus
Obiettivi Formativi
The course aims at providing the students with a wide knowledge of fundamental algorithms and data structures, with emphasis on applications and performance analysis of real implementations. It will develop algorithmic design skills, exposing the students to complex problems that require significant problem solving efforts and that can be exploited in a variety of contexts.
Prerequisiti
Basic knowledge of a programming language, such as Python, from an introductory course to computer programming.
Metodi didattici
Lectures, lab sessions and group project work. Students’ participation during lectures is strongly encouraged.
Verifica Apprendimento
Competences will be assessed via a written theory exam (75% of the final grade) and a group project work (25% of the final grade).
We will adopt a continuous assessment model of evaluation, with three intermediate theory tests that contribute up to 26 points to the final grade (8 points per test + a 2-point bonus for active participation).
If the results of the intermediate tests are not sufficient, students will be required to take a written exam (up to 24 points) on the full program in one of the normal sessions.
The software project will be introduced since the very beginning of the course (week 1), with intermediate milestones and feedback. The project should be completed by the first exam session. There will be a penalty for late submissions.
Additional details are available on Luiss Learn.
We will adopt a continuous assessment model of evaluation, with three intermediate theory tests that contribute up to 26 points to the final grade (8 points per test + a 2-point bonus for active participation).
If the results of the intermediate tests are not sufficient, students will be required to take a written exam (up to 24 points) on the full program in one of the normal sessions.
The software project will be introduced since the very beginning of the course (week 1), with intermediate milestones and feedback. The project should be completed by the first exam session. There will be a penalty for late submissions.
Additional details are available on Luiss Learn.
Testi
Lecture notes and other course material provided by the teacher and made available on the Luiss Learn platform.
Two useful textbooks:
- Jeff Erickson. Algorithms. Available online at: http://jeffe.cs.illinois.edu/teaching/algorithms/
- Thomas H. Cormen. Charles E. Leiserson. Ronald L. Rivest. Clifford Stein. Introduction to Algorithms. Third Edition. The MIT Press. Cambridge, Massachusetts.
Two useful textbooks:
- Jeff Erickson. Algorithms. Available online at: http://jeffe.cs.illinois.edu/teaching/algorithms/
- Thomas H. Cormen. Charles E. Leiserson. Ronald L. Rivest. Clifford Stein. Introduction to Algorithms. Third Edition. The MIT Press. Cambridge, Massachusetts.
Contenuti
The course focuses on the design and analysis of algorithms and data structures. In particular, it will cover the following topics:
- Fundamental algorithms: searching and sorting
- Advanced data types: priority queues and dictionaries
- Graph algorithms: breadth-first and depth-first search, minimum spanning trees, and shortest paths.
- Algorithmic techniques: divide and conquer, greedy, dynamic programming
- Fundamental algorithms: searching and sorting
- Advanced data types: priority queues and dictionaries
- Graph algorithms: breadth-first and depth-first search, minimum spanning trees, and shortest paths.
- Algorithmic techniques: divide and conquer, greedy, dynamic programming
Risultati di Apprendimento Attesi
Knowledge and understanding:
At the end of the course the students will have a deep knowledge of fundamental algorithmic techniques for solving efficiently a variety of computational problems. They will also acquire a clear understanding of the impact of algorithms in today’s and tomorrow’s business and society.
Applying knowledge and understanding:
The students will be able to:
- understand and define clear requirements to a problem, decompose it into manageable pieces, assess alternative problem solving strategies, and employ algorithmic techniques to design efficient solutions
- implement and engineer their algorithmic solutions using the programming skills obtained in previous courses
Making judgements:
We expect students to be able to analyze and compare different solutions to computational problems, critically choosing the most efficient one on a rigorous methodological basis.
Communication skills:
The course will give the students the ability to communicate effectively - in English - their ideas, proposals, and critical reasoning in the field of algorithm design, analysis, and implementation.
Learning skills:
This course will provide the students with the ability to learn a series of design and analytical tools and to apply them to real problems. The method of study will make the students able to break down complex problems arising in specific applications into manageable pieces and to apply algorithmic patterns in order to design rigorous and documentable solutions.
At the end of the course the students will have a deep knowledge of fundamental algorithmic techniques for solving efficiently a variety of computational problems. They will also acquire a clear understanding of the impact of algorithms in today’s and tomorrow’s business and society.
Applying knowledge and understanding:
The students will be able to:
- understand and define clear requirements to a problem, decompose it into manageable pieces, assess alternative problem solving strategies, and employ algorithmic techniques to design efficient solutions
- implement and engineer their algorithmic solutions using the programming skills obtained in previous courses
Making judgements:
We expect students to be able to analyze and compare different solutions to computational problems, critically choosing the most efficient one on a rigorous methodological basis.
Communication skills:
The course will give the students the ability to communicate effectively - in English - their ideas, proposals, and critical reasoning in the field of algorithm design, analysis, and implementation.
Learning skills:
This course will provide the students with the ability to learn a series of design and analytical tools and to apply them to real problems. The method of study will make the students able to break down complex problems arising in specific applications into manageable pieces and to apply algorithmic patterns in order to design rigorous and documentable solutions.
Criteri Necessari per l'Assegnazione del Lavoro Finale
A thesis will be assigned (upon specific request to the instructor) to students who have average grade > 27/30 and who demonstrate a serious and motivated interest to the course topics.
Corsi
Corsi
3 anni
No Results Found
Persone
Persone (3)
Altro personale docente
Docenti di ruolo di Ia fascia
Titolare di Vetrya Chair in Machine Learning and Artifical Intelligence
No Results Found