View syllabus
ALGORITHM DESIGN
ROBERTO GROSSI
Academic year2023/24
CourseCOMPUTER SCIENCE
Code642AA
Credits9
PeriodSemester 2
LanguageEnglish

ModulesAreaTypeHoursTeacher(s)
ALGORITHM DESIGNINF/01LEZIONI72
FILIPPO GERACI unimap
ROBERTO GROSSI unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

Il corso è tenuto in lingua inglese (si prega di vedere la sezione corrispondente).

Knowledge

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. 

Modalità di verifica delle conoscenze

Il corso è tenuto in lingua inglese (si prega di vedere la sezione corrispondente).

Assessment criteria of knowledge

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.

 

Capacità

Il corso è tenuto in lingua inglese (si prega di vedere la sezione corrispondente).

Skills

Advanced problem solving, for problems that are combinatorially hard or large-scale to handle.

Modalità di verifica delle capacità

Il corso è tenuto in lingua inglese (si prega di vedere la sezione corrispondente).

Assessment criteria of skills

This follows the same pattern as the assessment crtieria of knowledge, as each student must write a report on the hands-on activity.

Comportamenti

Il corso è tenuto in lingua inglese (si prega di vedere la sezione corrispondente).

Behaviors

The hands-on activity is held in groups, so socialization and interaction are improved.

Modalità di verifica dei comportamenti

Il corso è tenuto in lingua inglese (si prega di vedere la sezione corrispondente).

Assessment criteria of behaviors

The teacher supervises the hands-on activiy.

Prerequisiti (conoscenze iniziali)

Il corso è tenuto in lingua inglese (si prega di vedere la sezione corrispondente).

Prerequisites

Introductory course on algorithms and data structures.

Introductory course on discrete mathematics for computer science.

Introductory course on programming.

Indicazioni metodologiche

Il corso è tenuto in lingua inglese (si prega di vedere la sezione corrispondente).

Teaching methods

Most of the creative work is done in class under the teacher supervision, with brainstorming activity.

Programma (contenuti dell'insegnamento)

Il corso è tenuto in lingua inglese (si prega di vedere la sezione corrispondente).

Syllabus

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.

Bibliografia e materiale didattico

Il corso è tenuto in lingua inglese (si prega di vedere la sezione corrispondente).

Bibliography

Handsout avalilable in the MS Teams channel of the course.

Indicazioni per non frequentanti

Il corso è tenuto in lingua inglese (si prega di vedere la sezione corrispondente).

Non-attending students info

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.

Modalità d'esame

Il corso è tenuto in lingua inglese (si prega di vedere la sezione corrispondente).

Assessment methods

Written exam:

  1. choose one of the topics discussed in class
  2. write a very short to-do list and ask the instructor for approval
  3. if the instructor suggests some mods, modify the to-do list according to the instructor's comments and repeat step 2
  4. if the chosen topic and the to-do list are approved, expand the to-do list into a more detailed to-do list and repeat step 3
  5. make a written report in English and submit it to the instructor (recall to add at least 20% new content, when compared to what seen in class)
  6. meet the instructor to read together the report and get some comments on it
  7. make the necessary mods

 

Oral exam: topics discussed in class, please read the references in the notes.

Updated: 02/12/2023 17:45