Department of Mathematical Sciences: Computer Science Division



Administrative Officer: Ms Hayley-Ann du Plessis

Tel: +27 (0)21 808 4232




Postgraduate programmes

(Visit the links below for Calendar information on the programmes' curricula)

BScHons in Computer Science with a choice of the following streams:

  • Computer Science
  • Data Science

MSc in Computer Science

PhD in Computer Science

DSc in Computer Science

About the Computer Science Division

Computer Science is a vibrant and innovative environment, with a particular emphasis on high quality research. All our senior researchers are NRF rated, and we attract postgraduate students from all over the world. In addition to being strong in the foundational theories of Computer Science, our postgraduate students are expected to have excellent programming and technical skills.

The Division is home to the first IBM Software Centre of Excellence (CoE) in South Africa. This postgraduate computer laboratory includes advanced software such as the Rational® Development Environment, which provide a fully-fledged software production environment for students to hone their skills.

Our postgraduate qualification is directly accepted at prestigious international institutions, and sought after in industry.

Fields of research

Automata theory, grammars, and applications: We consider theoretical problems related to nondeterministic finite automata, tree automata, and graph grammars. We apply the theory to practical problems in image processing, diagram understanding, music generation, regular expression matchers, and more.

Program testing and verification: We work on testing, program analysis, symbolic execution, probabilistic symbolic execution, logic-based techniques, and model checking, for both sequential and concurrent systems. We also help develop the widely used Java PathFinder tool suite, as well as the CSeq and ESBMC tools that focus on analysing concurrent and embedded software.

Artificial intelligence: We consider various aspects of artificial intelligence, including probabilistic modelling and machine learning. Application areas include, computer vision, natural language processing, robotics and computer players for various games.

Broadband and mobile networks: We investigate incentive schemes to promote cooperation and improve performance in mobile ad hoc networks. We also investigate protocols for data forwarding in vehicular ad hoc networks. We investigate the behaviour of the Bitcoin blockchain and the profitability of various dishonest data mining schemes.