Course - Algorithms and Data Structures - TDT4120
Algorithms and Data Structures
About
About the course
Course content
Methods for analysing the efficiency of algorithms, divide and conquer techniques, recursive solution methods. Methods for ordering, searching and sorting. Data structures for efficient retrieval of data, dynamic programming and greedy algorithms. Data structures for implementing graphs and networks, as well as methods for traversals and searches. Algorithms for finding the best path(s) and matchings, spanning trees and maximum flow. Theory of problem complexity. Algorithms are expressed in a language-independent manner.
Learning outcome
Knowledge the candidate should have knowledge about:
- A broad spectrum of established algorithms that are useful in several areas of application.
- Classical algorithmic problems with known efficient solutions.
- Complex problems without known efficient solutions.
Skills the candidate should be able to:
- Analyze the efficiency of an algorithm to achieve good solutions for a given problem.
- Formulate a problem so it can be handled in a rational manner by an algorithm.
- Use well-known design methods to construct new efficient algorithms.
General competence the candidate should be able to:
- Use well-known algorithms and available program modules on new problems.
- Develop and implement new solutions for complex problems with a basis in practical reality.
Learning methods and activities
Lectures and individual exercises.
Compulsory assignments
- Exercises
Further on evaluation
If there is a re-sit examination, the examination form may change from written to oral.
Recommended previous knowledge
The students are assumed to have basic programming skills, and to have a good understanding of recursion. The students are also assumed to be familiar with basic mathematical notation and such concepts as functions, monotonicity, logarithms, polynomials, limits, sets, relations, orders, graphs, trees, permutations and combinations, proof by induction, series and partial sums, and basic probability calculus. Specifically TDT4100 or TDT4102 Object-Oriented Programming and TMA4140 or MA0301 Discrete Mathematics are recommended.
Course materials
Cormen, Leiserson, Rivest, Stein: Introduction to Algorithms, third edition. (This may change.)
Credit reductions
| Course code | Reduction | From |
|---|---|---|
| SIF8010 | 7.5 sp | |
| IT1105 | 7.5 sp | |
| MNFIT115 | 7.5 sp | |
| MNFIT112 | 7.5 sp | |
| IDATA2302 | 7.5 sp | |
| IDATT2101 | 7.5 sp |
Subject areas
- Technological subjects
Contact information
Course coordinator
Lecturers
Department with academic responsibility
Examination
Examination
Ordinary examination - Autumn 2020
Home exam (1)
Submission 2020-11-24 Time Release 09:00
Submission 13:00 Duration 4 hours Exam system Inspera Assessment
- Other comments
- 1) Merk at eksamensform er endret som et smittevernstiltak i den pågående koronasituasjonen. Please note that the exam form has changed as a preventive measure in the ongoing corona situation.