hi current or future NUS-BIT students,
this is my living notebook for the NUS Bachelor of Information Technology programme. i’m documenting my workflow, module insights, and study system as i progress through the degree. if you’re considering NUS BIT or currently enrolled, hopefully this gives you a realistic picture of what the journey looks like.
study approach
i use the Zettelkasten method - capture during lectures, process daily, drill at Day 2→5→9→16. validated with 15+ gaps resolved.
modules i’m taking
currently juggling three modules (Semester 2, AY2025/26):
TCX1002: introduction to programming
language: Python
topics: algorithms, data structures, NumPy, regex, OOP, complexity analysis
my background: with more than 4 years coding experience i found this module really fun to do, thought it would be like going back to kindergarten. in fact some questions are designed to be relatively challenging! still finding it exciting!
reality check: tutorials are meaty. T1-T3 had 8 questions each, took 2-4 hours per tutorial. topics like:
- Boyer-Moore string search (bad character heuristic)
- NumPy broadcasting for distance matrices
- Pattern replacement with K-length optimisation
- Sliding window for time series
key assessments:
- mid-term: 14 Feb (20%)
- practical exam: 16 Apr (20%)
- final: 4 May (40%)
status: confident. completed T1-T3, A1 done. permanent notes on regex patterns, dict behaviours, NumPy shapes.
anything i found worth dropping while relearning python: TCX1002 Notebook
TCX1004: mathematical techniques
topics: logic, proofs, set theory, relations, induction, graph theory, probability
my background: comfortable with logic from work (software engineering), but formal proofs were new
reality check: proof rules took time to internalise. breakthrough moment: chunking rules into 3 categories:
- 🔨 BREAK APART (specialisation: split conjunctions)
- 🔧 BUILD UP (conjunction: connect statements)
- ➡️ MOVE FORWARD (modus ponens, universal instantiation)
status: confident. tutorial 1 complete. mastered quantifiers (∀∃ ≠ ∃∀ was a huge “aha” moment).
as i first touched discrete math, here’s a dump of how i think programmatically & logically through formal proofs: TCX1004 Notebook
TCX2101: calculus and linear algebra
topics: functions, limits, continuity, derivatives, integration, linear algebra
my background: rusty. last touched calculus in 2019.
reality check: this is the hardest of the three. fractional exponents (x^(-1/2)) tripped me up for 3 weeks before i finally drilled it to mastery.
breakthrough moments:
- limits: “anything/0 = blows up 🚀, 0/0 = confused 🤔” (memory aids work!)
- continuity: “can’t teleport through floors” (IVT intuition)
- implicit differentiation: zoom test (vertical line test locally) clicked everything
status: confident. Ch1-Ch2 done, Ch3 implicit differentiation in progress.
basically converted every word from canvas to a comprehensive notebook for myself to read better: TCX2101 Notebook
previously completed
- TCX1101: foundational mathematics (vectors, calculus, complex numbers)
- TCX2002: business analytics (R programming, statistics)
tools & tracking
markdown + git for all notes. progress tracker (440+ lines) logs every gap, drill result, and breakthrough. claude for tutoring/debugging. 9 permanent notes so far.
lessons learnt (most valuable first)
- done > perfect. trying to perfect one module while neglecting others doesn’t work for part-time study. cycle through all three or burn out.
- honest tracking prevents ego-driven mistakes. fractional exponents tripped me for 3 weeks because i thought “i know this”. tracker doesn’t lie.
- spaced repetition works. day 5 drill caught me having “5/0 = ∞” completely backwards. would’ve bombed homework without it.
- writing forces understanding. can’t fake it when you have to explain in full sentences. collection ≠ learning.
- “vibe coder” was BS. 4 years experience didn’t stop me from “tweaking until green” or having “accidentally correct” logic. formal CS forces rigour.
- memory aids »> rote memorisation. “anything/0 = blows up 🚀, 0/0 = confused 🤔” drilled from 1/6 → 6/6. ASCII diagrams for unit circle clicked immediately.
- green tests ≠ correct logic. review even when passing. think WHY it works, not just IF.
- specific > vague. “∀∃ ≠ ∃∀ because order = sentence structure” helps. “quantifiers are hard” doesn’t.
- struggle = learning. hint-first debugging builds neural pathways. spoon-fed solutions don’t.
- ask about exam format. test case visibility, partial credit, ambiguity handling - understanding the game matters.
resources
- smart notes workflow
- study repo: private (tutorial solutions), but structure documented above
- progress tracker template: might share if there’s interest
questions? drop a comment or reach out. happy to share what’s working (and what isn’t).