Undergraduate Modules

Our undergraduate curriculum provides a strong foundation in computer science fundamentals, complemented by practical experience with modern technologies and methodologies. Modules progress from foundational programming to advanced topics in AI, networks, and formal methods.

Year 1 Building Blocks
CS 114

Introductory Computer Science 1

Fundamental programming concepts, problem-solving strategies, introductory data structures, and algorithmic thinking.

Semester 1 16 credits
CS 144

Introductory Computer Science 2

Object-oriented programming, algorithms, complexity analysis, and further exploration of data structures.

Semester 2 16 credits
CS 113

CS for Actuarial Studies

Programming for financial applications — tailored for actuarial science students with a focus on computational methods.

Semester 1 16 credits
Year 2 Core Competencies
CS 214

Data Structures & Algorithms

Classical data structures (trees, graphs, heaps), advanced algorithm design and analysis, sorting, and complexity theory.

Semester 1 16 credits
CSE 214

Object-Oriented Programming

Advanced OOP principles, design patterns, SOLID principles, and building maintainable software systems.

Semester 1 16 credits
CS 244

Computer Architecture

Hardware fundamentals, assembly language, CPU design, memory systems, and operating system principles.

Semester 2 16 credits
SC 272

Scientific Computing

Python programming, Linux fundamentals, numerical computing with NumPy, and introduction to data processing workflows.

Semester 2 16 credits
Year 3 Advanced & Elective
CS 315

Machine Learning

Supervised and unsupervised learning, neural networks, decision trees, evaluation methods, and practical ML pipelines.

Semester 1 16 credits
CS 313

Computer Networks

Internet architecture, TCP/IP, routing protocols, network security fundamentals, and distributed systems.

Semester 1 16 credits
CS 314

Concurrency

Concurrent and parallel programming principles, thread management, synchronisation, and performance optimisation.

Semester 1 16 credits
CS 343

Databases & Web Development

Relational databases, SQL, web services, RESTful APIs, client-server architecture, and front-end frameworks.

Semester 2 16 credits
CS 344

Program Design

Software design principles, testability, building medium-to-large software systems with defensive programming techniques.

Semester 2 16 credits
CS 345

Computability & Automata Theory

Formal languages, finite automata, Turing machines, computability limits, and computational complexity classes.

Semester 2 16 credits
SC 372

Scientific Computing (Advanced)

Advanced Python, pattern searching, large-scale data processing, simulation, and scientific visualisation.

Semester 2 16 credits

Many modules can be selected as part of different degree streams. Check the Programme Guide for specific requirements for each stream.

View complete module descriptions on cs.sun.ac.za →

Interested in These Modules?

Start your undergraduate journey in computer science at Stellenbosch University.