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:
| Area | Courses |
|---|---|
| Computer Science | CS1231S 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 Statistics | MA1521 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 Career | IS1108 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:
Links
- GitHub: github.com/marvinthang
- LinkedIn: linkedin.com/in/marvinthang
- Email: marvinthang.official@gmail.com