Back to Blog
Education Single-File Vanilla JS 2026

CSA Study App: Exam Prep That Tests Method, Not Memory

A single-file revision tool for Computer Systems Architecture where every number regenerates on each load: so you drill the formula, not the answer. Now used by ~70 students from the UM Indonesian 2025 cohort to prepare for the CSA exam.

The Problem

Revising for the Computer Systems Architecture exam (WRES1201) meant grinding through the same five worked examples everyone in the cohort already had. There's a subtle trap in that: you stop learning the method and start recognizing the answer. You see "clock rate 2GHz, CPI 1.5" and your brain autocompletes the result, not because you understand it, but because you've seen that exact problem twenty times.

Then the exam gives you 2.4GHz and CPI 1.8, and the memorized answer is worthless. You needed to know the formula. You only knew the example.

Same constraint I used for RafiFinance: one HTML file, zero backend, zero dependencies beyond a CDN icon set. Open the link, pick a topic, drill. No login, no install, no data collected. But the real idea is deeper than the constraint, it’s that the questions should never repeat.

So I made every numeric question generated at runtime with randomized values. Refresh the page and the instruction counts, clock speeds, cache sizes, and RPM values are all different. The app holds the formula and rolls fresh inputs into it each time, which means the only way to answer is to actually understand the underlying relationship.

Over the next sessions I'll walk through the procedural generation engine, then the genuinely hard math it tests, CPU performance, Amdahl's Law, pipelining, cache addressing, Hamming codes, and disk/RAID, and finally how it ended up helping a whole cohort of ~70 students.

On the blog
This is the short version

The full write-up — architecture decisions, the parts that broke, and what I'd do differently — lives on ThoughtLog, my personal blog.

Read the full post on ThoughtLog