Yearbooks

Programme: BSc (Computer Science)

Kindly take note of the disclaimer regarding qualifications and degree names.
Code Faculty Department
12134001 Faculty of Engineering, Built Environment and Information Technology Department: Computer Science
Credits Duration NQF level
Minimum duration of study: 3 years Total credits: 444 NQF level:  07

Admission requirements

Important information for all prospective students for 2023

The admission requirements below apply to all who apply for admission to the University of Pretoria with a National Senior Certificate (NSC) and Independent Examination Board (IEB) qualifications. Click here for this Faculty Brochure.

Minimum requirements

Achievement level

English Home Language or English First Additional Language

Mathematics

APS

NSC/IEB

NSC/IEB

5

5

30

The suggested second-choice programmes for BSc (Computer Science) are BSc (Information and Knowledge Systems) and BCom (Informatics).

Life Orientation is excluded when calculating the APS. 

You will be considered for final admission to degree studies if space allows, and if you have a National Senior Certificate (NSC) or equivalent qualification with admission to bachelor’s degree studies, and comply with the minimum subject requirements as well as the APS requirements of your chosen programme.

Applicants with qualifications other than the abovementioned should refer to the Brochure: Undergraduate Programme Information 2023: Qualifications other than the NSC and IEB, available at click here.

International students: Click here.

Transferring students

A transferring student is a student who, at the time of applying at the University of Pretoria (UP) is/was a registered student at another tertiary institution. A transferring student will be considered for admission based on NSC or equivalent qualification and previous academic performance. Students who have been dismissed from other institutions due to poor academic performance will not be considered for admission to UP.

Closing dates: Same as above.

Returning students

A returning student is a student who, at the time of application for a degree programme is/was a registered student at UP, and wants to transfer to another degree at UP. A returning student will be considered for admission based on NSC or equivalent qualification and previous academic performance.

Note:

  • Students who have been excluded/dismissed from a faculty due to poor academic performance may be considered for admission to another programme at UP, as per faculty-specific requirements.
  • Only ONE transfer between UP faculties and TWO transfers within a faculty will be allowed.
  • Admission of returning students will always depend on the faculty concerned and the availability of space in the programmes for which they apply.

Closing date for applications from returning students

Unless capacity allows for an extension of the closing date, applications from returning students must be submitted before the end of August via your UP Student Centre.

Additional requirements

Please note that additional admission requirements may result from certain electives.

Candidates who do not comply with these requirements are advised to register for BSc IT, depending on whether they comply with the admission requirements the programme.

Promotion to next study year

Refer also to General Academic Regulation G4.

  1. A student must pass all the modules of the first year of study, before he or she is permitted to register for any module of the third year of study. Module prerequisites remain applicable. Exceptions to this rule will be considered by the relevant head of department and the Dean.
  2. A new first-year student, who has failed in all the prescribed modules of the programme at the end of the first semester, will not be permitted to proceed to the second semester in the School of Information Technology.
  3. A student who has not passed at least 70% of the credits of the current year of study after the November examinations will not be re-admitted to the School of Information Technology.
  4. Students who fail a module for a second time, forfeit the privilege of registering for any modules of an advanced year of study.
  5. Students whose academic progress is not acceptable can be suspended from further studies. Refer to the following important regulation: G4 and/or regulations as they appear for the applicable programmes.
  6. A student who is excluded from further studies in terms of the stipulations of the above-mentioned regulations will be notified in writing by the Dean or admissions committee at the end of the relevant semester.
  7. A student who has been excluded from further studies may apply in writing to the admissions committee of the School of Information Technology for readmission on or before 12 January.
  8. Should the student be readmitted by the admissions committee, strict conditions will be set which the student must comply with in order to proceed with studies.
  9. Should the student not be readmitted to further studies by the admissions committee, he/she will be informed in writing.
  10. Students who are not readmitted by the admissions committee have the right to appeal to the Senate Committee for Admission, Evaluation and Academic Support.
  11. Any decision taken by the Senate Committee for Admission, Evaluation and Academic Support is final.

Pass with distinction

A degree (undergraduate) in the School of IT is conferred with distinction on a student who did not repeat any module of his/her final year, obtained a weighted average of at least 75% (not rounded) in all the prescribed modules for the final year, provided that a subminimum of 65% is obtained in each of these modules and provided that the degree is completed in the prescribed minimum period of time. Ad hoc cases will be considered by the Dean, in consultation with the relevant head of department.

General information

University of Pretoria Programme Qualification Mix (PQM) verification project

The higher education sector has undergone an extensive alignment to the Higher Education Qualification Sub-Framework (HEQF) across all institutions in South Africa. In order to comply with the HEQSF, all institutions are legally required to participate in a national initiative led by regulatory bodies such as the Department of Higher Education and Training (DHET), the Council on Higher Education (CHE), and the South African Qualifications Authority (SAQA). The University of Pretoria is presently engaged in an ongoing effort to align its qualifications and programmes with the HEQSF criteria. Current and prospective students should take note that changes to UP qualification and programme names, may occur as a result of the HEQSF initiative. Students are advised to contact their faculties if they have any questions.

Minimum credits: 176

Students wishing to continue with Mathematics or Mathematical Statistics on year level 2 or 3 need to take WTW 114, WTW 124 and WTW 162. Students not wishing to continue with Mathematics or Mathematical Statistics on year level 2 or 3, need to take WTW 152, WTW 134, WTW 146 and WTW 148.

Students are required to choose a science elective as part of the BSc Computer Science first year. The choice is dependent on the Grade 12 Physical Science results. A student who achieved a level 5 in Physical Science in Grade 12 may choose between Physics (PHY 114 and PHY 124) and Chemistry (CMY 117 and CMY 127). A level 4 in Physical Science allows the student to choose Biological Science (MLB 111, BOT 161 and MBY 161) and Geology (GLY 155 and GLY 163). A student who does not have Physical Science in Grade 12 has a choice between Physics (PHY 131 and SCI 154) and Geography (ENV 101, GGY 156, GGY 168 and GMC 110).

Students wanting to continue with Data Science electives in second and third year are required to include either Mathematical Statistics (WST 111 and WST 121) or Statistics (STK 110 and STC 122) to fulfil the statistics requirement for the degree programme.  All other students require Statistics (STK 110 and STK 120)..

Fundamental modules

Core modules

  • Module content:

    The focus is on object-oriented (OO) programming. Concepts including inheritance and multiple inheritance, polymorphism, operator overloading, memory management (static and dynamic binding), interfaces, encapsulation, reuse, etc. will be covered in the module. The module teaches sound program design with the emphasis on modular code, leading to well structured, robust and documented programs. A modern OO programming language is used as the vehicle to develop these skills. The module will introduce the student to basic data structures, lists, stacks and queues.

    View more

  • Module content:

    Fundamental concepts of modern operating systems in terms of their structure and the mechanisms they use are studied in this module. After completing this module, students will have gained, as outcomes, knowledge of real time, multimedia and multiple processor systems, as these will be defined and analysed. In addition, students will have gained knowledge on modern design issues of process management, deadlock and concurrency control, memory management, input/output management, file systems and operating system security. In order to experience a hands-on approach to the knowledge students would have gained from studying the abovementioned concepts, students will have produced a number of practical implementations of these concepts using the Windows and Linux operating systems.

    View more

  • Module content:

    This module introduces imperative computer programming, which is a fundamental building block of computer science. The process of constructing a program for solving a given problem, of editing it, compiling (both manually and automatically), running and debugging it, is covered from the beginning. The aim is to master the elements of a programming language and be able to put them together in order to construct programs using types, control structures, arrays, functions and libraries. An introduction to object orientation will be given. After completing this module, the student should understand the fundamental elements of a program, the importance of good program design and user-friendly interfaces. Students should be able to conduct basic program analysis and write complete elementary programs.

    View more

  • Module content:

    This module introduces concepts and terminology related to the computer science discipline. General topics covered include the history of computing, machine level representation of data, Boolean logic and gates, basic computer systems organisation, algorithms and complexity and automata theory. The module also introduces some of the subdisciplines of computer science, such as computer networks, database systems, compilers, information security and intelligent systems. The module also focues on modelling of algorithms.

    View more

  • Module content:

    *This module serves as preparation for students majoring in Mathematics (including all students who intend to enrol for WTW 218 and WTW 220). Students will not be credited for more than one of the following modules for their degree: WTW 114, WTW 158, WTW 134, WTW 165.
    Functions, limits and continuity. Differential calculus of single variable functions, rate of change, graph sketching, applications. The mean value theorem, the rule of L'Hospital. Definite and indefinite integrals, evaluating definite integrals using anti-derivatives, the substitution rule.

    View more

  • Module content:

    Propositional logic: truth tables, logical equivalence, implication, arguments. Mathematical induction and well-ordering principle. Introduction to set theory. Counting techniques: elementary probability, multiplication and addition rules, permutations and combinations, binomial theorem, inclusion-exclusion rule.

    View more

  • Module content:

    *Students will not be credited for more than one of the following modules for their degree:
    WTW 124, WTW 146, WTW 148 and WTW 164. This module serves as preparation for students majoring in Mathematics (including all students who intend to enrol for WTW 218, WTW 211 and WTW 220).

    The vector space Rn, vector algebra with applications to lines and planes, matrix algebra, systems of linear equations, determinants. Complex numbers and factorisation of polynomials. Integration techniques and applications of integration. The formal definition of a limit. The fundamental theorem of Calculus and applications. Vector functions and quadratic curves. 

    View more

  • Module content:

    *Students will not be credited for more than one of the following modules for their degree: WTW 134, WTW 165, WTW 114, WTW 158. WTW 134 does not lead to admission to Mathematics at 200 level and is intended for students who require Mathematics at 100 level only. WTW 134 is offered as WTW 165 in the second semester only to students who have applied in the first semester of the current year for the approximately 65 MBChB, or the 5-6 BChD places becoming available in the second semester and who were therefore enrolled for MGW 112 in the first semester of the current year. 
    Functions, derivatives, interpretation of the derivative, rules of differentiation, applications of differentiation, integration, interpretation of the definite integral, applications of integration. Matrices, solutions of systems of equations. All topics are studied in the context of applications.

    View more

  • Module content:

    *Students will not be credited for more than one of the following modules for their degree:
    WTW 124, WTW 146 and WTW 164. The module WTW 146 is designed for students who require Mathematics at 100 level only and does not lead to admission to Mathematics at 200 level.

    Vector algebra, lines and planes, matrix algebra, solution of systems of equations, determinants. Complex numbers and polynomial equations. All topics are studied in the context of applications.

    View more

  • Module content:

    *Students will not be credited for more than one of the following modules for their degree:
    WTW 124, WTW 148 and WTW 164. The module WTW 148 is designed for students who require Mathematics at 100 level only and does not lead to admission to Mathematics at 200 level.

    Integration techniques. Modelling with differential equations. Functions of several variables, partial derivatives, optimisation. Numerical techniques. All topics are studied in the context of applications.

    View more

  • Module content:

    The module serves as an introduction to computer programming as used in science. Modelling of dynamical processes using difference equations; curve fitting and linear programming are studied. Applications are drawn from real-life situations in, among others, finance, economics and ecology.

    View more

  • Module content:

    *Students will not be credited for more than one of the following modules for their degree: WTW 162 and WTW 264.

    Introduction to the modelling of dynamical processes using elementary differential equations. Solution methods for first order differential equations and analysis of properties of solutions (graphs). Applications to real life situations.

    View more

Elective modules

  • Module content:

    Botanical principles of structure and function; diversity of plants; introductory plant systematics and evolution; role of plants in agriculture and food security; principles and applications of plant biotechnology; economical and valuable medicinal products derived from plants; basic principles of plant ecology and their application in conservation and biodiversity management.
    This content aligns with the United Nation's Sustainable Debelopment Goals of No Poverty, Good Health and Well-being, Climate Action, Responsible Consumption and Production, and Life on Land.

    View more

  • Module content:

    General introduction to inorganic, analytical and physical chemistry. Atomic structure and periodicity. Molecular structure and chemical bonding using the VSEOR model. Nomenclature of inorganic ions and compounds. Classification of reactions: precipitation, acid-base, redox reactions and gas-forming reactions. Mole concept and stoichiometric calculations concerning chemical formulas and chemical reactions. Principles of reactivity: energy and chemical reactions. Physical behaviour gases, liquids, solids and solutions and the role of intermolecular forces. Rate of reactions: Introduction to chemical kinetics.

    View more

  • Module content:

    Theory: General physical-analytical chemistry: Chemical equilibrium, acids and bases, buffers, solubility equilibrium, entropy and free energy, electrochemistry. Organic chemistry: Structure (bonding), nomenclature, isomerism, introductory stereochemistry, introduction to chemical reactions and chemical properties of organic compounds and biological compounds, i.e. carbohydrates and aminoacids. Practical: Molecular structure (model building), synthesis and properties of simple organic compounds.

    View more

  • Module content:

    Introducing the basic concepts and interrelationships required to understand the complexity of natural environmental problems, covering an introduction to environmental science and biogeography; including a first introduction to SDGs and Aichi targets.

    View more

  • Module content:

    This module begins by fostering an understanding of human geography. Then follows with the political ordering of space; cultural diversity as well as ethnic geography globally and locally; population geography of the world and South Africa: and four economic levels of development. The purpose is to place South Africa in a world setting and to understand the future of the country.

    View more

  • Module content:

    Note: Students cannot register for both GGY 168 and GGY 166.
    This module serves as an introduction to the field of physical geography and geomorphology. Initially, a theoretical overview of a variety of geomorphic realms will be studied. Students will be taught about the key processes that are present in each realm and how those processes work together in order to produce specific landforms. In addition, students will receive training in several fundamental analytical techniques, including cartographic skills, aerial photographs and introductory GIS.

    View more

  • Module content:

    Solar system; structure of solid matter; minerals and rocks; introduction to symmetry and crystallography; important minerals and solid solutions; rock cycle; classification of rocks. External geological processes (gravity, water, wind, sea, ice) and their products (including geomorphology). Internal structure of the earth. The dynamic earth – volcanism, earthquakes, mountain building – the theory of plate tectonics. Geological processes (magmatism, metamorphism, sedimentology, structural geology) in a plate tectonic context. Geological maps and mineral and rock specimens. Interaction between man and the environment, and nature of anthropogenic climate change.

    View more

  • Module content:

    This module will give an overview of earth history, from the Archaean to the present. Important concepts such as the principles of stratigraphy and stratigraphic nomenclature, geological dating and international and South African time scales will be introduced. A brief introduction to the principles of palaeontology will be given, along with short descriptions of major fossil groups, fossil forms, ecology and geological meaning. In the South African context, the major stratigraphic units, intrusions and tectonic/metamorphic events will be detailed, along with related rock types, fossil contents, genesis and economic commodities. Anthropogenic effects on the environment and their mitigation. Practical work will focus on the interpretation of geological maps and profiles.

    View more

  • Module content:

    History, present and future of cartography. Introductory geodesy: shape of the earth, graticule and grids, datum definition, elementary map projection theory, spherical calculations. Representation of geographical data on maps: Cartographic design, cartographic abstraction, levels of measurement and visual variables. Semiotics for cartography: signs, sign systems, map semantics and syntactics, explicit and implicit meaning of maps (map pragmatics). Critique maps of indicators to measure United Nations Sustainable Development Goals in South Africa.

    View more

  • Module content:

    The module will introduce the student to the field of Microbiology. Basic Microbiological aspects that will be covered include introduction into the diversity of the microbial world (bacteria, archaea, eukaryotic microorganisms and viruses), basic principles of cell structure and function, microbial nutrition and microbial growth and growth control. Applications in Microbiology will be illustrated by specific examples i.e. bioremediation, animal-microbial symbiosis, plant-microbial symbiosis and the use of microorganisms in industrial microbiology. Wastewater treatment, microbial diseases and food will be introduced using specific examples.

    View more

  • Module content:

     Introduction to the molecular structure and function of the cell. Basic chemistry of the cell. Structure and composition of prokaryotic and eukaryotic cells. Ultrastructure and function of cellular organelles, membranes and the cytoskeleton. General principles of energy, enzymes and cell metabolism. Selected processes, e.g. glycolysis, respiration and/or photosynthesis. Introduction to molecular genetics: DNA structure and replication, transcription, translation. Cell growth and cell division.

    View more

  • Module content:

    SI-units. Significant figures. Waves: intensity, superposition, interference, standing waves, resonance, beats, Doppler. Geometrical optics: Reflection, refraction, mirrors, thin lenses, instruments. Physical optics: Young-interference, coherence, diffraction, polarisation. Hydrostatics and dynamics: density, pressure, Archimedes’ principle, continuity, Bernoulli. Heat: temperature, specific heat, expansion, heat transfer. Vectors. Kinematics of a point: Relative, projectile, and circular motion. Dynamics: Newton’s laws, friction. Work: point masses, gasses (ideal gas law), gravitation, spring, power. Kinetic energy: Conservative forces, gravitation, spring. Conservation of energy. Conservation of momentum. Impulse and collisions. System of particles: Centre of mass, Newton’s laws. Rotation: torque, conservation of angular momentum, equilibrium, centre of gravity.

    View more

  • Module content:

    Simple harmonic motion and pendulums. Coulomb’s law. Electric field: dipoles, Gauss’ law.Electric potential. Capacitance. Electric currents: resistance, resistivity, Ohm’s law, energy, power, emf, RC-circuits. Magnetic Field: Hall-effect, Bio-Savart. Faraday’s and Lenz’s laws. Oscillations: LR-circuits. Alternating current: RLC-circuits, power, transformers. Introductory concepts to modern physics. Nuclear physics: Radioactivity.

    View more

  • Module content:

    Note: PHY 131 is aimed at students who will not continue with physics. PHY 131 cannot be used as a substitute for PHY 114.

    Units, vectors, one dimensional kinematics, dynamics, work, equilibrium, sound, liquids, heat, thermodynamic processes, electric potential and capacitance, direct current and alternating current, optics, modern physics, radioactivity.

    View more

  • Module content:

    Students from all faculties are welcome to join us in our exploration of the universe from an earth-bound perspective. We reflect on the whole universe from the sub microscopic to the vast macroscopic and mankind’s modest position therein. To what degree is our happiness determined by stars? Echoes from ancient firmaments - the astronomy of old civilisations. The universe is born with a bang. Stars, milky ways and planets are formed. Life is breathed into the landscape on earth, but is there life elsewhere? The architecture of the universe – distance measurements, structure of our solar system and systems of stars. How does it look like on neighbouring planets? Comets and meteorites. Life cycles of stars. Spectacular exploding stars! Exotica like pulsars and black holes.

    View more

  • Module content:

    Inferential concepts. Experimental and observational data. Measures of association, uncertainty and goodness of fit. Sampling error and accuracy of estimation. Introduction to linear regression, reduction of variation due to regression. Conditional distributions of residuals.  Simulation based inference: conditional means and prediction intervals. Bivariate data visualisation. Supporting mathematical concepts. Statistical concepts are demonstrated and interpreted through practical coding and simulation within a data science framework.
    This module is also presented as a summer school for students who initially elected and passed STK 120 with a final mark of at least 60% and then decides to further their studies in statistics as well as for students who achieved a final mark of between 40% - 49% in STC 122 during semester 2.

    View more

  • Module content:

    Descriptive statistics:
    Sampling and the collection of data; frequency distributions and graphical representations. Descriptive measures of location and dispersion.
    Probability and inference:
    Introductory probability theory and theoretical distributions. Sampling distributions. Estimation theory and hypothesis testing of sampling averages and proportions (one and two-sample cases). Supporting mathematical concepts. Statistical concepts are demonstrated and interpreted through practical coding and simulation within a data science framework.

    View more

  • Module content:

    Students can only get credit for one of the following two modules: STK 120 or STK 121.
    Analysis of variance, categorical data analysis, distribution-free methods, curve fitting, regression and correlation, the analysis of time series and indices. Statistical and economic applications of quantitative techniques: Systems of linear equations: solving and application. Optimisation, linear functions, non-linear functions. Marginal and total functions. Stochastic and deterministic variables in statistical and economic context: producers' and consumers' surplus. Supporting mathematical concepts. Statistical concepts are illustrated using simulation within a data science framework.
    This module is also presented as STK 121, an anti-semester module. This is a terminating module. 

    View more

  • Module content:

    Characterisation of a set of measurements: Graphical and numerical methods. Random sampling. Probability theory. Discrete and continuous random variables. Probability distributions. Generating functions and moments.

    View more

  • Module content:

    Sampling distributions and the central limit theorem. Statistical inference: Point and interval estimation. Hypothesis testing with applications in one and two-sample cases. Introductory methods for: Linear regression and correlation, analysis of variance, categorical data analysis and non-parametric statistics.  Identification, use, evaluation and interpretation of statistical computer packages and statistical techniques.

    View more

Minimum credits: 124

Students who wish to continue with Data Science in second year are required to include Mathematical Statistics (WST 211, WST 221 and WST 212) or Statistics (STK 210, STK 220 and WST 212) in the second year, depending on the choice of statistics modules taken in the first year.

The modules to continue with Mathematics, Mathematical Statistics or Statistics, Physics and Chemistry in the third year must be done in consultation with the programme organiser and may require second year elective modules to be included in the degree programme.

Fundamental modules

  • Module content:

    The Joint Community Project module is a credit-bearing educational experience where students are not only actively engaging in interpersonal skills development but also participate in service activities in collaboration with community partners. Students are given the opportunity to practice and develop their interpersonal skills formally taught in the module by engaging in teamwork with fellow students from different disciplines and also with non-technical members of the community. The module intends for the student to develop through reflection, understanding of their own experience in a team-based workspace as well as a broader understanding of the application of their discipline knowledge and its potential impact in their communities, in this way also enhancing their sense of civic responsibility. Compulsory class attendance 1 week before Semester 1 classes commence.

    View more

Core modules

  • Module content:

    This module introduces students to a framework for investigating both computability and complexity of problems. Topics include, but are not limited to: finite-state machines, regular expressions and their application in a language such as awk, the Halting problem, context-free grammars, P vs NP problem, NP-complete class, reduction techniques, regular languages, DFAs and NFAs, Lattices, Church-Turing thesis.

    View more

  • Module content:

    Data abstraction is a fundamental concept in the design and implementation of correct and efficient software. In prior modules, students are introduced to the basic data structures of lists, stacks and queues. This module continues with advanced data structures such as trees, hash tables, heaps and graphs, and goes into depth with the algorithms needed to manipulate them efficiently. Classical algorithms for sorting, searching, traversing, packing and game playing are included, with an emphasis on comparative implementations and efficiency. At the end of this module, students will be able to identify and recognise all the classical data structures; implement them in different ways; know how to measure the efficiency of implementations and algorithms; and have further developed their programming skills, especially with recursion and polymorphism.

    View more

  • Module content:

    The module will introduce the concepts of model-driven analysis and design as a mechanism to develop and evaluate complex software systems. Systems will be decomposed into known entities, such as design patterns, classes, relationships, execution loops and process flow, in order to model the semantic aspects of the system in terms of structure and behaviour. An appropriate tool will be used to support the software modelling. The role of the software model in the enterprise will be highlighted. Students who successfully complete this module will be able to concep-tualise and analyse problems and abstract a solution.

    View more

  • Module content:

    This module will introduce the student to netcentric systems by focusing on the development of systems for the web, mobile devices and the cloud.  To lay the foundation on which the rest of the module can follow, traditional web-based programming languages such as HTML5, JavaScript, CSS and Python will be covered differentiating between client-side and server-side computation.  Persistence of web-based data will be included for both client and server-based computation.  These technologies will be extended and applied to mobile platforms where the availability of a connection, location-services and mobile device limitations play a role.  For cloud platforms, aspects relating to task partitioning, security, virtualisation, cloud storage and access to the shared data stores, data synchronisation, partitioning and replication are considered. In order to practically demonstrate that a student has reached these outcomes, students will be required to use, integrate and maintain the necessary software and hardware by completing a number of smaller practical assignments where after integrating all these technologies into a comprehensive and practical programming project is required.

    View more

  • Module content:

    This module will expose students to the evolution of databases systems. They will be able to model data conceptually, in terms of models such as conceptual, relational, object oriented, graph-based and network and the mapping between models, in particular between the conceptual and relational model. Foundational concepts relating to the relational model will be considered, such as: entity and referential integrity, relational algebra and calculus, functional dependency, normals forms, Indexing of database systems and transaction processing will also form an integral part of the curriculum. The physical data representation of the databases system both in memory and within the file system of the operating system will be considered.

    View more

  • Module content:

    Computer science courses mostly deal with sequential programs. This module looks at the fundamentals of concurrency; what it means, how it can be exploited, and what facilities are available to determine program correctness. Concurrent systems are designed, analysed and implemented.

    View more

  • Module content:

    This module provides the foundations on which other modules build by enabling a deeper understanding of how software interacts with hardware. It will teach the design and operation of modern digital computers by studying each of the components that make up a digital computer and the interaction between these components. Specific areas of interest, but not limited to, are: representation of data on the machine-level; organisation of the machine on the assembly level; the architecture and organisation of memory; inter- and intra-component interfacing and communication; data paths and control; and parallelism. Topic-level detail and learning outcomes for each of these areas are given by the first 6 units of ‘Architecture and Organisation’ knowledge area as specified by the ACM/IEEE Computer Science Curriculum 2013.
    The concepts presented in the theory lectures will be reinforced during the practical sessions by requiring design and implementation of the concepts in simulators and assembly language using an open source operating system.

    View more

  • Module content:

    Setting up and solving recurrence relations. Equivalence and partial order relations. Graphs: paths, cycles, trees, isomorphism. Graph algorithms: Kruskal, Prim, Fleury. Finite state automata.

    View more

Elective modules

  • Module content:

    Statistical problem solving. Causality, experimental and observational data. Probability theory. Multivariate random variables. Discrete and continuous probability distributions. Stochastic representations. Measures of association. Expected values and conditional expectation. Simulation techniques. Supporting mathematical concepts. Statistical concepts are demonstrated and interpreted through practical coding and simulation within a data science framework.

    View more

  • Module content:

    Multivariate probability distributions. Sampling distributions and the central limit theorem. Frequentist and Bayesian inference. Statistical learning and decision theory. Simulation techniques enhancing statistical thinking. Supervised learning:  linear regression, estimation and inference. Non-parametric modelling. Supporting mathematical concepts. Statistical algorithms. Statistical concepts are demonstrated and interpreted through practical coding and simulation within a data science framework.

    View more

  • Module content:

    Set theory. Probability measure functions. Random variables. Distribution functions. Probability mass functions. Density functions. Expected values. Moments. Moment generating functions. Special probability distributions: Bernoulli, binomial, hypergeometric, geometric, negative binomial, Poisson, Poisson process, discrete uniform, uniform, gamma,exponential, Weibull, Pareto, normal. Joint distributions: Multinomial, extended hypergeometric, joint continuous distributions. Marginal distributions. Independent random variables. Conditional distributions. Covariance, correlation. Conditional expected values. Transformation of random variables: Convolution formula. Order statistics. Stochastic convergence: Convergence in distribution. Central limit theorem. Practical applications. Practical statistical modelling and analysis using statistical computer packages and the interpretation of the output.

    View more

  • Module content:

    Introductory machine learning concepts. Data base design and use. Data preparation and extraction. Statistical modelling using data base structures. Statistical concepts are demonstrated and interpreted through practical coding and simulation within a data science framework.

    View more

  • Module content:

    Stochastic convergence: Asymptotic normal distributions, convergence in probability. Statistics and sampling distributions: Chi-squared distribution. Distribution of the sample mean and sample variance for random samples from a normal population. T-distribution. F-distribution. Beta distribution. Point estimation: Method of moments. Maximum likelihood estimation. Unbiased estimators. Uniform minimum variance unbiased estimators. Cramer-Rao inequality. Efficiency. Consistency. Asymptotic relative efficiency.
    Bayes estimators. Sufficient statistics. Completeness. The exponential class. Confidence intervals. Test of statistical hypotheses. Reliability and survival distributions. Practical applications. Practical statistical modelling and analysis using statistical computer packages and the interpretation of the output.

    View more

Minimum credits: 144

Students have a choice of electives (45 credits) from Computer Science (COS 314, COS 344 and COS 326); Information Science (IMY 310 and IMY 320); Data Science (STK 353 and COS 314), Mathematics; Mathematical Statistics or Statistics; Physics and Chemistry. The module choices for Mathematics, Mathematical Statistics or Statistics, Physics and Chemistry must be done in consultation with the programme organiser and may require second year elective modules to be included in the degree programme.

Core modules

  • Module content:

    The module exposes students to problems associated with software development on an industrial scale. Overall goals of the module are: to become familiar with the latest trends in software engineering; to understand the software engineering process and to appreciate its complexity; to be exposed to a variety of methodologies for tackling different stages of the software lifecycle; to understand and apply the concepts of systems administration and maintenance; to complete the development of a fairly large object orientation-based software product. The focus of the module is on a project that lasts the whole year. The project is completed in groups of approximately four (4) students and teaches students to take responsibility for a variety of roles within a group, and to understand the different requirements for these; to experience the advantages and problems of working in a group; professionalism with regards to particularly colleagues and clients.
    After the successful completion of this module, the student will be able to: understand the psychology of a client; work in groups; and have an appreciation for planning, designing, implementing and maintaining large projects. These qualities should place the students in a position in which they are able to handle software development in the corporate environment.

    View more

  • Module content:

    This module develops an appreciation of the fundamentals and design principles for information assurance and security. Students will develop a clear understanding of the basic information security services and mechanisms, enabling them to design and evaluate the integration of solutions into the user application environment. Emphasis will be placed on services such as authorisation and confidentiality. Students will  acquire knowledge and skills of Security Models such as the Bell-LaPadula, Harrison-Ruzzo Ullman and Chinese Wall Model. Students will develop a detailed understanding of the confidentiality service by focusing on cryptology and the practical implementation thereof. The student will be introduced to professional and philosophical ethics. At the end of the module students will be able to engage in a debate regarding the impact (local and global) of computers on individuals, organisations and society. The professionalism of IT staff will be discussed against national and international codes of practices such as those of the CSSA, ACM and IEEE.

    View more

  • Module content:

    The objective of this module is to acquaint the student with the terminology of communication systems and to establish a thorough understanding of exactly how data is transferred in such communication networks, as well as applications that can be found in such environments. The study material includes: concepts and terminology, the hierarchy of protocols according to the OSI and TCP/IP models, protocols on the data level, physical level and network level as well as higher level protocols. The practical component of the module involves programming TCP/IP sockets using a high level language. The emphasis throughout is on the technical aspects underlying the operation of networks, rather than the application of networks.

    View more

  • Module content:

    Programming languages are the backbone for software development. Each language has its own different syntax and semantics, but there are many common concepts that can be studied and then illustrated through the languages. The module concentrates on issues of object orientation, including delegation, iteration and polymorphism. It surveys how languages provide the basic building blocks for data and control, as well as exception handling and concurrency. At the end of the module, students will be able to appreciate the rich history behind programming languages, leading to independent principles that evolve over time. They will be skilled at using a variety of programming languages, including new paradigms such as functional, logical and scripting, and will know how to learn a new language with ease. From this experience, they will be able to apply evaluation criteria for choosing an appropriate programming language in a given scenario.

    View more

  • Module content:

    This module will introduce the student to the fundamentals of compiler construction. These include: the structural difference between a high-level and a von-Neumann language, the meaning of syntax and semantics and what semantics-preserving correctness means; the concepts of regular expressions, finite automata, context-free grammars in the context of programming languages; the need to construct parse-trees for given programmes; the application of data structures and algorithms for the purpose of code-analysis, code-optimisation and register-allocation; and the limits of code-analysis in terms of undecideability and the halting problem.
    After successful completion of the module, the student will have an understanding of the importance of compilers and will understand how to implement a compiler, in terms of its components, the scanner, parser, type checker and code-generator for a given grammar.

    View more

Elective modules

  • Module content:

    The main objective of this module is to introduce a selection of topics from artificial intelligence (AI), and to provide the student with the background to implement AI techniques for solving complex problems.
    This module will cover topics from classical AI, as well as more recent AI paradigms. These topics include: search methods, game playing, knowledge representation and reasoning, machine learning, neural networks, genetic algorithms, artificial life, planning methods, and intelligent agents. In the practical part of this module, students will get experience in implementing
    (1) game trees and evolving game-playing agents;
    (2) a neural network and applying it to solve a real-world problem; and
    (3) a genetic algorithm and applying it to solve a real-world problem.

    View more

  • Module content:

    This module builds on a prior introductory module on database technology and provides more advanced theoretical and practical study material for managing large volumes of data, for example, noSQL database systems and MapReduce. The module will consider file system models, for example Hadoop, relevant for big data storage, manipulation at scale, mining and visualisation.  Basic knowledge of parallel decomposition concepts will be included.

    View more

  • Module content:

    The aim of this module is to acquire a sound knowledge of the basic theory of interactive computer graphics and basic computer graphics programming techniques. The theory will cover graphics systems and models, graphics programming, input and interaction, geometric objects and transformations, viewing in 3D, shading, rendering techniques, and introduce advanced concepts, such as object-oriented computer graphics and discrete techniques. The module includes a practical component that enables students to apply and test their knowledge in computer graphics. The OpenGL graphics library and the C programming language will be used for this purpose.

    View more

  • Module content:

    *Closed - requires departmental selection.
    Human-computer Interaction. This module involves a study of human-computer interaction and human-information interaction; humans as computer and information users; and the ethical aspects relating to the creation of multimedia information products. A detailed study of the role, composition and functioning of an interface, underlying principles in the design and evaluation of interfaces, will also be undertaken.

    View more

  • Module content:

    *Closed - requires departmental selection.
    Trends. This module covers a wide array of themes that relate to how multimedia and technology in general, is applied in the world today. It aims to critically assess the latest design and development trends, and evaluate the benefits and pitfalls associated with these new advances. It is also concerned with the creation of user centric applications through the implementation of the fundamental design laws of user experience design. The practical component of the module covers video editing tools and the basic skills required to create attractive videos.

    View more

  • Module content:

    Data exploration. Data wrangling. Statistical coding. Algorithmic thinking.  Sampling: basic techniques in probability, non-probability, and resampling methods. Text mining and analytics. Machine learning: classification and clustering. Statistical concepts are demonstrated and interpreted through practical coding and simulation within a data science framework.

    View more


Regulations and rules
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 Programme Qualification Mix (PQM) verification project
The higher education sector has undergone an extensive alignment to the Higher Education Qualification Sub-Framework (HEQF) across all institutions in South Africa. In order to comply with the HEQSF, all institutions are legally required to participate in a national initiative led by regulatory bodies such as the Department of Higher Education and Training (DHET), the Council on Higher Education (CHE), and the South African Qualifications Authority (SAQA). The University of Pretoria is presently engaged in an ongoing effort to align its qualifications and programmes with the HEQSF criteria. Current and prospective students should take note that changes to UP qualification and programme names, may occur as a result of the HEQSF initiative. Students are advised to contact their faculties if they have any questions.

Copyright © University of Pretoria 2024. All rights reserved.

FAQ's Email Us Virtual Campus Share Cookie Preferences