Honours in Computer Science

The Honours degree is a one-year postgraduate programme that usually follows after the three-year BSc or BCom degree.It is excellent preparation for pursuing either an MSc degree or a career in industry.

Course Format

University - Fulltime

Accreditation Type

Honours

Skill Level

Intermediate

Course Cost

R51000

Honours in Computer Science

COURSE OVERVIEW

Students are required to work more independantly than during their undergraduate studies, especially on their project. At the start of the year each student chooses a year-project, a large-scale software construction or research problem, to work on independantly, under the supervision of a staff member. Students also complete six modules, chosen from a number of advanced topics in Computer Science, and classes often include discussions on known solutions, cutting edge research, or open problems in the field studied.

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

The Honours curriculum comprises 6 modules and a year project. Each module is worth 16 credits, while the project is worth 32 credits. Students may earn at most 32 credits from outside the Computer Science Division towards their Honours degree, but this is subject to the consent of Computer Science. Students are expected to devote at least 12 hours per week per module, including lectures. The rest of the time should be devoted to the year project.

18139-797 Honours Overview (CS797) (1st and 2nd Semester) (Honours)

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 Department of Mathematical Sciences (Division 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.

64947-712 Advanced Algorithms (CS712) (1st Semester) (Honours)

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 Computer Science (CS713) (1st Semester) (Honours)

The module continues from Computer Science 324 and covers time and space complexity, NP completeness, probabilistic algorithms, interactive proofs, and zero knowledge proofs. It concludes with a overview of quantum computers and quantum algorithms.

64963-714 Concurrent Programming 1 (CS714) (1st Semester) (Honours)

This module covers an overview of the field of concurrency, its theoretical principles, the design, implementation and verification of concurrent systems, and practical aspects of distributed and parallel programming. It is focused around selected important topics.

64971-716 Advanced Topics in Computer Science 1 (CS716) (1st Semester) (Honours)

Selected topics of current interest presented by lecturers or visiting researchers.

14195-742 Machine Learning A (CS742) (1st Semester) (Honours)

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.

14066-791 Space Science Algorithms (CS791) (1st Semester) (Honours)

Algorithms and techniques in Space Science, with applications.

63452-711 Automata Theory & Applications (CS711) (2nd Semester) (Honours)

An introduction to the theory of automata and computability.

11788-741 Machine Learning (CS741) (2nd Semester) (Honours)

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

65005-743 Simulation of Networks (CS743) (2nd Semester) (Honours)

This course presents some models which are used to evaluate the performance of communication networks.

13944-795 Functional Programming (CS795) (2nd Semester) (Honours)

This module gives an introduction to the functional programming paradigm

14065-796 Software Verification and Analysis (CS796) (2nd Semester) (Honours)

Introduction to various techniques for software quality management.

COURSE COMPLETION

The Honours degree is challenging and hard work. However, we pride ourselves on the fact that our graduates are highly sought after. The degree can have a significant impact on your salary and many companies insist on a four-year degree.

CREDIT BEARING

This course IS credting bearing

COURSE LICENCE

This course is available under Attribution-ShareAlike 2.0 South Africa