Course

Algorithms and Datastructures (DAT200)

The course provides an in-depth introduction to some commonly used data structures and algorithms.


Dette er emnebeskrivelsen for studieåret 2018-2019

See course description and exam/assesment information for this semester (2024-2025)

Semesters

Fakta

Emnekode

DAT200

Vekting (stp)

10

Semester undervisningsstart

Autumn

Undervisningsspråk

English

Antall semestre

1

Vurderingssemester

Autumn

Content

Algorithm efficiency analysis. Definition, usage, and implementations of abstract data types: Stacks, queues, lists, tree structures, graphs, priority queues, heaps. Hash techniques. Tree structures. Implementation and use of data structures that can represent graphs. Algorithms for sorting and searching. Some basic algorithms for graphs, including wayfinding. Use of recursion as programming technique.

Learning outcome

After ending this course the student should know how to:

Knowledge

  • Know how basic algorothms for sorting, searching and wayfinding in graphs work.
  • Know how basic data structures for lists, stacks, queues, sets, associative arrays and graphs work

Skills

  • Be able to calculate the efficiency of algorithms
  • Be able to implement efficient recursive algorithms
  • Be able to implement efficient algorithms for sorting and searching

General competency

  • Know how data structures and algorithms for lists, queues, stacks, heaps, binary trees and graphs can be implemented in Java.
  • Be able to use standard algorithms and data structures to implement efficient programs

Forkunnskapskrav

Ingen

Anbefalte forkunnskaper

Object-oriented Programming (DAT100)

Exam

Form of assessment Weight Duration Marks Aid Exam system Withdrawal deadline Exam date
Written exam 1/1 4 Hours Letter grades None permitted Inspera assessment


Vilkår for å gå opp til eksamen/vurdering

Hand-in assignments
There are nine exercises in this course. In order to be allowed to take the exam at least seven out of the nine exercises need to be approved within the given deadline.

Fagperson(er)

Head of Department:

Tom Ryen

Course coordinator:

Mina Farmanbar

Method of work

Six hours of lecturing per week. All students can get help for the exercises at a room reserved for the purpose four hours a week. The exercises are approved by presenting them to the teacher or a student assistant during these four hours.

Completion of mandatory exercises are to be made at the times and in the groups that are assigned and published. Absence due to illness or for other reasons must be communicated as soon as possible to the laboratory personnel. One cannot expect that provisions for completion of the exercises at other times are made unless prior arrangements with the laboratory personnel have been agreed upon.

Failure to complete the assigned exercises on time or not having them approved will result in barring from taking the exam of the course.

Overlapping

Emne Reduksjon (SP)
Algorithms and Datastructures (DAT200_1) , Data structures and algoritms (TE0458_1) 6
Algorithms and Datastructures (DAT200_1) , Data structures and algoritms (TE0458_A) 6
Datastructures and algorithms (BIE270_1) , Algorithms and Datastructures (DAT200_1) 10

Åpent for

Bachelor studies at the Faculty of Science and Technology.

Master studies at the Faculty of Science and Technology.

Emneevaluering

Form and/or discussion.

Litteratur

Data Structures and Problem Solving Using Java, Mark Allen Weiss, Published by Addision-Wesley.

A compendium will be posted on Canvas

The course description is retrieved from FS (Felles studentsystem). Version 1