Kevin's NUS Notes Collection

CS2103/T: Software Engineering

Learn how to plan, build, and maintain robust software systems in a disciplined way, combining theory (UML, design patterns, testing strategies) with hands-on tools and teamwork to prepare for real-world software engineering challenges.

View Collection

CS2106: Introduction to Operating Systems

Learn the core concepts that form the foundation of modern operating systems including processes and threads, CPU scheduling, synchronization and concurrency, memory management and file systems.

View Collection

CS2109S: Introduction to AI and Machine Learning

This module covers a broad spectrum of topics in Artificial Intelligence and Machine Learning, from classical search algorithms that operate on state spaces, to statistical learning methods like regression, and modern neural network architectures.

View Collection

CS3230: Design and Analysis of Algorithms

This modules teaches techniques for designing and analyzing algorithms, covering complexity analysis, recurrences, classical paradigms (divide-and-conquer, dynamic programming, greedy, randomized), and advanced topics like amortized analysis and NP-completeness, including reductions and understanding computational problem limits.

View Collection