Computer Science 2

CS201

Course Co-ordinator: Dr Yusuf Motara

Advanced Programming

This module builds on the data structures and algorithms covered in Computer Science 1, introducing several new topics. Dynamic data structures are an important focus of the course and underlie the concepts of abstract data types. Important classes of algorithms (such as sorting and searching) are considered and used to introduce simple aspects of algorithm analysis.

Architecture

This module introduces the logical basis of computer design and how the major components fit together, with emphasis on instruction execution. You will learn how low-level instructions that can be executed directly in hardware relate to code in a higher-level language. The main focus is on understanding the hardware layer by coding in MIPS assembly language. You will also gain an understanding of factors that affect the performance of a computer.

Systems-level programming

This module introduces the syntax of a high-level language such as C, with emphasis on low-level constructs and on features that have not been encountered thus far. The course builds on knowledge about machine architecture to foster understanding of lower-level, unmanaged languages and how to use them effectively.

Prerequisites: CS I

CS202

Course Co-ordinator: Dr Yusuf Motara

Operating Systems

This module covers the fundamental considerations involved in the design and use of a modern operating system.
The topics include:
• Introduction to operating systems
• Processes and threads
• Memory management
• Process scheduling.
• File management

Theory of Computing

This module focuses on the more theoretical aspects of Computer Science. It covers computability, complexity, automata, and specifications of formal languages.

Databases

This module introduces core NoSQL concepts, focusing on designing, implementing, and querying MongoDB databases using Python. It provides practical experience through hands-on work in MongoDB, JSON handling, and software development practices in Python. 

Prerequisites: CS201

Last Modified: Tue, 24 Feb 2026 15:30:20 SAST