IT-Universitetet i København
  Tilbage Kursusoversigt
Kursusnavn (dansk):Algorithm Design Project 
Kursusnavn (engelsk):Algorithm Design Project 
Semester:Efterår 2013 
Udbydes, softwareudvikling og -teknologi (sdt) 
Omfang i ECTS:7,50 
Min. antal deltagere:12 
Forventet antal deltagere:20 
Maks. antal deltagere:40 
Formelle forudsætninger:Before the course, the student should be able to:
  • Perform basic analysis of algorithm correctness and complexity, using invariants and big-O notation.
  • Use basic algorithms and data structures when programming (e.g., lists, queues, stacks, search trees, hashing, sorting algorithms, and basic graph algorithms).
  • Use basic algorithmic techniques to design algorithms for a given problem (e.g. greedy, divide and conquer, dynamic programming)
This can be achieved, for example, by taking the courses "Foundations of Computing - Algorithms and Data Structures" and "Algorithm Design 1". 
Læringsmål:After the course, the student should be able to solve a wider range of real-life programming problems in a scalable way, by employing algorithmic design techniques and tools. In particular, you should be able to:
  • Identify and formulate precisely (if possible) the algorithmic problem hidden in a given programming task.
  • Theoretically analyze the performance of a given algorithmic solution, including the analysis of basic approximation algorithms and basic randomized algorithms.
  • At a basic level, evaluate theoretically the performance of an algorithm in a parallel or distributed setting, and in situations where there is a massive amount of data.
  • Find results in the algorithms research literature relevant to a given problem.
Fagligt indhold:This course will introduce students to techniques for solving complex programming tasks arising in modern IT systems. Focus in the course is on algorithm design and analysis.

Contents of lectures includes: Approximation algorithms, randomized algorithms, algorithms for data streams, algorithms for big data, and frameworks for parallel/distributed computation.

On top of that the course will give an overview of possible thesis subjects in this area and offer a possibility of matching students to supervisors. 

Teaching consists of a mix of lectures and project work. In the project, groups of students will consider several algorithmic problems, and document their work on those problems in a project report.

Condensed course: The course will run strictly after Algorithm Design 1, in the second half of the semester week 43-50, at double pace.

Information about study structure

This course is part of the SDT specializations Scalable Computing and Data Processing- see the descriptions here:
SDT specializations


Se hvordan undervisningen er tilrettelagt her:
link til skemaoplysninger
Skemaoplysningerne vil være tilgængelige fra kort før semesterstart.

See the schedule here:
link to the time table
The schedule will be available shortly before the beginning of the term.

NB!! Course restriction!!

Please note that there is a course restriction between this course and the course Algorithm Design 15 ECTS and Advanced Algorithms.
That means that you cannot take this course, if you have already taken Algorithm Design 15 ECTS or Advanced Algorithms and that you cannot take Algorithm Design 15 ECTS or Advanced Algorithms if you take this course. 

Obligatoriske aktivititer:Der er ingen obligatoriske aktiviteter. Vær venlig KUN at ændre denne tekst når der er obligatoriske aktiviteter./
There are no mandatory activities. Please, change this text ONLY when there are mandatory activities. 
Eksamensform og -beskrivelse:X. experimental examination form (7-scale; external exam), 7-trins-skala, Ekstern prøve

Duration of exam 20 min per student.  

Litteratur udover forskningsartikler:Algorithm Design, by Eva Tardos and Jon Kleinberg, Addison-Wesley, 2005. ISBN-10: 0321372913, ISBN-13: 978-0321372918. 
Følgende personer underviser på kurset:
NavnStillingUndervisertypeIndsats (%)
Rasmus Pagh Lektor(ITU) Kursusansvarlig 20
Francesco Silvestri Ekstern lektor(ITU) Underviser 80

Afholdelse (tid og sted)
Kurset afholdes på følgende tid og sted:
Torsdag 10.00-11.50 Forelæsning ITU 2A54
Torsdag 12.00-13.50 Øvelser ITU 2A54

Eksamen afholdes på følgende tid og sted:
2013-12-16 No later than 2PM Skriftlige arbejder ITU Study Affairs and Programmes
2014-01-10 contact course manager Mundtlig eksamen ITU 2A12
2014-01-13 contact course manager Mundtlig eksamen ITU 2A12