Il corso è tenuto in lingua inglese (si prega di vedere la sezione corrispondente).
The advanced nature of this course focuses on developing algorithmic design skills, exposing the students to complex problems that cannot be directly handled by standard libraries (being aware that several basic algorithms and data structures are already covered by the libraries of modern programming languages), thus requiring a significant effort in problem solving. These problems involve all basic data types, such as integers, strings, (geometric) points, trees and graphs as a starting point.
Il corso è tenuto in lingua inglese (si prega di vedere la sezione corrispondente).
Most of the activity is lead by the teacher in class, once a week with hands-on tasks. The students have to show that they can manage the algorithmic techniques described in the handouts.
Il corso è tenuto in lingua inglese (si prega di vedere la sezione corrispondente).
Advanced problem solving, for problems that are combinatorially hard or large-scale to handle.
Il corso è tenuto in lingua inglese (si prega di vedere la sezione corrispondente).
This follows the same pattern as the assessment crtieria of knowledge, as each student must write a report on the hands-on activity.
Il corso è tenuto in lingua inglese (si prega di vedere la sezione corrispondente).
The hands-on activity is held in groups, so socialization and interaction are improved.
Il corso è tenuto in lingua inglese (si prega di vedere la sezione corrispondente).
The teacher supervises the hands-on activiy.
Il corso è tenuto in lingua inglese (si prega di vedere la sezione corrispondente).
Introductory course on algorithms and data structures.
Introductory course on discrete mathematics for computer science.
Introductory course on programming.
Il corso è tenuto in lingua inglese (si prega di vedere la sezione corrispondente).
Most of the creative work is done in class under the teacher supervision, with brainstorming activity.
Il corso è tenuto in lingua inglese (si prega di vedere la sezione corrispondente).
The syllabus is structured to highlight the applicative situations in which the corresponding algorithms can be successfully employed, making references to software applications and libraries. The level of detail in each argument can change year-by-year, and will be decided according to requests coming from other courses in the curriculum and/or specific issues arising in, possibly novel, applicative scenarios.
Il corso è tenuto in lingua inglese (si prega di vedere la sezione corrispondente).
Handsout avalilable in the MS Teams channel of the course.
Il corso è tenuto in lingua inglese (si prega di vedere la sezione corrispondente).
The activty in class is quite relevant but not mandatory. For those who cannot attend, please contact the teacher to opt for a custom assignment for the exam.
Il corso è tenuto in lingua inglese (si prega di vedere la sezione corrispondente).
Written exam:
Oral exam: topics discussed in class, please read the references in the notes.
http://didawiki.cli.di.unipi.it/doku.php/magistraleinformatica/ad/start