Computer Science Rekenaarwetenskap

Postgraduate Modules

Programmes

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

18139-441 Computer Networks (1st Semester)

Introduction to networks in general and the internet in particular. Architecture and protocols. Allocation of resources and congestion control. Network security. Network applications. Network research technique.

18139-412 Advanced Algorithms (Willem Bester) (1st Semester)

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

This module continues from Computer Science 214 and covers advanced topics in the design and analysis of algorithms and associated data structure. Topics include a selection from algorithm design techniques, linear programming, approximation algorithms, randomised algorithms, probabilistic algorithms, parallel algorithms, number-theoretic algorithms, cryptanalysis, computational geometry, computational biology, network algorithms, and complexity theory.

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

18139-441 Machine Learning (Andries Engelbrecht) (2nd Semester)

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

18139-471 Data Science Research Assignment () (2nd Semester)

The research assignment provides students with a comprehensive learning experience that integrates knowledge from previous courses. The student will integrate knowledge and experiences gained from all previous modules and apply this to a data-rich research topic. Students will have the opportunity to synthesise what they have learned and apply that knowledge to new, complex situations. Students should engage in the entire process of solving a real-world data science problem, from collecting and processing actual data, to applying suitable and appropriate analytic methods to the problem, and communicating the results in a clear and comprehensive way.

18139-491 Space Science Algorithms (Trienko Grobler) (2nd Semester)

Algorithms and techniques in Space Science, with applications.

18139-495 Functional Programming (Brink van der Merwe) (2nd Semester)

This module gives an introduction to the functional programming paradigm

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.