-04/-03/
-02/-01
Optional Kattis set #00 starts on Monday, 06 Jan 2025, 21:00 SGT
Optional 1: Set up a (free) Kattis (open) account to get ≥ 200.0 points (~100 AC of ~2 pointer problems, see first ~2 pages sorted based on Kattis difficulty ratings :O or Prof Halim's Kattis classification)
Optional 2: Set up a (free) LeetCode account to get ≥ 100 accepted (Easy/Medium) problems (see Prof Halim's LeetCode classification)
Optional 3: Familiarize yourself with Ubuntu 22 LTS with GNOME desktop
12 Jan
The official Kattis set #01 starts
Ad Hoc
(after first lecture)
Introduction; Brief Course Admins; Focus on delivering some "Wow Moments"; A Bit of C++17, Python3, Java17, Mock/Preview Contest (not graded, but has high standard)
19 Jan
Read the rest of Chapter 2 by yourself
HW01 due
Kattis set #01 due
and Kattis set #02 starts (we repeat this pattern until Set #12)
O(n1.5) Algorithms
Money Contest
funded by
Presto Labs
Mastery of Libraries (C++ STL, Python Standard Library, & Java API); Focus on Bit Manipulation and Binary Indexed (Fenwick) vs Segment Tree
VisuAlgo: bitmask, ufds, fenwicktree (optional), and segmenttree
Decision to Drop CS3233/R without penalty by Fri, 26 Jan 26 (this time you can self-drop, but do inform Prof Halim first; hopefully we have 'no-one-drop-by-week-02' whenever possible)
26 Jan
Focus on Section 3.1-2, 4.2.3, 4.4.2-3, 8.1-8.2, 8.6 (some NP-hard/complete problems with complete search solution), 9.20, and 9.21;
Read Section 3.3 (DnC) too, especially about BSTA
HW02 due
Kattis set #02 due
Libraries
Money Contest
funded by
NUS ICPC
endowment
Iterative Techniques (the fancier ones); Recursive Backtracking (bitmask-based, reverse thinking, data compression, etc); State-Space Search (harder form of SSSP, Graph modeling + BFS/Dijkstra's) with Meet in the Middle (Bidirectional Search); and finally, what if we can 'guess' the answer in Binary Search fashion?
VisuAlgo: bitmask, recursion02 Feb
Focus on Section 3.5, 4.6.1, 5.4, 5.5, 5.8, 6.3, 8.3, 8.5, 8.6 (some NP-hard/complete problems with DP solution), 9.3, 9.7, and 9.29
Read Section 3.4 (Greedy) too
Solve Mini 02 B/C
Kattis set #03 due
Complete/Binary Search
Money Contest
donated by
HRT
Dynamic Programming; "Instant" review of CS3230/CS4234 DP Materials; Focus on relationship between DP and DAG; Discussion of a few non-classic DP examples; Formulating non trivial DP states + transitions; DP vs greedy algorithm comparisons on some problems
VisuAlgo: bitmask, recursion
HRT class visit
Mon, 02 Feb 2026, dinner provided from 4.15-5.25pm
Assemble at COM1-Basement by 4.15pm (FCFS)
09 Feb
Solve Mini 03 B/C
Kattis set #04 due
DP or Greedy
Money Contest
Jane Street
Quick overview of Network Flow; Quick review of Ford-Fulkerson Max Flow algorithm variants: Edmonds-Karp and especially Dinic's (short comparison with Push-Relabel);
Focus on Flow Graph Modeling skill and applicationsVisuAlgo: maxflow
Jane Street class visit (different schedule for 2026)
Mon, 09 Feb 2026, mini contest at 5.05-6.20pm + very short debrief
Dinner and talk by Jane Street representatives: 6.30-7.30pm (until ends)
We will extend the class a bit to 9.15pm tonight
Prof Halim disappeared due to his bereavement leave
Recording link will be posted in class Discord by Fri, 20 Feb
16 Feb
Solve Mini 04 B/C
Kattis set #05 due
Clear all before CNY 26
This AY 2025/26, CNY affect CS3233
CNY Eve (Reunion Dinner): 16 Feb 2026 PM (Mon) - so, NO CS3233 CLASS
Day 1: 17 Feb 2026 (Tue)
Day 2: 18 Feb 2026 (Wed)
NOI 2026 Competition is this Sat, 21 Feb 2026
(online qualification contest, onsite for potential EGOI26 participants)
23 Feb
(two weeks KS)
Decision to Drop CS3233/R with 'W' grade by Sun, 01 Mar 26
Discover Citadel & Citadel Securities (Singapore)
Fri, 27 Feb 2026 (by invitation only — all vacancies are filled (Mon, 23 Feb 2026))
02 Mar
Then read Section 9.26, 9.27, 9.28, 9.29;
We postpone Graph Matching in special cases of NP-hard problems (8.6) to Week 09
Prof Halim will attend the 2026 ICPC Asia Pacific Championship, Taoyuan, Taiwan from Thu, 05 Mar morning to Mon, 09 Mar early morning (skipping excursion).
Kattis set #06 due
Graph1: Network Flow
Money Contest
donated by
Citadel | Citadel Securities
Career Development Network, see Hall of Fame
Quick overview of Graph Matching; Unweighted MCBM; Greedy Bipartite Matching, Focus on (Bipartite) Graph Modeling skill and applications; Quick Discussion on Weighted MCBM (Kuhn-Munkres/Hungarian algorithm); Review of DP bitmask for Graph Matching (any variant, but on small graph) -- (Edmonds' Matching algorithm shelved)
VisuAlgo: maxflow, matching
09 Mar
from the 2026 ICPC Asia Pacific Championship, Taoyuan, Taiwan on early morning of 09 Mar after witnessing another historical moment: NUS team 'Strong Zero' is the 2026 ICPC Asia Pacific Champion.
Re-read Week 01-06 reading materials and CS1020/2040/C/S stuffs;
Re-read "standard" CS2040/C/S graph topics by yourself (Section 4.1-4.6)
Solve Mini 05 B/C
Kattis set #07 due
5.05-9.35pm (4.5h)
Money Contest
funded by
NUS ICPC endowment
Midterm Team Contest (recent 3 AYs only):
Midterm Team Contest (27 Feb 23)Midterm Team Contest (04 Mar 24)
Midterm Team Contest (03 Mar 25)
Our Midterm Team Contest (09 Mar 26) is on Kattis
Starts at 5.05pm SGT, ends at 9.35pm SGT (4.5 hours)
NOI 2026 Competition is this Sat, 14 Mar 2026
(onsite final contest; one week earlier than usual
as Sat, 21 Mar 2026 is Hari Raya Puasa PH)
16 Mar
Kattis set #08 due
(upsolve some non AC Midterm Contest problems by yourself, optional)
Graph2: Matching
Money Contest
donated by
NUS ICPC endowment
Summary of 2/3 of CS4234 - Optimisation Algorithms (except local search) in CS3233 style.
VisuAlgo: mvc, steinertree, tsp
Sat 21 Mar 2026 is
Hari Raya Puasa Public Holiday
23 Mar
Read the rest of Chapter 5 by yourself;
Plus Section 9.12, 9.13, and 9.14
Solve Mini 06 B/C
Kattis set #09 due
(NP-)hard Problems
Money Contest
donated by
Virtu Financial
Mathematics overview with a movie; Focus on Python/Java Big Integer, Combinatorics, Number Theory (Extended Euclid, Modular Inverse, Fermat's little theorem, Chinese Remainder Theorem), and a bit of Probability
VisuAlgo: cyclefinding
Virtu Financial class visit
Also, NUS Online Teaching Feedback opens this Fri
Mon, 23 Mar 2026, mini contest at 5.05-6.20pm + very short debrief
Dinner and talk by Virtu Financial representatives: 6.30-7.30pm
[short 15m break]
Normal lecture on Mathematics: 7.45-9.15pm
You can already start declaring your vote about this course
30 Mar
Read the rest of Chapter 6 by yourself
Solve Mini 07 B/C
Kattis set #10 due
Mathematics
Money Contest
donated by
Jump Trading
A Glance at Bioinformatics
String Processing; Focus on Suffix Trie, Suffix Tree, and Suffix Array; a bit of String Hashing
VisuAlgo: suffixtree, suffixarray
Jump Trading class visit (different schedule for 2026)
Thu, 02 Apr 2026 is chosen as
Mon, 30 Mar 2026, mini contest at 5.05-6.20pm + very short debrief
Dinner and talk by Jump Trading representatives: 6.30-7.30pm
[short 15m break]
Normal lecture on String Processing: 7.45-9.15pm
NUS well-being day S2 AY 2025/25
This is to link with Good Friday and Easter Sunday long weekend
06 Apr
Also Section 8.7 (problem decomposition)
Read the rest of Chapter 7 by yourself
Solve Mini 08 B/C
Kattis set #11 due
String
Money Contest
donated by
Optiver
(we will then do a no-longer-optional CS3233 Final Online Quiz)
Inside Video Games
(Computational) Geometry; Focus on Algorithms on Points, Lines, a bit of 3D Geometry, and Polygon, Art Gallery Problem
VisuAlgo: polygon, convexhull
(we will run a short last lecture to close the course and will extend beyond 9pm)
The Last Lecture
Optiver class visit
Mon, 06 Apr 2026, dinner provided from 4.30-5.25pm
Last Mini Contest 09 + Debrief 5.30-7.00pm
Talk by Optiver representatives: 7.00-7.30pm
[short 15m break]
Last lecture on Computational Geometry + Finale: 7.45-9.15pm
13 Apr
Do not forget to give your official
NUS Online Teaching Feedback
after final team contest is over
Solve Mini 09 B/C
Kattis set #12 due
5.00-10.00pm (5h)
Money Contest
funded by
NUS ICPC endowment
Join NUS ICPC team selection
(~Late August 2026?; contact Dr Adi Yoga)
VisuAlgo (for self-review): maxflow, matching, mvc, steinertree, tsp, cyclefinding, suffixtree, suffixarray, polygon, convexhull
Final Team Contest (recent 3 AYs only):
Final Team Contest (10 Apr 23)Final Team Contest (15 Apr 24)
Final Team Contest (14 Apr 25)
Our Final Team Contest (13 Apr 26) is on Kattis
Starts at 5.00pm SGT, ends at 10.00pm SGT (5 hours)
No final assessment, go and save your other courses after tonight