Postgraduate Modules

Modules offered across Honours, Masters, and PhD programmes in Computer Science.

Postgraduate students in discussion

Year Modules

CS 771Year Modules

Honours Project in Computer Science

Assigned supervisor

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

First Semester

CS 712First Semester

Advanced Algorithms

Willem Bester

This module continues from Computer Science 214 and covers advanced topics in the design and analysis of algorithms and associated data structures. To…

CS 716First Semester

Adv. Topics I — Vulnerability Discovery and Exploitation

Fabian Yamaguchi

This module provides an introduction to the discovery and exploitation of vulnerabilities in software systems. We learn to uncover vulnerabilities and…

CS 746First Semester

Adv. Topics II — Ontology Engineering

Maria Keet

An overview of ontology engineering — including knowledge representation languages, automated reasoning, and methods and techniques for ontology devel…

CS 771First Semester

Computing and Society

William (Bill) Tucker

Theory, domains and critique of topics related to Computing and Society, such as human-centred computing; social development theories, critical analys…

CS 791First Semester

Artificial Intelligence

Andries Engelbrecht

Introduction to a selection of topics in artificial intelligence and optimisation. Meta-heuristics. Swarm intelligence, including particle swarm optim…

CS 795First Semester

Functional Programming

Brink van der Merwe

This module gives an introduction to the functional programming paradigm.

CS 742First Semester

Machine Learning A

Steve Kroon

Prominent machine-learning concepts and tasks. Selected feature extraction or dimensionality reduction techniques. Introduction to probabilistic model…

CS 711First Semester

Computer Networks

William (Bill) Tucker

Introduction to networks in general and the internet in particular. Architecture and protocols. Allocation of resources and congestion control. Networ…

CS 714First Semester

Concurrent Programming I

Cornelia Inggs

This module covers an overview of the field of concurrency, its theoretical principles, the design, implementation and verification of concurrent syst…

Second Semester

CS 741Second Semester

Machine Learning

Andries Engelbrecht

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

CS 745Second Semester

Software Construction — Compilers

Bernd Fischer

An introduction to compiler design and construction, covering lexical analysis, parsing, semantic analysis, and code generation.

CS 771Second Semester

Principles of Data Science

Marcel Dunaiski

This course covers the typical pipeline of data science projects: information retrieval, data wrangling and exploratory data analysis, hypothesis test…

CS 791Second Semester

Space Science Algorithms

Trienko Grobler

Algorithms and techniques in Space Science, with applications.

CS 743Second Semester

ML and AI I — Cognitive Robotics

Gavin Rens

Topics covered are logic and knowledge representation, the Prolog language, deterministic automated planning, dynamic Bayesian networks and dynamic de…

CS 796Second Semester

Software Testing and Analysis

Cornelia Inggs, Bernd Fischer, Willem Visser

Introduction to various techniques for software quality management.

CS 711Second Semester

Automata Theory & Applications

Brink van der Merwe

A first introduction to theoretical computer science, covering the Chomsky hierarchy of languages in relation to computability.