Course ObjectiveTo obtain basic knowledge about data structures, algorithmic design, and
worst-case time complexity.
Course ContentConcerning 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.
the divide-and-conquer programming paradigm,
big-Oh notation, worst-case time complexity, amortized analysis.
Teaching MethodsLectures: 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 AssessmentA final written exam.
Possibly a mid-term exam.
Possibly a bonus programming assignment.
Entry RequirementsConcerning algorithmics:
recursive procedures, arrays, elementary Java.
For instance the course Programming (X-400554) of year I of the Bachelor
Concerning discrete mathematics:
some familiarity with mathematical reasoning in general and induction in
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
LiteratureIntroduction to Algorithms
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford
Stein, MIT Press 2009.
Target Audience2CS, 2BA, 3IMM, 3LI, 3W, 3Ect
|Language of Tuition||English|
|Faculty||Faculty of Science|
|Course Coordinator||dr. F. van Raamsdonk|
|Examiner||dr. F. van Raamsdonk|
dr. F. van Raamsdonk
You need to register for this course yourself
Last-minute registration is available for this course.
|Teaching Methods||Seminar, Lecture|
This course is also available as: