0% found this document useful (0 votes)
10 views12 pages

Programme 12244001

The University of Pretoria offers a BScHons in Computer Science requiring 120 credits over a minimum of one year, with admission criteria including a relevant BSc degree and a minimum average of 60%. The program includes core and elective modules focusing on various aspects of computer science, including research methods, artificial intelligence, software engineering, and digital forensics. Students must achieve specific pass requirements and may have opportunities for elective modules outside the department, subject to approval.

Uploaded by

mvhbitcoin
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views12 pages

Programme 12244001

The University of Pretoria offers a BScHons in Computer Science requiring 120 credits over a minimum of one year, with admission criteria including a relevant BSc degree and a minimum average of 60%. The program includes core and elective modules focusing on various aspects of computer science, including research methods, artificial intelligence, software engineering, and digital forensics. Students must achieve specific pass requirements and may have opportunities for elective modules outside the department, subject to approval.

Uploaded by

mvhbitcoin
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

University of Pretoria Yearbook 2022

BScHons Computer Science (12244001)


Department Computer Science
Minimum duration of
1 year
study
Total credits 120
NQF level 08

Programme information
This degree programme is offered in English only. The degree is conferred on a student who successfully
completes at least 120 credits of coursework in Computer Science at honours level. Refer also to G16-G29.

Admission requirements
1. BSc degree majoring in Computer Science, from a South African university with a weighted average of at least
60% over all third-year modules in the Computer Science major or BIS (Multimedia) degree from the
University of Pretoria with a weighted average of at least 60% for Software Engineering (COS 301) (or
equiavalent) and at least three third-year Computer Science modules or equivalent degree (SAQA-accredited)
with a weighted average of at least 60% over all third-year modules in the Computer Science major

Other programme-specific information


The Dean, on the recommendation of the relevant head of department, may approve a stipulated limited
extension of the prescribed period of study.
Details regarding postgraduate modules are available at [Link]

One elective module can be selected from outside the Department of Computer Science, subject to the approval
of the programme manager, and provided that there are no lecture and exam clashes with Computer Science
modules.

Examinations and pass requirements


In calculating marks, G26 is applicable. However, a student is required to obtain at least 50% in an examination
in a module where no semester or year mark is required. In those cases where a year mark or semester mark is
available, a subminimum of 40% must be obtained in the examination.
The Dean may, on the recommendation of the admissions committee, cancel the studies of a student who fails
more than one module in an academic year. A module may only be repeated once. No supplementary
examinations are granted at postgraduate level.

University of Pretoria Yearbook 2022 | [Link] | 13:03:38 15/01/2026 | Page 1 of 12


Pass with distinction
The BScHons degree is awarded with distinction to a candidate who obtains a weighted average of at least 75%
(not rounded) in all the prescribed modules and who did not fail any module.

University of Pretoria Yearbook 2022 | [Link] | 13:03:38 15/01/2026 | Page 2 of 12


Curriculum: Final year
Minimum credits: 120

Core modules
Research report 700 (COS 700)
Module credits 30.00
NQF Level 08
Prerequisites No prerequisites.
Contact time 2 lectures per week
Language of tuition Module is presented in English
Department Computer Science
Period of presentation Year
Module content
This module requires the student to conduct independent research under supervision of a staff member on a
topic agreed upon by the student and staff member. The module consists of two parts: Research methods and
the project. During the first semester, formal lectures will be presented on best research practices (counting 10
credits). The project (counting 20 credits) involves application of the taught research methods to complete a
research project. The project serves as an opportunity for the student to explore one of the department's areas
of research in greater depth. The end product may be a new piece of software, a model or an algorithm, or an
extension of these. It could be an experimental, or theoretical piece of reasoning. The final outcome of the
project is a technical report.

Elective modules
Artificial intelligence (I) 710 (COS 710)
Module credits 15.00
NQF Level 08
Prerequisites No prerequisites.
Contact time 2 lectures per week
Language of tuition Module is presented in English
Department Computer Science
Period of presentation Semester 1 or Semester 2

University of Pretoria Yearbook 2022 | [Link] | 13:03:38 15/01/2026 | Page 3 of 12


Module content
This module focuses on two Computational Intelligence paradigms, namely Evolutionary Computation and
Swarm Intelligence. Within the Evolutionary Computation paradigm, algorithmic models of Darwinian evolution
will be studied, including genetic algorithms, genetic programming, evolutionary strategies, evolutionary
programming, differential evolution, cultural algorithms and co-evolution. Within the Swarm Intelligence
paradigm algorithm models of social organisms found in nature will be studied, including ant algorithms and
particle swarm optimisation. These algorithms will mostly be studied in the context of complex optimisation
problems, including multi-objective optimisation, dynamic environments, constraints, and finding multiple
solutions. Prior knowledge assumed include good programming skills and an undergraduate module in calculus.

Artificial Intelligence (II) 711 (COS 711)


Module credits 15.00
NQF Level 08
Prerequisites No prerequisites.
Contact time 2 lectures per week
Language of tuition Module is presented in English
Department Computer Science
Period of presentation Semester 1 or Semester 2
Module content
This module focuses on two Computational Intelligence paradigms, namely Artificial Neural Networks and Deep
Learning. Within the Artificial Neural Networks paradigm, algorithmic models of neural learning will be studied,
including supervised, unsupervised, and reinforcement learning. Aspects that influence the performance of
artificial neural networks will be studied in depth. Within the Deep Learning paradigm, algorithmic models of
deep neural networks will be studied, including autoencoders, convolutional neural networks, long-short term
memory networks, generative models and attention mechanisms. Prior knowledge assumed includes good
programming skills and an undergraduate module in calculus.

Computer and information security (I) 720 (COS 720)


Module credits 15.00
NQF Level 08
Prerequisites No prerequisites.
Language of tuition Module is presented in English
Department Computer Science
Period of presentation Semester 1 or Semester 2

University of Pretoria Yearbook 2022 | [Link] | 13:03:38 15/01/2026 | Page 4 of 12


Module content
This module focuses on state-of-the-art security topics that are current and relevant to industry. The curriculum
for the module is determined annually to reflect the current research directions as pursued by the information
and Computer Security Architectures (ICSA) research group. The main topics include, but are not limited to:
Applied security, including operating system security, secure coding, and cryptography; Trust and trust
management systems; Privacy and privacy-enhanced technologies; Social Engineering. Students will be
challenged to contribute innovative research ideas in the field of Computer Security by completing a number of
mini projects such as writing research papers and writing software programs.

Computer and information security (II) 721 (COS 721)


Module credits 15.00
NQF Level 08
Prerequisites No prerequisites.
Contact time 2 lectures per week
Language of tuition Module is presented in English
Department Computer Science
Period of presentation Semester 1 or Semester 2
Module content
This module focuses on state-of-the-art information security topics that are current and relevant to industry. The
curriculum for this module is annually determined to reflect the current research directions as pursued by the
Information and Computer Security Architectures (ICSA) research group. The main topics include, but are not
limited to: Information security management, including policies, standards and procedures; Risk management;
Privacy; Ethics; Legal issues in Information Security; Information security services and technologies. Students
will be challenged to contribute innovative research ideas in the field of Information Security Management by
completing a number of mini projects such as writing research papers and writing software programs.

Software engineering (I) 730 (COS 730)


Module credits 15.00
NQF Level 08
Prerequisites No prerequisites.
Contact time 2 lectures per week
Language of tuition Module is presented in English
Department Computer Science
Period of presentation Semester 1 or Semester 2

University of Pretoria Yearbook 2022 | [Link] | 13:03:38 15/01/2026 | Page 5 of 12


Module content
This module covers various perspectives of Software Engineering theory and practices. It provides an overview
both of the challenges in contemporary software engineering (such as scale, complexity and urgency) and of the
recommended practices for overcoming these challenges. It will familiarise students with both the historical and
current theories about activities for the design, development, deployment and ongoing operation of software. It
will show how these activities aim to be predictable, repeatable, robust, value-producing, and how they aim to
meet the specified requirements for the intended system users. It will also emphasise that standardisation and
reuse can be important factors in successfully engineering software. The module assumes prior knowledge
about Software Engineering at the level of an introductory/undergraduate module.

Software engineering (II) 731 (COS 731)


Module credits 15.00
NQF Level 08
Prerequisites No prerequisites.
Contact time 2 lectures per week
Language of tuition Module is presented in English
Department Computer Science
Period of presentation Semester 1 or Semester 2
Module content
This module discusses software architecture, including the representation of designs, definitions, styles and
patterns of architecture. Its themes include model-driven architecture, formal modelling and analysis, and
architectural description languages. The module will show that the architecture of a software system is
determined by the collection of significant design decisions made early on in the development of that system –
decisions concerning the components comprising the system, repeating-patterns of system-wide aspects, and
the platforms on which the system will be built. It will discuss how, once these decisions are made and
subsequently followed, they end up profoundly affecting the development, deployment, use and ongoing
enhancement of that system. The module assumes that the student is familiar with software development
lifecycle concepts, and that she/he has been part of at least one significant software development effort. Those
who have not completed COS730 will be provided additional background.

Formal aspects of computing (I) 740 (COS 740)


Module credits 15.00
NQF Level 08
Prerequisites No prerequisites.
Contact time 2 lectures per week
Language of tuition Module is presented in English
Department Computer Science
Period of presentation Semester 1 or Semester 2

University of Pretoria Yearbook 2022 | [Link] | 13:03:38 15/01/2026 | Page 6 of 12


Module content
This module focuses on formally specifying systems by means of Event-B. In this formalism, complex systems
are specified as abstract machines which are characterised mainly by pre-conditions and post-conditions. From
initially highly abstract machines, for which only very few features are stipulated, the module proceeds to more
concrete machines which are richer in the details of their features. Such a "refinement", which eventually
approaches a form that is almost implementable, is acceptable if it is logically consistent with the abstract
machine with which the entire formal modelling process had started. Already available proof tools (for example:
Rodin, or Pro-B) will be applied practically in order to demonstrate the validity of those refinement relations.

Formal aspects of computing (II) 741 (COS 741)


Module credits 15.00
NQF Level 08
Prerequisites No prerequisites.
Contact time 2 lectures per week
Language of tuition Module is presented in English
Department Computer Science
Period of presentation Semester 1 or Semester 2
Module content
Model Checking is a technique for automatically verifying whether a software program satisfies correctness
requirements such as mutual exclusion, deadlock-freedom or starvation-freedom. In contrast to testing, model
checking is not only capable of detecting bugs but also of proving their absence. This is of particular importance
for safety-critical software used in cars, planes, power plants etc. This module focuses on the theoretical
foundations of model checking: modelling the state space of software as an automaton, formal specification of
correctness requirements in temporal logic, and algorithms for systematically exploring the state space of
software. The practical aspect of this module, includes how to write parallel programs composed of
communicating processes. Existing model checking tools will be used to verify the correctness of the programs
written.

Educational software development 750 (COS 750)


Module credits 15.00
NQF Level 08
Prerequisites No prerequisites.
Contact time 2 lectures per week
Language of tuition Module is presented in English
Department Computer Science
Period of presentation Semester 1 or Semester 2

University of Pretoria Yearbook 2022 | [Link] | 13:03:38 15/01/2026 | Page 7 of 12


Module content
This module provides the foundation to evaluate and develop educational software. It will introduce didactic
principles applicable to the discipline of Computer Science. Using these principles, educational software, such as
tools for teaching programming, on-line testing software, and adaptive software to name a few, can be
evaluated and developed. Computer Science topics of interest are: programming environments, persistence of
information and knowledge, knowledge representation etc.

Data mining 781 (COS 781)


Module credits 15.00
NQF Level 08
Prerequisites No prerequisites.
Contact time 2 lectures per week
Language of tuition Module is presented in English
Department Computer Science
Period of presentation Semester 1 or Semester 2
Module content
Data mining is the analysis of (often large) observational datasets to find unsuspected relationships and
summarise the data in novel ways that are both understandable and useful to the data owner(s). The analysis
methods fall into two categories: Computational data mining and Statistical data mining. Computational
methods originate from Machine Learning, which is a branch of Computer Science (Artificial Intelligence).
Statistical methods originate from a branch of Statistics called Statistical pattern recognition. Observational data
is data that was collected for some other purpose, e.g. banking data for loan applications and repayments, and
is then used for analysis to determine good borrowers and risky borrowers. The objectives of the module are: to
introduce the commonly used data mining methods, and to enable the student to acquire practical data mining
skills. The module covers Computational and Statistical data mining methods as well as the commonly used
process models for data mining projects. The topics covered include: process models (CRISP-DM and SEMMA),
exploratory data analysis (univariate and bivariate), dimensionality reduction (feature selection, principal
components analysis), descriptive modelling (cluster analysis and association rules), predictive modelling
(decision trees, neural networks, K-nearest neighbour, Naive Bayes, ensemble models), statistical modelling
(linear and logistic regression) and text mining. It is assumed that students have a basic knowledge of Statistics.
It is also highly recommended that students do COS 710 and COS 711, as knowledge of the content of these
modules is assumed.

Generic programming 782 (COS 782)


Module credits 15.00
NQF Level 08
Prerequisites No prerequisites.
Contact time 2 lectures per week
Language of tuition Module is presented in English
Department Computer Science

University of Pretoria Yearbook 2022 | [Link] | 13:03:38 15/01/2026 | Page 8 of 12


Period of presentation Semester 1 or Semester 2
Module content
This module introduces the concepts of generic programming in order to generate code at compile-time. Of
particular interest is the automatic generation of design pattern implementations at compile-time for use at run-
time. To this end, design patterns and compile-time programming techniques such as: basic compile-time
programming constructs, object allocation, generalised functors, smart pointer and multi-methods are discussed
in detail and applied to design patterns.

Digital forensics and investigations 783 (COS 783)


Module credits 15.00
NQF Level 08
Prerequisites No prerequisites.
Contact time 2 lectures per week
Language of tuition Module is presented in English
Department Computer Science
Period of presentation Semester 1 or Semester 2
Module content
This module will teach the basic theoretical concepts of digital forensic investigations. This module is designed
to prepare a student for a wide range of people including, but not limited to, law enforcers, crime investigators
and people responsible for internal incident investigations in larger organisations. Digital forensics is a relatively
new and upcoming field. It is a field that is not well known by most organisations and therefore, such
organisations are ill informed about the digital forensic processes required to conduct a successful digital
forensic investigation. The large number of digital devices used to commit crimes or other related incidents,
such as fraud and corruption, proved motivation for this module in order to investigate and combat these
incidents successfully. The main topics covered, but not limited to, include: An introduction to Digital Forensics;
Digital forensic processes; Hardware forensics; Digital forensics tools (software forensics); Forensic readiness; A
digital forensics laboratory/facility; Network forensics; Live forensics; Professionalism and ethics in digital
forensics; Cyber forensics; Cyber law. Students will be challenged to contribute innovative research ideas in the
field of Digital Forensics by completing a number of mini projects such as writing research papers and writing
software programs.

Computer networks 784 (COS 784)


Module credits 15.00
NQF Level 08
Prerequisites No prerequisites.
Contact time 2 lectures per week
Language of tuition Module is presented in English
Department Computer Science
Period of presentation Semester 1 or Semester 2

University of Pretoria Yearbook 2022 | [Link] | 13:03:38 15/01/2026 | Page 9 of 12


Module content
This module covers computer networking principles and the operation of the TCP/IP protocol suite. The module
includes studying the operation of relevant protocols, administration of network services, troubleshooting, as
well as network design issues and challenges. Prior knowledge is assumed on basic data communications
principles, the ISO OSI reference model, and the basic operation of protocols in the TCP/IP protocol suite.

Computer graphics 785 (COS 785)


Module credits 15.00
NQF Level 08
Prerequisites No prerequisites.
Contact time 2 lectures per week
Language of tuition Module is presented in English
Department Computer Science
Period of presentation Semester 1 or Semester 2
Module content
This module is intended as an advanced module in real-time computer graphics and shader programming. The
module includes the following topics: Advanced texture mapping, curves and curved surfaces, shadow mapping,
skeletal animation, particle systems, ray tracing and collision detection. The module assumes prior knowledge of
introductory graphics as presented in an undergraduate module and a working knowledge of linear algebra and
calculus.

Parallel and distributed computing 786 (COS 786)


Module credits 15.00
NQF Level 08
Prerequisites No prerequisites.
Contact time 2 lectures per week
Language of tuition Module is presented in English
Department Computer Science
Period of presentation Semester 1 or Semester 2
Module content
Computational science relies on the analysis of often complex models, for its empirical data and analyses
typically involve an enormous amount of calculations. Parallel computing is one means of reducing the time
needed to complete such calculations. This module will examine the kinds of problems that lend themselves to
parallel computation and the methods for implementing programs to solve such problems. The aim of the
module is to provide a background for parallel and distributed computing as well as practical knowledge of the
implementation of computational experiments.

Information hiding 788 (COS 788)


Module credits 15.00

University of Pretoria Yearbook 2022 | [Link] | 13:03:38 15/01/2026 | Page 10 of 12


NQF Level 08
Prerequisites No prerequisites.
Contact time 2 lectures per week
Language of tuition Module is presented in English
Department Computer Science
Period of presentation Semester 1 or Semester 2
Module content
Information hiding is a category of computer security that focuses on embedding information in digital objects.
Information, such as digital signatures, are sometimes embedded in objects to indicate ownership or origin – a
technology that is called watermarking. Alternatively information is sometimes hidden in digital objects to
facilitate invisible or inaudible communication – called steganography. Steganography focuses on the
confidentiality of information, while watermarking is used to protect intellectual property. This module covers
the techniques and algorithms used in both technologies to embed information in objects with minimal
perceptual and audible changes to the objects. The module also provides a brief overview of different
multimedia formats, such as image, audio and video, in order to understand their potential and limitations in the
field of information hiding. Potential attacks on information hiding systems are also investigated.

Special topics (I) 790 (COS 790)


Module credits 15.00
NQF Level 08
Prerequisites No prerequisites.
Contact time 2 lectures per week
Language of tuition Module is presented in English
Department Computer Science
Period of presentation Semester 1 or Semester 2
Module content
From time to time, the department presents lectures on special topics within Computer Science. This module will
be used to present such special topics.

Special topics (II) 791 (COS 791)


Module credits 15.00
NQF Level 08
Prerequisites No prerequisites.
Language of tuition Module is presented in English
Department Computer Science
Period of presentation Semester 1 or Semester 2

University of Pretoria Yearbook 2022 | [Link] | 13:03:38 15/01/2026 | Page 11 of 12


Module content
From time to time, the department presents lectures on special topics within Computer Science. This module will
be used to present such special topics.

The regulations and rules for the degrees published here are subject to change and may be amended after the publication of
this information.

The General Academic Regulations (G Regulations) and General Student Rules apply to all faculties and registered students
of the University, as well as all prospective students who have accepted an offer of a place at the University of Pretoria. On
registering for a programme, the student bears the responsibility of ensuring that they familiarise themselves with the
General Academic Regulations applicable to their registration, as well as the relevant faculty-specific and programme-
specific regulations and information as stipulated in the relevant yearbook. Ignorance concerning these regulations will not
be accepted as an excuse for any transgression, or basis for an exception to any of the aforementioned regulations.

University of Pretoria Yearbook 2022 | [Link] | 13:03:38 15/01/2026 | Page 12 of 12

You might also like