Algorithms and Data Structures
Syllabus, Bachelor's level, 2IS206
- Code
- 2IS206
- Education cycle
- First cycle
- Main field(s) of study and in-depth level
- Software Engineering G1F
- Grading system
- Pass with distinction (VG), Pass (G), Fail (U)
- Finalised by
- The Department Board, 3 September 2020
- 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 based on function and time complexity,
- describe general algorithm design techniques.
Regarding competence and skills the student is expected to be able to on completion of the course:
- analyse algorithms based on function and time complexity,
- create object-oriented programs based on problem descriptions that solve algorithmic problems,
- use Java's APIs for algorithms and data structures.
Regarding judgement and approach the student should, on completion of the course, be able to:
- in relation to descriptions, evaluate the choice of data structures and algorithmic solutions based on function and time complexity.
Content
The course uses the Java programming language and focuses on algorithmic problem solving and data structures based on function and a basic understanding of time complexity but also provides in-depth knowledge and skills in object-oriented programming. Basic data structures such as linked lists and trees are addressed with a focus both on understanding how they are structured and when they should be used. Furthermore, search and sorting algorithms are dealt with where students are allowed to both use APIs and make their own implementations. The course also addresses algorithm design techniques such as divide-and-conquer and dynamic programming.
Instruction
The course is given in the form of lectures and laboratory work.
Assessment
The course is examined through written assignments and written exam.
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.
Reading list
- Reading list valid from Spring 2022
- Reading list valid from Spring 2020
- Reading list valid from Spring 2019
- Reading list valid from Autumn 2017
- Reading list valid from Autumn 2016, version 2
- Reading list valid from Autumn 2016, version 1
- Reading list valid from Spring 2015, version 2
- Reading list valid from Spring 2015, version 1
- Reading list valid from Spring 2014