/nus-notes-cheatsheets

Notes and cheatsheets from NUS modules taken as part of the Computer Science curriculum.

Creative Commons Attribution Share Alike 4.0 InternationalCC-BY-SA-4.0

NUS Computer Science Notes & Cheatsheets

By Hanming Zhu (2019-2023)

These are some notes and cheatsheets written by me during the course of my time in NUS Computer Science. The notes are meant to be used as revision materials or even replacements for lecture notes.

These notes/cheatsheets include information from, but not limited to:

  • Lecture Notes
  • Tutorials, Assignments and Past Year Papers
  • Textbooks
  • Online resources (Relevant sites, Udemy courses)

Contents (In Chronological Order)

Taught by Mr Adi Sidi Yoga Prabawa, AY18/19 Special Term II

CS2030 Object Oriented Programming Notes   CS2030 Streams and Functional Programming Notes

Concepts Covered

  • Object Oriented Programming
  • Streams and Functional Programming

Taught by Dr Chong Ket Fah, AY18/19 Special Term II

CS2040 Complexities and Searching Notes   CS2040 Sorting Notes   CS2040 Arrays and Linked Lists Notes   CS2040 Lists, Stacks and Queues Notes   CS2040 Hashtable and Collisions Notes

CS2040 Priority Queue and Binary Heap Notes   CS2040 Set and UFDS Notes   CS2040 Ordered Map and BST Notes   CS2040 AVL Trees and Balancing Notes   CS2040 Graphs Notes

CS2040 Graph Operations and Analysis Notes   CS2040 Minimum Spanning Tree Notes   CS2040 Single Source Shortest Path Notes

Concepts Covered

  • Introduction
    • Algorithms
    • Big-O Notation
  • Data Structures
    • Arrays
    • Linked Lists
    • Stacks
    • Queues
    • Hash Maps
    • Sets (UFDS)
    • Ordered Maps
    • Graphs
  • Algorithms
    • Searching
    • Sorting
    • BFS/DFS
    • Prim's/Kruskal's
    • Bellman Ford's
    • Dijkstra's (Original/Modified)
    • Floyd-Warshall

Taught by Dr Sufatrio, AY19/20 Semester 1

CS2107 Security Requirements Notes   CS2107 Cryptography and Encryption Notes   CS2107 Entity Authentication Notes   CS2107 Data Origin Authentication Notes   CS2107 Public Key Infrastructure Notes

CS2107 HTTPS Notes   CS2107 Network Security Notes   CS2107 Access Control Notes   CS2107 Software Security Notes   CS2107 Web Security Notes

Concepts Covered

  • Security Requirements
  • Key Concepts of Principal Protection Mechanisms
    • Cryptography and Encryption
    • Authentication
    • Access Control
  • Public Key Infrastructure and Certificate Authority
  • Network Security
  • Software Security
  • Web Security

Taught by Prof Raghavan Dilip, AY19/20 Semester 2

MA1101R Midterms Cheatsheet

Midterms cheatsheet contains content from Chapter 1.1 to 2.5

Concepts Covered

  • Linear Systems and Gaussian Elimination
  • Matrices
  • Vector Spaces
  • Vector Spaces Associated with Matrices
  • Orthogonality
  • Diagonalization
  • Linear Transformations

Headed by Prof Yap Von Bing, AY19/20 Semester 2

GER1000 Notes

Website version of the notes can also be accessed here on Notion.

Concepts Covered

  • QR Framework
  • Design of Studies
  • Association
  • Sampling
  • Observational Studies
  • Uncertainty

Taught by Dr Zhou Lifeng and Prof Roger Zimmermann, AY20/21 Semester 1

CS2105 Cheatsheet

Concepts Covered

  • Application Layer
  • Transport Layer
  • Network Layer
  • Link Layer
  • Multimedia Networking
  • Network Security
  • Physical Layer

Taught by Dr Cristina Carbunaru, AY20/21 Semester 1

CS2106 Cheatsheet

Concepts Covered

  • Introduction to OS
  • Process Abstraction
  • Process Scheduling
  • Inter-Process Communication
  • Threads
  • Synchronisation
  • Memory Abstraction
  • Disjoint Memory
  • Virtual Memory
  • File System Abstraction
  • File System Implementation

Taught by Prof Lim Chinghway, AY20/21 Semester 1

If you view the PDF on GitHub, a lot of the Latex will appear to be missing! Either download the PDF or view it on Notion instead.

ST2334 Notes

Website version of the notes can also be accessed here on Notion.

Concepts Covered

  • Basic Concepts of Probability
  • Concepts of Random Variables
  • Two Dimensional Random Variables and Conditional Probability Distributions
  • Special Probability Distributions
  • Sampling and Sampling Distributions
  • Estimation Based on Normal Distribution
  • Hypotheses Testing Based on Normal Distribution

Taught by Dr Chan Chee Yong and Prof Xiao Xiaokui, AY20/21 Semester 2

CS2102 Midterms Cheatsheet

Midterms cheatsheet contains content on Relational Algebra, SQL and Entity-Relationship Model.

CS2102 Finals Cheatsheet

Finals Cheatsheet

Concepts Covered

  • Introduction to DBMS
  • Relational Algebra
  • SQL
  • Entity-Relationship Model
  • Statement-Level & Call-Level Interfaces
  • SQL/Persistent Stored Modules - PL/pgSQL
    • Functions & Procedures
    • Triggers
  • SQL Injection Attacks
  • Normal Forms
    • Functional Dependencies
    • BCNF & 3NF

Taught by Dr Bimlesh Wadhwa, AY21/22 Semester 1

CS3219 Cheatsheet

Strongly advised to read through design patterns on Refactoring Guru before using this cheatsheet.

Concepts Covered

  • Software Development Process
  • Specifying Software Requirements
  • Software Architecture Styles
  • Software Architecture Patterns
    • Hexagonal Architecture
    • Domain Driven Design
  • Microservices
  • Kubernetes
  • Message Design Patterns
    • Technologies
  • Object Interaction Design Patterns