Course - Algorithms and Data Structures - IDATA2302
Algorithms and Data Structures
Choose study yearAbout
About the course
Course content
The course is about problem solving using algorithmic thinking.
Techniques and algorithms:
- Recursion
- Sorting
- Searching
- Hashing
- Graph algorithms
Data structures:
- Tables/arrays
- Lists
- Queues
- Stacks
- Trees
- Graphs
Complexity theory:
- Complexity and Big O notation
- Time- and memory use
Learning outcome
Knowledge - candidate:
- Is familiar with, can explain and apply a set of standard algorithms, including sorting, searching and graph algorithms.
- Can describe and explain different data structures (arrays/tables, linked lists, queues, stacks, trees and graphs).
- Understands recursive thinking/method for problem solving and programming.
- Can compare algorithm complexity.
- Can describe NP-completeness.
Skills - candidate:
- Can apply a set of known algorithms for effectively solve practical programming problems.
- Can handle advanced data structures (with emphasis on trees and graphs)
General competence - candidate:
- Can combine standard algorithms into larger programs.
- Is aware of the connection between complexity and execution time for programs
Learning methods and activities
Lectures, exercises, mentoring.
Compulsory assignments
- Exercises
Further on evaluation
A re-sit exam in May/June can be an oral exam.
Specific conditions
Admission to a programme of study is required:
Computer Science - Engineering (BIDATA)
Recommended previous knowledge
A fundamental course in programming. Knowledge in mathematics, especially in basic logic, would be helpful.
Course materials
Will be announced at the start of the course
Credit reductions
Course code | Reduction | From |
---|---|---|
TDT4120 | 7.5 sp | Autumn 2020 |
IMT2021 | 7.5 sp | Autumn 2020 |
TDAT2005 | 7.5 sp | Autumn 2020 |
IDATT2101 | 7.5 sp | Autumn 2020 |
IDATG2102 | 7.5 sp | Autumn 2020 |
TDT4121 | 7.5 sp | Autumn 2022 |
Subject areas
- Computer and Information Science
- ICT and Mathematics
- Computer Science
- Algorithm Construction
- Analysis
- Computer Systems
- Information Technology and Informatics
- Engineering