Computer Science Rekenaarwetenskap

Postgraduate Modules


18139-797 Honours in Computer Science

Stream Computer Science. This stream consists of 6 modules of 16 credits each, as well as a compulsory programming project of 32 credits. At most two modules may be taken from related departments with the permission of the Computer Science. Not all modules are necessarily offered each year. Stream Data Science. This stream consists of 5–8 compulsory modules which includes a compulsory programming project. The remaining credits to reach the required credit total are modules in Computer Science or selected modules in Mathematical Statistics. Not all modules are necessarily offered each year.

18139-878 Masters in Computer Science

Independent research on an approved topic as determined by the supervisor(s) and leading to a thesis is required.

18139-978 PhD in Computer Science

A dissertation containing the results of your independent research is required.

Year Modules

63444-771 Honors Project in Computer Science (1st and 2nd Semester)

A large software construction or research problem on which the student works independantly, under the supervision of a staff member.

First Semester Modules

64947-712 Advanced Algorithms (Willem Bester) (1st Semester)

This course resumes the study of algorithms and data structures where it left off in RW214. We discuss various algorithmic paradigms (such as divide-and-conquer, greedy algorithms, dynamic programming, and randomized algorithms), algorithmic applications (such as graphs, heaps, and trees), and the basics of the theory of computation.

64955-713 Theoretical CS - Advanced Automata (Lynette van Zijl) (1st Semester)

"This course is an advanced course in automata theory. It covers diverse topics, such as combinatorics on words, cellular automata, descriptional complexity, and advanced automata such as 2-way, Mealy, and Moore machines. Note that CS345 is a prerequisite for this course."

64971-716 Advanced Topics I - Computing and Society (William (Bill) Tucker) (1st Semester)

Theory, domains and critique of topics related to Computing and Society, such as human-centred computing; social development theories, critical analysis of case studies; methods and ethics; and challenges of sustainable community engagement.

14195-742 Machine Learning A (315*) (Steve Kroon) (1st Semester)

Prominent machine-learning concepts and tasks. Selected feature extraction or dimensionality reduction techniques. Introduction to probabilistic modelling and latent variable models. Fundamental paradigms in parameter estimation.

65021-745 Software Construction - Compilers (Bernd Fischer) (1st Semester)

14232-791 Artificial Intelligence (Andries Engelbrecht) (1st Semester)

Second Semester Modules

63452-711 Automata Theory & Applications (345*) (Lynette van Zijl) (2nd Semester)

This course is a first introduction to theoretical computer science, and covers the Chomsky hierarchy of languages in relation to computability. Note that you may not take this course if you had already completed CS345.

11788-741 Machine Learning (Andries Engelbrecht) (2nd Semester)

This module is an introduction to selected topics in machine learning.

65048-745 Advanced Topics II - Principles of Data Science (Marcel Dunaiski) (2nd Semester)

This course covers the typical pipeline of data science projects: information retrieval, data wrangling and exploratory data analysis, hypothesis testing and regression analysis, as well as visualisations and data ethics.

14066-791 Space Science Algorithms (Trienko Grobler) (2nd Semester)

Algorithms and techniques in Space Science, with applications.

13944-795 Functional Programming (Brink van der Merwe) (2nd Semester)

This module gives an introduction to the functional programming paradigm

14065-796 Software Testing and Analysis (Cornelia Inggs, Willem Visser) (2nd Semester)

Introduction to various techniques for software quality management.