About

About

Hi, I’m marvinthang.

I’m a Computer Science student at NUS, with a second major in Statistics. I like the parts of CS where the abstraction leaks a little: algorithms, systems, C++, probability, machine learning, and the occasional low-level rabbit hole where you suddenly remember that computers are very fast rocks doing arithmetic.

This site is my public notebook. Some posts are polished explanations; some are course reviews; some are just me trying to make a concept click hard enough that future-me does not have to suffer twice.

What I Care About

  • Algorithms and problem solving: especially the kind where the main work is finding the right invariant, model, or proof idea.
  • C++ and systems: value categories, RAII, concurrency, containers, ISA notes, and all the sharp edges that make the language powerful and mildly cursed.
  • Math for CS: probability, statistics, linear algebra, discrete structures, and the mental models behind them.
  • Learning in public: course reviews, technical notes, and write-ups that are honest about what was useful, painful, or weird.

CV

Education

National University of Singapore
B.Comp. Computer Science, second major in Statistics

Relevant coursework includes:

AreaCourses
Computer ScienceCS1231S Discrete Structures, CS2030S Programming Methodology II, CS2100 Computer Organisation, CS2109S Introduction to AI and Machine Learning, CS3230 Design and Analysis of Algorithms, CS3233 Competitive Programming
Math and StatisticsMA1521 Calculus for Computing, MA1522 Linear Algebra for Computing, MA2213 Numerical Analysis I, ST1131 Introduction to Statistics and Statistical Computing, ST2334 Probability and Statistics
Ethics and CareerIS1108 Digital and AI Ethics, CFG1002 Career Catalyst, CFG1004 Financial Readiness

Competitive Programming

  • IOI 2023 participant / achievement: stats.ioinformatics.org/people/8230
  • Exempted from NUS CS1101S and CS2040S through competitive programming background.
  • Currently still interested in competitive programming as a way to train algorithmic instinct, proof discipline, and implementation speed.

Technical Interests

  • C++: RAII, move semantics, value categories, templates, overload resolution, containers, concurrency.
  • Systems: x86-64, computer organisation, caches, assembly, Git, shell tooling.
  • AI / ML and statistics: probability, distributions, expectation, search, optimization, numerical methods.
  • Developer tooling: making notes, scripts, and small tools that reduce friction.

Writing

Selected notes and reviews: