course-details-portlet

IDATT2101

Algorithms and data structures

Choose study year
Credits 7.5
Level Intermediate course, level II
Course start Autumn 2024
Duration 1 semester
Language of instruction Norwegian
Location Trondheim
Examination arrangement Portfolio assessment and written examination

About

About the course

Course content

This course covers:

1. Techniques and algorithms: Recursion, sorting, search, hashing, shortest path, maximum flow, greedy algorithms, dynamic programming

2. Data structures: array, lists, queues, stack, tree, graph

3. Theory on complexity and big O notation

Learning outcome

Knowledge

The candidate should:

  • know, and be able to explain, various algorithms for sorting, searching and graph theory
  • be able to describe and explain various data structures (arrays, linked lists, queues, stacks, trees and graphs)
  • understand the recursive approach to problem solving and programming
  • be able to compare algorithmic complexity
  • be able to describe compelxity classes and np-completeness

Skills

The candidate should be able to:

  • use several known algorithms to solve practical programming problems in an efficient way
  • write code solving advanced and complex problems
  • handle advanced data structures, particularly trees and graphs

General competence

The candidate should be able to combine standard algorithms to make bigger program units.

Learning methods and activities

Lectures & exercises

Further on evaluation

The subject consists of two parts: Written school exam and a portofolio.

Continuation and voluntary repetition/improvement can be carried out for some partial assessments without all partial assessments in a subject having to be taken up again.

Written exam:

Written exam counts for 60% of the subject.

The candidate may bring a single A4 sheet with notes to the written exam.

Re-sit exam might be changed to oral exam.

The re-sit exam is in August.

Portofolio:

The portofolio counts for 40% of the subject, where all exercises that is given is part of the portofolio. To pass the portofolio you must necessarily do some excersises.

In the event of voluntary repetition, fail (F) or valid absence, the portofolio must be retaken in a semester with teaching.

Specific conditions

Required previous knowledge

Students must be enrolled in the bachelor program in computer science at NTNU.

Credit reductions

Course code Reduction From
LO117D 6 sp Autumn 2020
LC118D 7.5 sp Autumn 2020
TDAT2005 7.5 sp Autumn 2020
IDATA2302 7.5 sp Autumn 2020
TDT4120 7.5 sp
TDT4121 7.5 sp Autumn 2022
This course has academic overlap with the courses in the table above. If you take overlapping courses, you will receive a credit reduction in the course where you have the lowest grade. If the grades are the same, the reduction will be applied to the course completed most recently.

Subject areas

  • Engineering

Contact information

Course coordinator

Department with academic responsibility

Department of Computer Science