Introduction
Year 1 Notes
CS118 - Programming for Computer Scientists
❱
IEEE-754
Robot Maze Reference
CS126 - Design of Information Structures
❱
Analysis of algorithms
Recursion
Data structures
Sorting
Heaps and priority queues
Trees
Binary search trees
Graphs
CS130 - Mathematics for Computer Scientists I
❱
Sets, sequences and functions
Logic
Algebra of sets
Proof
Relations
Functions
Countability and cardinality
Graphs
Partial orders
Probability
CS131 - Mathematics for Computer Scientists II
❱
Number systems
Linear algebra
Matrices
Sequences and series
Limits
Calculus
CS132 - Computer Organisation and Architecture
❱
Data representation
Combinatorial logic
Sequential logic
Microprocessor fundamentals
Memory systems
IO mechanisms
Processor architecture
CS139 - Web Development Technologies
❱
HTML
CSS
Flask and Python
Databases and SQL
Protocols
Security
JavaScript
Usability and accessibility
CS140 - Computer Security
❱
Introduction
Authentication
Public-key cryptography
Secret-key cryptography
Access control
Security protocols
CS141 - Functional Programming
❱
Introduction
Haskell basics
Type system
Type classes
Data structures
Functions
Functors
Foldable and traversable
Semigroup and monoid
Monads
Best practices
Year 2 Notes
CS241 - Operating Systems and Computer Networks
CS257 - Advanced Computer Architecture
CS258 - Database Systems
CS259 - Formal Languages
CS260 - Algorithms
❱
Greedy algorithms
❱
Interval Scheduling
Interval Partitioning
Scheduling to Minimise Lateness
Dijkstra's Algorithm
Minimum Spanning Tree Algorithms
Divide and conquer algorithms
❱
Merge Sort
Finding the Closest Pair of Points
Integer Multiplication
The Master Theorem
Dynamic programming
❱
Weighted Interval Scheduling
Subset Sum
Sequence Alignment
Computational complexity
❱
Polynomial-time reductions
P and NP
NP-completeness
CS261 - Software Engineering
CS262 - Logic and Verification
CS263 - Cyber Security
Year 3 Notes
CS313 - Mobile Robotics
CS325 - Compiler Design
CS331 - Neural Computing
CS349 - Principles of Programming Languages
CS355 - Digital Forensics
CS435 - Advanced Computer Security
Dropped modules
CS249 - Digital Communications and Signal Processing
CS255 - Artificial Intelligence
CS345 - Sensor Networks and Mobile Data Communications
Other stuff
LF213 - Virology
LF313 - System Interactions In Human Disease
PH212 - Applied Ethics
PH379 - The Philosophy of Terrorism and Counterterrorism
PS358 - Emotion Theories and Research
Light
Rust (default)
Coal
Navy
Ayu
Latte
Frappé
Macchiato
Mocha
Computer Science Notes
CS260 - Algorithms
Greedy algorithms
Interval Scheduling
Interval Partitioning
Scheduling to Minimise Lateness
Dijkstra's Algorithm
Minimum Spanning Tree Algorithms
Divide and conquer algorithms
Merge Sort
Finding the Closest Pair of Points
Integer Multiplication
The Master Theorem
Dynamic programming
Weighted Interval Scheduling
Subset Sum
Sequence Alignment
Computational complexity
Polynomial-time reductions
P and NP
NP-completeness