Data Structures and Algorithms

2018-2019

Course Objective

To obtain basic knowledge about data structures, algorithmic design, and
worst-case time complexity.

Course Content

Concerning data structures:
Linear data structures:
stacks, queues, linked lists.
Tree-like data structures:
binary trees, binary search trees, heaps, red-black trees or AVL-trees.
Graphs-like data structures.
Hash tables.

Concerning algorithms:
sorting algorithms,
the divide-and-conquer programming paradigm,
dynamic programming,
greedy algorithms,
string matching.

Complexity analysis:
big-Oh notation, worst-case time complexity, amortized analysis.

Teaching Methods

Lectures: 4 hours per week (in total 28 hours).
Exercise classes: 4 hours per week (in total 28 hours).
There may be a bonus programming assignment.

Method of Assessment

A final written exam.
Possibly a mid-term exam.
Possibly a bonus programming assignment.

Entry Requirements

Concerning algorithmics:
recursive procedures, arrays, elementary Java.
For instance the course Programming (X-400554) of year I of the Bachelor
Computer Science.

Concerning discrete mathematics:
some familiarity with mathematical reasoning in general and induction in
particular.
For instance the course Logic and Sets (X_401090) of year I of the
Bachelor Computer Science.
Moreover elementary knowledge of graphs.
For instance the course Networks and Graphs of year I of the Bachelor
Computer Science.

Literature

Introduction to Algorithms
third edition,
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford
Stein, MIT Press 2009.

Target Audience

2CS, 2BA, 3IMM, 3LI, 3W, 3Ect

General Information

Course Code X_400614
Credits 6 EC
Period P1
Course Level 200
Language of Tuition English
Faculty Faculty of Science
Course Coordinator dr. F. van Raamsdonk
Examiner dr. F. van Raamsdonk
Teaching Staff dr. F. van Raamsdonk

Practical Information

You need to register for this course yourself

Last-minute registration is available for this course.

Teaching Methods Seminar, Lecture
Target audiences

This course is also available as: