Code daily; watch rarely
Programming is the struggle-first rule at its purest: tutorials you follow along with vanish, while broken programs debugged at midnight stay learned. Keep a daily writing habit, small programs, honest errors, and treat every video as a verdict on an attempt you already made. Watching has the same weakness rereading does, and the same fix: produce first, then compare. Dunlosky and colleagues ranked rereading among the least effective techniques in their 2013 review; passive watching sits in the same family.
Card the explaining layer: behavior, cost, guarantee
Written exams ask what code does, what operations cost, and what algorithms promise: exactly the card species in the computer science flashcards guide. Screenshot real snippets from your own course into trace fronts, card each structure's costs with the one line reason, and card each algorithm's guarantee with its breaking condition. The delayed production gap, close to 80 percent against about a third in the Science experiment, is why traced snippets beat reread slides.
Trace on paper before the exam demands it
Exam halls have no debugger: tracing by hand, values in a table, loop by loop, is its own trainable skill and the most neglected one in the subject. Practice five minute traces weekly from your course's snippets, including the classics that bite, off by one loops, aliased references, integer division. The mental interpreter this builds is exactly what written questions examine.
Projects teach more than reading; give them the time
A course project debugged end to end teaches more durable computer science than any equivalent hours of reading, because integration errors are where the concepts prove themselves. Budget project time early, keep a short log of every bug and its cause, and card the causes that repeat; your personal bug taxonomy is a study guide no one else can write for you, and it compounds across every later course that touches code, from algorithms to the capstone.
Theory courses, and where the numbers come from
For theory heavy modules, the math route's habits transfer: attempt proofs cold, card definitions with one canonical example each, and drill the small results your course reuses. Same day question rounds from lecture PDFs catch the early forgetting that Murre and Dros documented in their 2015 replication of Ebbinghaus. And the plain sentence this blog owes every route: the retention figures cited are the named laboratories' results, not WeSolve+ telemetry, which does not exist in published form.
Version control your understanding
Keep your practice programs in a dated folder or repository: the trail shows which concepts recur in your own bugs, and rereading last month's code is a free comprehension test. Code you no longer understand marks a concept that needs a card, which is the least expensive diagnostic the subject offers. Date the folder weekly and the habit maintains itself.
By Mert Erarslan (Exam prep and subject routes)
Sources used on this page
- Forgetting curve
- Spaced repetition
- Testing effect
- Active recall
- Distributed practice
- Roediger and Karpicke 2006, test-enhanced learning
- Karpicke and Roediger 2008, Science
- Dunlosky et al. 2013, technique effectiveness review
- Cepeda et al. 2008, the spacing experiment
- Murre and Dros 2015, the Ebbinghaus replication
- Metacognition
- Long-term memory
- Desirable difficulty
- Study skills
- Flashcard
- Working memory
- Computer science
- Computer programming
- Debugging
- Tutorial
- Algorithm
- Data structure
- Off-by-one error
- Software bug
- Project
- Theoretical computer science
- Interpreter (computing)
- Table (information)
Why do I code fine but fail written exams?
Different skills: written papers grade explaining, tracing and costs. Card that layer and practice paper traces weekly.
Are tutorials bad?
As first exposure to an attempt, no; as a substitute for attempting, yes. Produce first, then watch as a verdict.
How do I practice tracing?
Five minute paper traces from your own course's snippets, values in a table, including off by one and aliasing classics.
What should CS flashcards contain?
Behavior fronts from real code, operation costs with reasons, and guarantees with breaking conditions.
How do I study theory modules?
Like math: cold attempts at proofs, definitions carded with one canonical example, small reused results drilled.
Last updated: 2026-08-15 · Written with AI assistance and reviewed before publishing.
