The course covers data structures and techniques for constructing efficient algorithms, including their analysis with respect to efficiency. It stresses the importance of adapting standard algorithms and data structures to the peculiarities of both the given problem and the underlying hardware, because efficiency does not only depend on the intrinsic asymptotic efficiency of an algorithm, but also on the context in which it is applied.
Typical algorithmic techniques are divide-and-conquer, greedy methods, and dynamic programming. As efficient data structures form the basis for many of these techniques, important data structures, their analysis and advantages and disadvantages depending on circumstances are covered as well. Examples of data structures to be covered are heaps, disjoint sets, and tree data structures.
Entry requirements include either a bachelor's degree in Computer Science or at least 90 ECTS of which at least 60 ECTS in Computer Science.
The following courses (or equivalent) are required: - Introduction to discrete mathematics, 7.5 ECTS - at least 7.5 ECTS in formal languages (e.g., CS3: Computations and Languages or Fundamentals of Computer Science) - at least 7.5 ECTS in data structures and algorithms
Proficiency in English equivalent to Swedish upper secondary course English B/6. Where the language of instruction is Swedish, applicants must prove proficiency in Swedish to the level required for basic eligibility for higher studies.
Applicants in some programs at Umeå University have guaranteed admission to this course. The number of places for a single course may therefore be limited.
Application deadline was
19 April 2022.
Please note: This second application round is intended only for EU/EEA/Swiss citizens.