Computer science studies

Anki for computer science studies: what belongs on cards

Theoretical computer science, algorithms and data structures, maths: where flashcards help in computer science studies, where they don't, and how to retain definitions, runtimes and proofs with checkst.

In the computer science bubble, Anki has a peculiar reputation. Some swear by it, ever since Michael Nielsen described how he used it to understand one paper after another. Others consider flashcards something for medicine students and vocabulary. Both are partly right. This page shows where cards genuinely help in computer science studies, where they're a waste of time, and how you can use checkst for them.

Why it's worth it at all

For the bachelor's in computer science, the DZHW calculated a dropout rate of 42 percent at universities and 30 percent at universities of applied sciences, for first-year students in 2016/17. Dropout there means leaving the higher education system without a degree; changing subjects doesn't count. That's not a failure rate, but it's a clear signal that the first semesters sort people out.

And the first semesters are full of fundamentals that keep resurfacing later. TU Dortmund covers complexity, decidability, automata and grammars in theoretical computer science; TUM has analysis, linear algebra and discrete structures. If you have to look up the definition of O-notation in your fourth semester, you lose time on everything that builds on it.

What cards are good for

  • Definitions. Term, prerequisites, example and counterexample as separate cards.
  • Runtimes and complexity classes. Individual relationships with their prerequisites.
  • Proof ideas. The key step, the assumption used, the approach.
  • Commands and APIs. Sivers recommends turning explanatory text into short code examples whose output you then recall. And only after you've tried the behavior yourself.

What they're not good for

Classifying problems, constructing reductions, deriving runtimes of new algorithms, writing out complete proofs, writing code. In the theory exam at Dortmund, admission depends on a practice certificate, and there's a reason for that.

The discussions on this are more honest than some Anki evangelists. On Hacker News, people report cards for CLI options and algorithms; others consider syntax cards worthless. On r/AnkiComputerScience, people discuss the risk that with proof cards you memorize the specific answer instead of the ability behind it. Andy Matuschak, who built the learning medium Quantum Country with Nielsen, explicitly calls the question of how to train applied knowledge with cards an open research question.

Your workflow with checkst

1. Lecture handout in split view. Open the lecture notes as a PDF in checkst: slide on the left, card editor on the right. For automata and diagrams, cut out a section of the slide and place it directly as an image on the card. Write formulas in MathJax notation as in Anki; checkst renders them as formulas while you study.

2. AI for the first draft. Have card suggestions generated from a section, on the device via Apple's Foundation Models or with your own OpenAI key. Then do what Nielsen describes: start with simple term cards and gradually add more conceptual questions. Nielsen sees formulating the cards themselves as part of understanding. So don't accept AI suggestions blindly; rewrite them.

3. Short and precise. Matuschak recommends focused, precise prompts. A card asking about "properties of heaps" is a bad card. One asking for the runtime of insert is a good one.

4. Let FSRS run. checkst schedules with FSRS. According to the Anki manual, the default target retention is 90 percent; above 97 percent the workload rises sharply. If you didn't know the answer: "Again", not "Hard". Otherwise FSRS schedules intervals that are too long.

5. Study group. Share the Theo definitions in a checkst study group, invitation via link or QR code. The actual work continues on the problem set.

Example cards

Question

Worst-case runtime of classic quicksort for n elements?


Answer

Θ(n²).

Question

Worst-case runtime for insert into a binary heap with n elements?


Answer

O(log n).

Question

When does f(n) ∈ O(g(n)) hold for nonnegative functions?


Answer

When there are constants c > 0 and n₀ such that for all n ≥ n₀: 0 ≤ f(n) ≤ c · g(n).

Question

Is the halting problem decidable for arbitrary Turing machines?


Answer

No. No algorithm that always terminates decides, for every pair (M, w), whether M halts on w.

The quicksort card comes with a second one: why is the worst case quadratic? You work that out yourself, with the pivot in mind, before you flip the card.

What the research says

In 2011, Karpicke and Blunt showed with science texts that retrieval practice outperformed concept mapping, including on comprehension and inference questions. The picture is thinner for mathematics, and you should know this: the 2025 meta-analysis by Murray, Horner and Göbel found a small advantage for distributed practice, but for testing versus restudying the effect was so uncertain that the authors judge it as not conclusively established. No one has demonstrated that Anki improves your computer science grades or protects you from dropping out.

Limitations

  • No code runner. checkst doesn't execute code. Programming katas with automatic checking, as described on Hacker News, aren't possible here.
  • No substitute for problem sets. Cards keep knowledge fresh. You only learn problem solving by solving problems.
  • Apple only. iPhone and iPad; no Android, no browser.

Frequently asked questions

Can you learn programming with Anki?

Not programming itself, but knowledge about programming. Derek Sivers recommends short code examples whose output you have to predict. You still practice writing code in the editor.

How do I learn proofs with flashcards?

Quiz yourself on the key step or the decisive assumption, not the entire proof. You still have to be able to write out the complete proof yourself.

Does checkst render LaTeX formulas?

Yes, formulas in MathJax notation from Anki decks are rendered as formulas by checkst. Simple notation such as Θ(n log n) as text works anyway.

Is there checkst for Android or as a web app?

No. checkst runs only on iPhone and iPad.

Sources

  1. TUM: Bachelor Computer Sciencetum.de
  2. TU Dortmund: Module handbook B.Sc. Computer Sciencecs.tu-dortmund.de
  3. DZHW Brief 05/2022: Dropout from studiesdzhw.eu
  4. DZHW Brief 05/2022: Table appendixdzhw.eu
  5. Michael Nielsen: Augmenting Long-term Memoryaugmentingcognition.com
  6. Derek Sivers: Memorizing a programming language using spaced repetition softwaresive.rs
  7. Hacker News: Discussion of Siversnews.ycombinator.com
  8. Reddit r/AnkiComputerScience: How do you build cards to learn proofs?reddit.com
  9. Andy Matuschak: How to write good promptsandymatuschak.org
  10. Quantum Countryquantum.country
  11. Karpicke & Blunt (2011)pubmed.ncbi.nlm.nih.gov
  12. Murray, Horner & Göbel (2025): Meta-analysis of mathematicseprints.whiterose.ac.uk
  13. University of Waterloo: Sorting algorithms (CS 240E)student.cs.uwaterloo.ca
  14. Princeton: Algorithms and Data Structures Cheatsheetalgs4.cs.princeton.edu
  15. Cornell CS 2800: Turing Machinescs.cornell.edu
  16. NIST: Big-O Notationxlinux.nist.gov
  17. Anki manual: Deck Options / FSRSdocs.ankiweb.net