IDATA2302
Algorithms and Data Structures
Autumn
Ålesund
Norwegian and English
About this 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 outcomes
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
Teaching methods
Lectures, exercises, mentoring.