Saanthan Naidoo.
HomeAboutEducationExperienceProjectsSkillsContact
Download CV
HomeAboutEducationExperienceProjectsSkillsContact

2026 Saanthan Naidoo · Built with React and Tailwind · https://cv.s-homelab01.ddns.net

Education

BEng Computer Engineering • Final Year

University of Pretoria

Pretoria, South Africa

Expected Graduation: 2028 - Currently Taking A Gap Year

BEng

3rd & 4th Year – Key Learnings & Technical Depth

As a final-year student, I focused on building strong foundations in core computer engineering topics with extensions into the computer science field. Below are the modules where I gained the deepest understanding — with clear explanations of key concepts and how I applied them.

Computer Architecture & Systems

Year: 4 • University of Pretoria

Verilog HDL • FPGA • Parallelism • Core CS • Systems

Gained knowledge on advanced topics in computer architecture and systems, with a strong focus on parallelism, performance optimisation, and hierarchical memory systems. The 3 main practicals covered hardware implementation of a UART, an 8x8x1 RAM module, and a processor instruction set — all using Verilog HDL on an Intel Quartus FPGA.

Multiprocessors & Parallelism
Studied how multiple processors work together to execute tasks simultaneously. Covered shared-memory and distributed-memory architectures, Amdahl's Law, and the challenges of synchronisation and communication overhead.

Real-world relevance: Directly applicable to modern multi-core CPUs, GPUs, and cloud-scale distributed systems.
Performance Measurement, Speedup & Efficiency
Learned quantitative techniques to measure system performance including speedup, efficiency, and quality of parallelism. Analysed how different architectures scale and where bottlenecks occur.

Key takeaway: Understanding these metrics is essential when designing or optimising any high-performance application.
Scheduling & Data Routing Mechanisms
Covered advanced scheduling algorithms and interconnection networks used to route data efficiently between processors and memory. Explored bus, crossbar, and multistage networks.

Applied in: Understanding how modern operating systems and cloud orchestration tools schedule workloads.
Hierarchical Memory Technology
In-depth study of cache hierarchies, virtual memory, TLBs, and memory consistency models. Analysed how memory organisation dramatically impacts overall system performance.

Real-world relevance: Critical knowledge for low-level optimisation, embedded systems, and high-frequency trading applications.
Linear & Non-Linear Pipelines
Investigated pipeline design, hazards, forwarding, and both linear and non-linear pipeline architectures. Explored how pipelining increases instruction throughput in modern processors.

Key insight: The same principles apply to CPU design, GPU shaders, and data processing pipelines in big data systems.

e-Business and Network Security 410 (EHN 410)

Year: 4 • University of Pretoria

Security • Cryptography • Networks

Mastered the core principles of computer and network security: threats posed by adversaries, the security services users require, and the cryptographic mechanisms that protect systems. Implemented 3 practical assignments entirely in low-level Python (no external packages) to build real cryptographic primitives from scratch.

Threats, Security Services & Mechanisms
Explored the fundamental issues of adversaries and malicious attacks, the CIA triad (Confidentiality, Integrity, Availability), and the security services required by users. Analysed how different mechanisms counter these threats in both enterprise and e-business environments.

Key takeaway: A solid threat model is the foundation of every secure system.
Symmetric Cryptography (Block & Stream Ciphers)
Covered DES, AES, block cipher modes of operation, random bit generation, and stream ciphers. Implemented low-level encryption algorithms from scratch in pure Python during the three practicals (no libraries or packages allowed).

Key takeaway: Built functional block and stream ciphers that could encrypt/decrypt data entirely through manual implementation.
Public-Key Cryptography & RSA
Studied number theory, finite fields, and the RSA algorithm. Learned how asymmetric cryptography solves key-distribution challenges that symmetric systems cannot.

Key takeaway: Forms the backbone of secure key exchange in TLS/SSL and modern e-business platforms.
Cryptographic Hash Functions, MACs & Digital Signatures
Covered cryptographic hash functions, Message Authentication Codes (MACs), and digital signature schemes. Understood how these provide integrity, authentication, and non-repudiation.

Key takeaway: Essential for secure e-business transactions, software updates, and blockchain-style trust systems.
Network Security Protocols & Cloud Security
Explored transport-level security (TLS), IPsec, wireless network security, electronic mail security, network access control, and cloud security. Connected theory directly to practical deployment in real-world networks.

Key takeaway: The Python practicals reinforced how these protocols are built at the algorithmic level.

DSP Programming and Application 411 (ESP 411)

Year: 4 • University of Pretoria

Signal Processing • DSP • Embedded

Gained deep hands-on expertise in Digital Signal Processing — from theoretical foundations (transforms, filters, convolution) to real-time implementation on DSP hardware. Completed practical work in C (simulation) and deployed algorithms on actual DSP processors.

Discrete Transforms (DFT, FFT, Z-Transform)
Mastered the Fourier series, DFT, FFT, and Z-transform. Understood how these tools convert signals between time and frequency domains for efficient analysis and processing.

Key takeaway: FFT reduces computational complexity from O(N²) to O(N log N) — critical for real-time systems.
Correlation, Convolution & Their Applications
Studied the mathematical properties and DSP implementations of correlation and convolution. Learnt how these operations are fundamental to filtering, pattern recognition, and system analysis.

Key takeaway: Implemented convolution-based filters entirely in C during practical sessions.
Digital Filter Design (FIR & IIR)
Designed and analysed Finite Impulse Response (FIR) and Infinite Impulse Response (IIR) filters. Introduced to adaptive filters and the complete design framework used in real-world DSP applications.

Key takeaway: Used in audio processing, noise cancellation, biomedical signal analysis, and communications.
DSP Hardware Architecture & Algorithm Mapping
Explored DSP processor architecture, memory organisation, and how to efficiently map algorithms onto hardware. Covered the differences between general-purpose CPUs and dedicated DSP chips.

Key takeaway: Understanding hardware constraints is essential for writing optimised real-time code.
Real-Time Implementation & C Simulation
Simulated DSP algorithms in C and deployed them on actual DSP hardware for real-time execution. Covered analogue interfaces, performance optimisation, and practical design studies.

Key takeaway: 9 hours of practical work + real-time implementation of selected signal processing algorithms on DSP processors.

Software Engineering 321 (EPE 321) (2024)

Year: 3 • University of Pretoria

Software Engineering • SDLC • UML

Learned how to apply rigorous engineering principles to build and maintain high-quality, reliable software systems. Covered the complete software development life cycle, group collaboration, version control, UML modelling, and professional testing/debugging practices.

Software Development Life Cycle (SDLC) & Methodologies
Studied the full software lifecycle — requirements gathering, design, construction, testing, and maintenance. Compared traditional waterfall, iterative, and agile methodologies and understood when each is most effective.

Key takeaway: A structured process dramatically reduces bugs and maintenance costs in real-world projects.
Requirements Engineering & UML Modelling
Mastered object-oriented analysis and design using UML (Use Case, Class, Sequence, and Activity diagrams). Learnt how to translate user needs into precise, implementable specifications.

Key takeaway: Group projects where clear modelling prevented scope creep and miscommunication.
Software Design & Construction Principles
Explored design patterns, modularity, and engineering best practices for building maintainable, scalable code. Focused on writing software that is reliable, efficient, and easy to extend.

Key takeaway: Clean architecture reduces long-term technical debt significantly.
Testing, Debugging & Quality Assurance
Covered systematic debugging techniques, unit testing, integration testing, and verification methods. Learnt how to ensure software meets quality standards before deployment.

Key takeaway: Directly transferable to industry code reviews and CI/CD pipelines.
Group Work, Configuration Management & Version Control
Addressed the real challenges of collaborative development, including conflict resolution and software configuration management. Gained practical experience with versioning systems (Git) and team workflows.

Key takeaway: 9 hours of practical work focused on building software as a team — exactly what employers expect from graduates.

Microprocessors 310 (EMK 310) (2024)

Year: 3 • University of Pretoria

Embedded Systems • Microcontrollers • Hardware

Hands-on, project-based introduction to embedded systems design. Mastered microprocessor architecture, firmware development, real-world interfacing, and peripheral integration using actual microcontroller development boards and IDEs.

Microprocessor Architecture & Firmware Development
Explored general microprocessor architecture, instruction sets, and the complete firmware development cycle. Built a strong foundation in how low-level code interacts directly with hardware.

Key takeaway: Understanding the hardware-software boundary is essential for efficient embedded systems.
Memory Organisation & Address Decoding
Studied memory mapping, address decoding techniques, and how microprocessors access different types of memory (RAM, ROM, flash). Learnt how to correctly configure memory spaces in embedded projects.

Key takeaway: Correct memory configuration is critical for stable embedded firmware.
Input/Output, Interfacing & Peripheral Devices
Covered GPIO, timers, ADC, serial communication (UART, SPI, I2C), and PWM. Implemented real-world interfacing between the microcontroller and external sensors, actuators, and displays.

Key takeaway: 9 hours of lab work connecting hardware peripherals to a development board.
Embedded Design Tools & Development Workflow
Used professional microcontroller development boards and IDEs. Mastered the full toolchain — from writing code to flashing firmware and debugging in real time.

Key takeaway: Project-based learning that mirrored industry embedded development practices.
Current Trends in the Microcontroller Industry
Explored modern microcontroller families, low-power design techniques, IoT integration, and emerging hardware platforms. Gained insight into how embedded systems are evolving in automotive, industrial, and consumer electronics.

Key takeaway: Directly applicable to careers in embedded software, IoT, robotics, and firmware engineering.

Intelligent Systems 320 (EAI 320) (2024)

Year: 3 • University of Pretoria

AI • Machine Learning • Intelligent Systems

Introduction to problem-solving and pattern recognition using intelligent systems. Gained hands-on experience implementing core AI and ML techniques including search, genetic algorithms, neural networks, probabilistic reasoning, and supervised learning.

Search Algorithms & Problem Solving
Explored uninformed and informed search strategies (BFS, DFS, A*, greedy best-first) for solving complex problems. Understood how these form the foundation of intelligent decision-making systems.

Key takeaway: Efficient search is the backbone of pathfinding, planning, and game AI.
Genetic Algorithms & Evolutionary Computing
Studied evolutionary computation principles including selection, crossover, mutation, and fitness functions. Implemented genetic algorithms to solve optimisation problems that are difficult for traditional methods.

Key takeaway: Used in scheduling, route optimisation, and hyperparameter tuning.
Neural Networks & Deep Learning Basics
Covered the fundamentals of artificial neural networks — perceptrons, activation functions, feed-forward networks, and backpropagation. Built and trained simple neural networks during practical sessions.

Key takeaway: Foundation for modern computer vision, NLP, and predictive systems.
Probabilistic Reasoning & Uncertainty
Learned Bayesian networks, probabilistic inference, and handling uncertainty in intelligent systems. Explored how AI can make rational decisions even with incomplete or noisy data.

Key takeaway: Probabilistic models power recommendation engines, medical diagnosis systems, and autonomous vehicles.
Supervised Learning & Pattern Recognition
Covered supervised learning techniques including classification and regression. Implemented algorithms to recognise patterns in data and make predictions.

Key takeaway: 9 hours of practical work applying ML techniques to real datasets — directly transferable to industry AI projects.

Data Structures and Algorithms 212 (COS 212) (2023)

Year: 2 • University of Pretoria

Core CS • Algorithms • Data Structures

Mastered advanced data abstraction and the design of correct, efficient software. Explored classical data structures (trees, hash tables, heaps, graphs) and the algorithms that manipulate them, with a strong emphasis on implementation trade-offs and performance analysis.

Advanced Data Structures
Implemented and compared trees (binary, AVL, red-black), hash tables, heaps, and graphs. Built a deep understanding of when and why to choose each structure based on time and space complexity.

Key takeaway: Choosing the right data structure is often more important than the algorithm itself.
Algorithm Efficiency & Analysis
Mastered asymptotic analysis (Big-O, Big-Θ, Big-Ω) and learned how to measure and compare the efficiency of different implementations. Analysed trade-offs between time complexity, space complexity, and practical performance.

Key takeaway: Multiple implementations of the same problem to understand real-world efficiency differences.
Sorting & Searching Algorithms
Implemented and compared classical sorting algorithms (quick sort, merge sort, heap sort) and searching techniques. Understood when each algorithm performs best and how to optimise them further.

Key takeaway: These are the most common interview topics in software engineering.
Graph Algorithms & Traversal
Covered graph representations and fundamental algorithms including BFS, DFS, shortest path (Dijkstra), and minimum spanning tree algorithms. Applied these to real-world problems such as network routing and recommendation systems.

Key takeaway: Graphs model almost every complex real-world relationship.
Problem Solving & Comparative Implementation
Developed the ability to identify the most appropriate data structure and algorithm for a given problem. Emphasised clean, efficient code and rigorous testing of correctness and performance.

Key takeaway: These foundations are used daily in software engineering interviews, system design, and high-performance application development.

Operating Systems 122 (COS 122) (2023)

Year: 1 • University of Pretoria

Operating Systems • Concurrency • Systems Programming

Explored the fundamental structure and mechanisms of modern operating systems. Developed a solid understanding of real-time, multimedia, and multi-processor systems while gaining practical experience implementing core OS concepts on both Windows and Linux.

OS Structure & Modern Design Issues
Studied the architecture of contemporary operating systems, including monolithic, microkernel, and hybrid designs. Analysed how these structures influence performance, reliability, and extensibility.

Key takeaway: OS design decisions directly affect every application running on top of them.
Process Management, Deadlock & Concurrency Control
Covered process creation, scheduling, synchronisation, and deadlock prevention/detection. Implemented concurrency mechanisms (semaphores, monitors, mutexes) to avoid race conditions.

Key takeaway: Concurrency is one of the most critical and challenging aspects of modern software.
Memory Management
Explored virtual memory, paging, segmentation, demand paging, and page replacement algorithms. Understood how the OS abstracts physical memory for efficient multi-process execution.

Key takeaway: Memory management knowledge is essential for writing efficient low-level software.
Input/Output, File Systems & Device Management
Studied I/O subsystems, disk scheduling, file-system implementation (FAT, NTFS, ext4), and directory structures. Learnt how the OS provides a clean abstraction layer between applications and hardware.

Key takeaway: Every application ultimately reads and writes files — understanding this layer is invaluable.
OS Security & Real-Time/Multimedia Systems
Covered OS-level security mechanisms, protection domains, and support for real-time and multimedia applications. Gained hands-on experience by implementing OS concepts on both Windows and Linux platforms.

Key takeaway: Multiple practical assignments that bridged theory with real operating system behaviour.

Earlier Years – Foundational Knowledge

Year 1 • 145 credits
  • COS 110

    Program Design: Introduction

    Object-oriented programming, inheritance, polymorphism, basic data structures

  • COS 122

    Operating Systems

    Process management, memory, file systems, concurrency, hands-on Windows & Linux

  • COS 132

    Imperative Programming

    Core programming concepts, algorithms, and problem-solving fundamentals

  • EBN 111

    Electricity & Electronics

    Circuit analysis, Kirchhoff's laws, Thevenin/Norton, op-amps

  • WTW 158/164

    Calculus & Mathematics

    Advanced calculus, linear algebra, vectors, and engineering mathematics

Year 2 • 156 credits
  • COS 212

    Data Structures & Algorithms

    Trees, graphs, hash tables, heaps, sorting/searching algorithms & efficiency analysis

  • ELI 220

    Linear Systems

    Signals, Fourier/Laplace transforms, filters, stability, and control theory

  • ERS 220

    Digital Systems

    Combinational & sequential logic, datapath design, hardware description language

  • EIR 211

    Electrical Engineering

    AC circuits, three-phase systems, transformers, and induction machines

  • BES 220

    Engineering Statistics

    Probability, statistical inference, regression, and data analysis for engineers