EPN-V2

DATS2300 Algorithms and Data Structures Course description

Course name in Norwegian
Algoritmer og datastrukturer
Study programme
Bachelor in Applied Computer Technology
Bachelor's Degree Programme in Software Engineering
Bachelor's Degree Programme in Mathematical Modelling and Data Science
Bachelor's Degree Programme in Information Technology
Weight
10.0 ECTS
Year of study
2025/2026
Curriculum
FALL 2025
Schedule
Course history

Introduction

The course deals with the analysis, design, implementation and application of commonly used algorithms and data structures in ordinary and advanced data processing.

Recommended preliminary courses

The course builds on DAPE1300 Discrete Mathematics, DAPE1400 Programming and DATA1700 Web programming.

Required preliminary courses

No requirements over and above the admission requirements.

Learning outcomes

After completing the course, the student is expected to have achieved the following learning outcomes defined in terms of knowledge, skills and competence:

Knowledge

The student is capable of:

  • explaining the structure and purpose of data structures such as tables, lists, stacks, different types of queues, heaps, hash tables, different types of trees, graphs and files
  • explaining the function and efficiency of different variants of algorithms for counting, entering, searching for, deleting, traversing, sorting, optimising and compressing data

Skills

The student is capable of:

  • analysing, designing, and implementing data structures, and evaluate which data structures are suited for specific tasks
  • analysing, designing, implementing and using the algorithms required to solve specific tasks
  • using both self-developed and standardised algorithms and data structures to solve complex and complicated problems

General competence

The student is capable of:

  • participating in discussions and providing advice on what data structures and algorithms are most expedient in different situations
  • communicating the importance and necessity of using good structures and efficient algorithms in programming projects

Teaching and learning methods

Lectures and individual exercises. The exercises are based on the students’ own work, supervised by the lecturer and/or a student assistant.

Course requirements

The following coursework is compulsory and must be approved before the student can take the exam:

  • Two compulsory assignments (source code and documentation)
  • One individual programming assignment.

Assessment

An individual digital three-hour exam under supervision.

The exam result can be appealed.

In the event of resit and rescheduled exams, another exam form may also be used or a new assignment given with a new deadline. If oral exams are used, the result cannot be appealed.

Permitted exam materials and equipment

An approved handheld calculator that cannot be used for wireless communication or to perform symbolic calculations. If the calculator’s internal memory can store data, the memory must be deleted before the exam. Random checks may be carried out.

Grading scale

Grade scale A-F.

Examiners

One internal examiner. External examiners are used regularly.

Overlapping courses

Emnet er ekvivalent (overlapper 10 studiepoeng) med: ITPE2300

Ved praktisering av 3-gangers regelen for oppmelding til eksamen teller forsøk brukt i ekvivalente emner.