How to Prepare for an Exam

July 26, 2025

LearningOrganizationComputer Science

In the following I will share tips on exam preparation, that I use personally. This is geared towards computer science or mathematics, as I don't have much experience with other disciplines.

Write a Comprehension

Rewrite the contents of the course down in a concise way. Ideally use prose, instead of bullet points etc. Try to represent the contents wholly, but try to formulate the gist. You can build memory by interacting with the course-material. By reformatting / refactoring the material you get a fresh perspective on the course. If you use a piece of paper or notebook, you can connect different topics with spacial locations, which also helps. Don't write down anything you don't understand. (This holds in general;) After understanding a theorem or algorithm, write a concise explanation, that would have helped you get it earlier. Here, also revisit important proofs.

I usually don't integrate the course into my Obsidian Vault, as I want an overview of the course-material and only the course-material. This is difficult with atomic notes. After the Exam, I often refactor the comprehension into the Obsidian-format.

Right before the exam, i find it useful to cram every piece of information onto 2 handwritten pages.

Use Flashcards

I recommend to do this after writing the comprehension. Only after you understand the material you can assess what to memorize. If you have the time, you can use Anki's spaced repetition method, which aims to integrate the information into long-term memory. If you have to cram the information into short-term memory, Anki is also useful, though.

Do the exercises or old exams

Obviously. If you have comparable old exams, ideally from the same teacher or professor, do the material on the same time constraint as the exam. Maybe even at the same time as the coming exam, or in a similar location (for example do it in a library).

How to cope with limited practice Material

If there is limited practice material, you have to find a way to get more value out of the existing material. This can be achieved by ==abstracting the task==. For example: "Integrate x⋅exp⁡xx \cdot \exp x". Ask yourself: What is the input / output of the Exercise? (In this case, the output is an anti-derivative) What possible approaches are there, and how are they performed? (for example, "integration by parts") You can write this down in a sort of manual for the exam. If you are familiar with programming, you could write an algorithm to perform this task or parts of the task, for example "Conversion of base-p numbers?" –– Write a python script that does this from a console interface. To practice proofs, look at the excercises in the recommended literature.

Compare with other Literature

Find PDFs or rent books at a library that fit the topic. Compare the notation and reasoning of your script or slides with other literature.

Form a group with other Students

Compare practice material or explain concepts to each other. This will offer a fresh perspective on the material or reveal gaps in your knowledge. To introduce a social aspect into the learning process is both beneficial for motivation and memorization afterward.

Use RAG

Retrieval Augmented Generation (RAG) means running a large language model over a set of PDFs or other Sources. There, the model will use these sources to answer your questions. This is especially helpful in introductory courses, where it's not useful to "know to much". Old-fashioned internet-research or in a library could become a diversion, that may not be beneficial when learning fixed material. NotebookLM is a free tool for this, created by Google.

Simulate an Oral Exam

Reports of previous students will be helpful.