Skip to content

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

License

Notifications You must be signed in to change notification settings

zhuhanming/nus-notes-cheatsheets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Taught by Dr Ben Leong, AY21/22 Semester 2

CS2109S Midterms Cheatsheet

Midterms cheatsheet contains content on Search Algorithms and part of Machine Learning.

CS2109S Finals Cheatsheet

Finals Cheatsheet

Be warned that these cheatsheets may not be very applicable, as Prof Ben is known for testing practical applications and understanding over content knowledge and memorisation.

Concepts Covered

  • Uninformed and Informed Search
  • Heuristics
  • Adversarial Search
  • Decision Trees
  • Linear Regression and Gradient Descent
  • Polynomial Regression
  • Logistic Regression
  • Model Selection
  • Regularisation
  • Support Vector Machines
  • Multi-Layer Neural Networks
  • Deep Neural Networks
  • Clustering and Unsupervised Learning
  • AI Ethics

About

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published