Course

Algorithms and Datastructures (DAT200)

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


Course description for study year 2017-2018. Please note that changes may occur.

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

Semesters

Facts

Course code

DAT200

Credits (ECTS)

10

Semester tution start

Autumn

Language of instruction

English

Number of semesters

1

Exam semester

Autumn

Content

Efficiency Analysis. Definition, usage, and implementations of abstract data types: Stacks, queues, lists, tree structures, graphs, priority queues, heaps. Hash techniques. Implementation and use of data structures that can represent graphs. Sorting techniques. Use of recursion as programming technique.

Learning outcome

After ending this course the student should know how to:

Knowledge

  • Be able to use standard data structures to implement effecient programs.

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 for lists, queues, stacks, heaps, binary trees and graphs can be implemented in Java.

Required prerequisite knowledge

None

Recommended prerequisites

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 25.11.2017 07.12.2017


Coursework requirements

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.

Course teacher(s)

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 two 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 courses

Course Reduction (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

Open for

Bachelor studies at the Faculty of Science and Technology.

Master studies at the Faculty of Science and Technology.

Course assessment

Form and/or discussion.

Literature

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