Yearbooks

Programme: BSc Computer Science

Kindly take note of the disclaimer regarding qualifications and degree names.
Code Faculty
12134001 Faculty of Engineering, Built Environment and Information Technology
Credits Duration
Minimum duration of study: 3 years Total credits: 472

Admission requirements

  • The following persons will be considered for admission: a candidate who is in possession of a certificate that is deemed by the University to be equivalent to the required Grade 12 certificate with university endorsement; a candidate who is a graduate from another tertiary institution or has been granted the status of a graduate of such an institution; and a candidate who is a graduate of another faculty at the University of Pretoria.
  • Life Orientation is excluded when calculating the APS.
  • Grade 11 results are used in the provisional admission of prospective students.
  • A valid qualification with admission to degree studies is required.
  • Minimum subject and achievement requirements, as set out below, are required. On first-year level a student has a choice between Afrikaans and English as language medium. In certain cases, tuition may be presented in English only, for example in electives, where the lecturer may not speak Afrikaans or in cases where it is not economically or practically viable. 
  • Should a candidate obtain an APS of 26 to 29, consideration for admission will be based on the results of the NBT, provided the quotas regarding student numbers have not been reached.
 
Minimum requirements 
Achievement level
Afrikaans or English Mathematics APS
NSC/IEB HIGCSE AS-Level A-Level NSC/IEB HIGCSE AS-Level A-Level
5 3 C C 5 3 C C

30
(26-29
admission
based on the
NBT)

 

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

General

  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 student must pass all the modules of the second year of study, before he or she is permitted to register for any module of the fourth year of study (in the case of a four-year degree). Module prerequisites remain applicable. Exceptions to this rule will be considered by the relevant Head of Department and the Dean.
  3. 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.
  4. 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.
  5. Students who fail a module for a second time, forfeit the privilege of registering for any modules of an advanced year of study.
  6. Students whose academic progress is not acceptable can be suspended from further studies.

Procedure: Exclusion from and re-admission to further studies in the School of Information Technology

  1. A student who is excluded from further studies in terms of the stipulations of the abovementioned regulations will be notified in writing by the Dean or admissions committee of the School of Information Technology at the end of the relevant semester.
  2. A student who has been excluded from further studies may apply in writing to the admissions committee of the School of Information Technology on level 6 in the Engineering building I for re-admission.
  3. Written applications for re-admission to the second semester must be submitted at least 7 days before lectures resume for the second semester.
  4. Written applications for re-admission to the new academic year must be submitted before 12 January.
  5. Late applications will be accepted only in exceptional circumstances after approval by the Dean.
  6. Should a student not be re-admitted to further studies by the admissions committee of the School of Information Technology, he/she will be informed in writing.
  7. A student who is not re-admitted by the admissions committee of the School of Information Technology has the right to appeal to the Appeals Committee: Admissions in the Administration building, room 3-13.
  8. Any decision taken by the Appeals Committee: Admissions is final.
  9. Should the student be re-admitted by the Admissions Committee, strict conditions will be set which the student must comply with in order to proceed with his/her studies.
  10. A student, who is repeating his or her year, may be permitted by the Dean, on recommendation of the relevant head(s) of department, to register for modules of the following year of study in addition to the outstanding modules he or she has failed, providing that he or she complies with the prerequisites of these modules and no timetable clashes occur. In no semester may the total credits for which a student registers, exceed the normal number of credits per semester by more than 16 credits, except with special permission from the relevant Head of Department.

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% 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 head of the relevant department.

Minimum credits: 174

Students wishing to continue with Mathematics or Mathematical Statistics on year level 2 or 3 need to take WTW114, WTW124 & WTW162. Students not wishing to continue with Mathematics or Mathematical Statisctics on year level 2 or 3, need to take WTW134, WTW146, WTW148.

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 MBY161).  A student who does not have Physical Science in Grade 12 must choose Geology (GLY 155 and GLY 163).

Students have a choice between Mathematical Statistics (WST 111 and WST 121) and Statistics (STK 110 and STK 120) to fulfil the statistics requirement for the degree programme

 

 

 

 

 

 

 

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, polar curves 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:

    Introduction to the modelling of dynamical processes using difference equations. Curve fitting. Introduction to linear programming. Matlab programming. Applications to 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:

    Basic plant structure and function; introductory plant taxonomy and plant systematics; principles of plant molecular biology and biotechnology; adaptation of plants to stress; medicinal compounds from plants; basic principles of plant ecology and their application in natural resource management.

    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:

    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.

    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. Practical work will focus on the interpretation of geological maps and profiles.

    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:

    Introductory study of the ultra structure, function and composition of representative cells and cell components. General principles of cell metabolism, molecular genetics, cell growth, cell division and differentiation.

    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:

    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). Identification, use, evaluation and interpretation of statistical computer packages and statistical techniques.

    View more

  • Module content:

    Multivariate statistics:
    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: drafting, matrices, solving and application. Optimisation; linear functions (two and more independent variables), non-linear functions (one and two independent variables). Marginal and total functions. Stochastic and deterministic variables in statistical and economic context: producers' and consumers' surplus, distribution functions, probability distributions, probability density functions. Identification, use, evaluation, interpretation of statistical computer packages and statistical techniques.
    This module is also presented as an anti-semester bilingual 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

 

 

Fundamental modules

  • Module content:

    This project-orientated module is a form of applied learning which is directed at specific community needs and is integrated into all undergraduate academic programmes offered by the Faculty of Engineering, Built Environment and Information Technology. 
    The main objectives with the module are as follows:
    (1) The execution of a community-related project aimed at achieving a beneficial impact on a chosen section of society, preferably but not exclusively, by engagement with a section of society which is different from the student's own background.
    (2) The development of an awareness of personal, social and cultural values, an attitude to be of service, and an understanding of social issues, for the purpose of being a responsible professional.
    (3) The development of important multidisciplinary and life skills, such as communication, interpersonal and leadership skills.
    Assessment in this module will include all or most of the following components: evaluation and approval of the project proposal, assessment of oral and/or written progress reports, peer assessment in the event of team projects, written report-back by those at which the project was aimed at, and final assessment on grounds of the submission of a portfolio and a written report.

    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

Minimum credits: 144

Students have a choice of electives (43 credits) from Computer Science (COS 314, COS 344 and COS 326); Information Science (IMY 310 and IMY 320); 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 organizer 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:

    Theory: Molecular quantum mechanics. Introduction: Shortcomings of classical physics, dynamics of microscopic systems, quantum mechanical principles, translational, vibrational and rotational movement. Atomic structure and spectra: Atomic hydrogen, multiple electron systems, spectra of complex atoms, molecular structure, the hydrogen molecule ion, diatomic and polyatomic molecules, structure and properties of molecules. Molecules in motion: Viscosity, diffusion, mobility. Surface chemistry: Physisorption and chemisorption, adsorption isotherms, surface tension, heterogeneous catalytic rate reactions, capillarity.

    View more

  • Module content:

    Theory: Separation methods: Extraction, multiple extraction, chromatographic systems. Spectroscopy: Construction of instruments, atomic absorption and atomic emission spectrometry, surface analysis techniques. Mass spectrometry. Instrumental electrochemistry.

    View more

  • Module content:

    Theory: NMR spectroscopy: applications. Aromatic chemistry, Synthetic methodology in organic chemistry. Carbon-carbon bond formation: alkylation at nucleophilic carbon sites, aldol and related condensations, Wittig and related reactions, acylation of carbanions (Claisen condensation).

    View more

  • 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:

    Information Organisation. The module is concerned with the organisation of information in the digital environment focusing on the structure and use of document management and workflow systems, as well as distribution channels and virtual environments. The characteristics and application of the internet, intranets, as well as portals and applications use, are considered.

    View more

  • Module content:

    Information and Knowledge Management. This module focuses on information and knowledge management at an operational level and introduces information and knowledge management at a corporate strategic level. It deals with the management of information and knowledge, which enables the organisation to be competitive. In this module the focus is on four aspects, namely: the 21st century organisation, the external and internal stakeholders that have an interest in information products, as well as the infrastructure that should be in place in organisations to manage information products. The module concludes with a few topics relating to information management at a corporate strategic level.

    View more

  • Module content:

    This module deals with the construction and management of digital repositories. It also addresses the characteristics of the digital repository in a rapidly changing technological world and a challenging information society. Core aspects include: system design, relationships to hybrid libraries, digital collections and rights management, standards, virtual referencing and the development and evaluation of digital repositories.

    View more

  • Module content:

    This module examines aspects of the information and knowledge society within local, regional and international contexts. A special focus of the module is the interaction and exchange of data, information and knowledge from communities' local knowledge system with data, information and knowledge from the global knowledge system. The module discusses the growth and role of information and communication technologies (ICTs), and their implications for development.

    View more

  • Module content:

    Experiential learning project. This module takes the form of a project and experiential training in co-operation with industry.

    View more

  • Module content:

    This module provides an overview of Competitive Intelligence (CI) and focuses on the needs for CI in organisations. The ways in which organisations compete and the benefits that CI can bring to these organisations will also be covered. The growing need for CI among South African organisations will also be examined. Practical examples and case studies will be used to highlight the value of CI in organisations.

    View more

  • Module content:

    Electronics (14 lectures)
    Thévenin and Norton equivalent circuits, superposition principle, RC, LC and LRC circuits. Semiconductor diode. Bipolar transistor. Operational amplifiers. Computer controlled instrumentation.
    Electromagnetism (21 lectures)
    Electrostatics: Coulomb’s law, divergence and curl of E, Gauss’ law, Laplace’s equation, image charge problems, multipole expansion.
    Magnetostatics: Lorenz force, Biot-Savart law, divergence and curl of magnetic field strength, Ampère’s law, magnetic vector potential, multipole expansion, boundary conditions.
    Electrodynamics: Electromotive force, electromagnetic induction, Maxwell’s equations, wave equation.
    Electric and magnetic fields in matter: Polarisation, electric displacement and Gauss’s law in dielectrics, linear dielectrics. Magnetisation (diamagnets, paramagnets, ferromagnets), auxiliary field H and Ampère’s law in magnetised materials, linear and nonlinear media.
    Quantum mechanics (28 lectures)
    The Schrödinger equation, the statistical interpretation of the wave function, momentum, the uncertainty principle, the time-independent Schrödinger equation, stationary states, the infinite square well potential, the harmonic oscillator, the free particle, the Delta-Function potential, the finite square well potential, Hilbert spaces, observables, eigen functions of a Hermitian operator, Dirac notation, the Schrödinger equation in spherical coordinates, the hydrogen atom, angular momentum spin.

    View more

  • Module content:

    Statistical mechanics (28 lectures)
    Isolated systems in thermodynamical equilibrium. Systems in equilibrium with a heat bath: the canonical ensemble, Gibbs' entropic formula, classical statistical mechanics, energy equipartition theorem, thermodynamic potentials, paramagnetism.
    The classical limit of perfect gases: non-distinguishable character of quantum particles, the equation of state of the classical ideal gas. Quantum perfect gases: Black body radiation, the grand canonical ensemble, Fermi-Dirac distribution, the free electron gas in metals, the Bose-Einstein distribution, Bose-Einstein condensation.
    Solid state physics (28 lectures)
    Crystal structures, the reciprocal lattice, x-ray diffraction, lattice vibration, the Debye model, characteristics of solids, the free electron model, Pauli paramagnetism, electronic heat capacity, the relaxation time, electrical conduction, the classical Hall effect, thermal conduction in metals, failures of the free electron model, the independent electron model, band theory of solids.
    Computational Physics and modelling. Assessment will be done through a portfolio of project reports. The topics for the projects will be selected from various sub-disciplines of Physics.

    View more

  • Module content:

    Definition of a stochastic process. Stationarity. Covariance stationary. Markov property. Random walk. Brownian motion. Markov chains. Chapman-Kolmogorov equations. Recurrent and transient states. First passage time. Occupation times. Markov jump processes. Poisson process. Birth and death processes. Structures of processes. Structure of the time-homogeneous Markov jump process. Applications in insurance. Practical statistical modelling, analysis and simulation using statistical computer packages and the interpretation of the output.

    View more

  • Module content:

    Note: Only one of the modules WST 321 or STK 320 may be included in any study programme. 

    Stationary and non-stationary univariate time-series. Properties of autoregressive moving average (ARMA) and autoregressive integrated moving average (ARIMA) processes. Identification, estimation and diagnostic testing of a time-series model. Forecasting. Multivariate time-series. Practical statistical modelling and analysis using statistical computer packages.

    View more

  • Module content:

    Decision theory. Loss distributions. Reinsurance. Risk models. Ruin theory. Credibility theory. Methods to forecast future claim numbers and amounts. Practical statistical modelling and analysis using statistical computer packages.

    View more

  • Module content:

    Mean variance portfolio theory. Market equilibrium models such as the capital asset pricing model. Factor models and arbitrage pricing theory. Measures of investment risk. Efficient market hypothesis. Stochastic models of security prices

    View more

  • Module content:

    Group theory: Definition, examples, elementary properties, subgroups, permutation groups, isomorphism, order, cyclic groups, homomorphisms, factor groups. Ring theory: Definition, examples, elementary properties, ideals, homomorphisms, factor rings, polynomial rings, factorisation of polynomials. Field extensions, applications to straight-edge and compass constructions.

    View more

  • Module content:

    Direct methods for the numerical solution of systems of linear equations, pivoting strategies. Iterative methods for solving systems of linear equations and eigenvalue problems. Iterative methods for solving systems of nonlinear equations. Introduction to optimization. Algorithms for the considered numerical methods are derived and implemented in computer programmes. Complexity of computation is investigated. Error estimates and convergence results are proved.

    View more

  • Module content:

    Axiomatic development of neutral, Euclidean and hyperbolic geometry. Using models of geometries to show that the parallel postulate is independent of the other postulates of Euclid.

    View more


The information published here is subject to change and may be amended after the publication of this information. The General Regulations (G Regulations) apply to all faculties of the University of Pretoria. It is expected of students to familiarise themselves well with these regulations as well as with the information contained in the General Rules section. Ignorance concerning these regulations and rules will not be accepted as an excuse for any transgression.

Copyright © University of Pretoria 2024. All rights reserved.

FAQ's Email Us Virtual Campus Share Cookie Preferences