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, 14 September 2016
- 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
Content
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.
Instruction
The course is given in the form of lectures and exercises.
Assessment
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.
Other directives
The course is given on Campus Gotland and as a distance course.
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