Algorithms and Data Structures

7.5 credits

Syllabus, Bachelor's level, 2IS206

A revised version of the syllabus is available.
Education cycle
First cycle
Main field(s) of study and in-depth level
Software Engineering G1F
Grading system
Fail (U), Pass (G), Pass with distinction (VG)
Finalised by
The Department Board, 25 October 2018
Responsible department
Department of Informatics and Media

General provisions

The course is included in the following degree programme:

* Bachelor's Programme in Information Systems, specialisation software engineering, 180 credits.

Be given also as a freestanding course.

Entry requirements

Programming, 7.5 credits

Learning outcomes

Regarding knowledge and understanding the student is expected to be able to on completion of the course:

  • Describe basic data structures and algorithms
  • Describe typical algorithmic solutions in relation to time complexity
  • Explain general principles for design and implementation of algorithms

Regarding competence and skills the student is expected to be able to on completion of the course:

  • Based on problem descriptions implement simple algorithms and use appropriate data structures


The course uses the Java programming language and focus on algorithmic problem-solving and data structures. Basic data structures such as linked lists and trees are covered with focus both on understanding how the data structures are constructed and on how to use them. Further, algorithms such as sorting algorithms and searches in trees are covered. Here, focus lies both on understanding general principles of algorithms such as divide and conquer and backtracking and on how to implement own algorithms. The course covers the advantages and disadvantages of algorithms with regard to basic understanding of time complexity.

Component 1: Introduction 2 credits

The component introduces the field with a focus on to implement simple algorithms based on pseudo code together with data structures from Java's class library.

Component 2: Problem-solving 2 credits

The component deepens the understanding of how algorithms are a part of problem-solving in software development based on general principles of design of algorithms such as divide and conquer and backtracking.

Component 3: Application 3.5 credits

The component focuses on analysis, design and implementation of algorithms based on general problem descriptions.


The course is given in the form of lectures and exercises.


The course is examined through written assignments and written exam.

For the grade Pass in the whole course, it is required that all components are passed. To pass with distinction is required furthermore passed with distinction in written examination.

If there are special reasons for doing so, an examiner may make an exception from the method of assessment indicated and allow a student to be assessed by another method. An example of special reasons might be a certificate regarding special pedagogical support from the University's disability coordinator or a decision by the department's working group for study matters.

Other directives

The course is given on Campus Gotland and as a distance course.