Table of contents
Description
As a continuation of the courses Computer Science 1 and 2, in this course we will treat the systematic design and application of data structures and algorithms. As a central concept, Abstract Data Types or ADTs will be used. As part of the basic ADTs, such as lists, trees, and graphs, the associated algorithms and their complexity will be treated. Design principles for algorithms such as recursion, divide-and-conquer, and dynamic programming will be treated as well.
Knowledge and understanding
What are ADT’s and how do they support program design? What types of standard ADT’s exist and what are their properties? What are some standard algorithms, and what are their properties? How to develop and analyze new algorithms?
To be able to select the appropriate ADT’s and algorithms for a given problem.
Making Judgements
The ability to judge whether and which ADT’s should be applied, whether algorithms are appropriate and efficient.
Communication
The student will learn how to specify ADTs and algorithms to be included in program designs.
Skills
In the associated practical the student will learn how to and implement ADT’s and algorithms in Java and how to apply these in a program. They will also learn how to design new ADT’s and algorithms.

Comments