Advanced Algorithms

2018/2019

Prerequisite/Recommended prerequisite for participation in the module

The module adds to knowledge obtained in Computability and Complexity and knowledge of algorithms and data structures, principles of operating systems and parallel systems

Content, progress and pedagogy of the module

Learning objectives

Knowledge

  • algorithm design techniques such as divide-and-conquer, greedy algorithms, dynamic programming, back-tracking, Branch-and-bound algorithms and plane-sweep algorithms
  • algorithm analysis techniques such as recurrences, amortized analysis, analysis of the expected complexity and experimentation with algorithms
  • a set of core algorithms and data structures for solving problems from different computer science areas: algorithms for external memory, multi-threaded algorithms, text search , advanced graph algorithms, heuristic search and computational geometry

There will also be one or more optional subjects in advanced algorithms including, but not limited to: approximate algorithms, randomized algorithms, linear programming and number theoretic algorithms such as cryptosystems.

Skills

  • ability to explain the principles behind the main algorithm design and algorithm analysis techniques
  • select and apply the algorithm design and algorithm analysis techniques for a given problem
  • recognize a number of problems from different computer science fields and select the most appropriate algorithms and data structures for solving them
  • Argue about the correctness of selected algorithms, in particular, selected dynamic-programming, greedy, and approximation algorithms

Competences

When faced with a non-standard computer science problem, the student should be able to:

  • develop efficient algorithms and data structures for solving the problem
  • analyze the developed algorithms

Type of instruction

The teaching is organized according to the general teaching methods for the education, cf. chapter 3

Extent and expected workload

It is expected that the student uses 30 hours per ECTS, which for this activity means 150 hours

Exam

Exams

Name of examAdvanced Algorithms
Type of exam
Written or oral exam
ECTS5
Assessment7-point grading scale
Type of gradingInternal examination
Criteria of assessmentAre stated in the Joint Programme Regulations

Additional information

Contact: The Study board for Computer Science at cs-sn@cs.aau.dk or 9940 8854

Facts about the module

Danish titleAvancerede algoritmer
Module codeDSNCSITK202
Module typeCourse
Duration1 semester
SemesterSpring
ECTS5
Language of instructionEnglish
Empty-place SchemeYes
Location of the lectureCampus Aalborg
Responsible for the module

Organisation

Study BoardStudy Board of Computer Science
FacultyTechnical Faculty of IT and Design