Recommended prerequisite for participation in
the module
The module is based on knowledge achieved in the module Real-time
systems and programming languages or similar.
Content, progress and pedagogy of the
module
Learning objectives
Knowledge
- Have knowledge about object-oriented programming using a modern
computer language such as Python or C++
- Have knowledge about abstract data types
- Have knowledge about algorithm analysis, complexity classes and
recursion
- Have knowledge about data structures such as stacks, queues,
lists, sets, maps, trees and graphs
- Have knowledge about sorting algorithms such as insertion sort,
merge sort and quick sort
- Have knowledge about searching algorithms and
heuristics
Skills
- Be able to use, design and implement data structures within a
computer program
- Be able to analyse the complexity of algorithms in time and
space using the big Oh notation
- Be able to design and write computer programs using
object-oriented techniques and data structures
- Be able to design and implement divide and conquer algorithms
using recursion
Competences
- Independently demonstrate knowledge and capacity to apply
algorithms and heuristics to design solutions for problems in
different application domains
- Independently design computer programs with efficient data
structures and algorithms
- Independently design and use classes and objects to implement
computer programs for real time systems
Type of instruction
Lectures with exercises, possibly supplemented with e-learning
as stated in § 17 in the BSc curriculum and §18 in the BE
curriculum.
Extent and expected workload
Since it is a 5 ECTS course, the work load is expected to be 150
hours for the student.
Exam
Exams
Name of exam | Data Structures and Algorithms |
Type of exam | Written or oral exam |
ECTS | 5 |
Assessment | 7-point grading scale |
Type of grading | Internal examination |
Criteria of assessment | The criteria of assessment are stated in the Examination
Policies and Procedures |