It was written by Anna Schulcz, May, 2025
Algorithms and Data Structures I is one of the most fundamental courses in computer science.
It teaches you how to think efficiently, solve problems systematically, and write programs that
are not just correct, but also fast and memory-conscious. Whether you’re building search
engines, mobile apps, games, or working with large data sets, the principles you learn here will
guide your decisions and shape your approach to problem-solving.
Let me share a few pieces of advice on how to study for this subject effectively.
- Revise the lecture notes!
Make it a habit to revise lecture notes (http://aszt.inf.elte.hu/~asvanyi/ds/AlgDs1/)
regularly, ideally after each class. Reviewing the material shortly after the lecture helps
reinforce your understanding of what you have just learned. If something is still unclear,
do not hesitate to ask questions during the following lecture. - Attend the lectures!
Even though the notes mentioned earlier are detailed, you should make it a priority to
attend the lectures at all times. Going to class allows you to hear the professor’s
explanations in a more intuitive and informal way. The professor will give you
additional examples, drawings and step-by-step walkthroughs that help clarify difficult
concepts. Attending in person also gives you the opportunity to ask questions directly
whenever something is unclear. Just as importantly, hearing your classmates’ questions
can help you view the topic from different perspectives. - Take advantage of the optional quizzes!
Throughout the semester, optional quizzes are available on Canvas. Each quiz is worth
up to 1.0 point. If you pass the final exam, the total score from these quizzes will be
added to your exam result, potentially improving your overall grade.
These quizzes are not only valuable for boosting your score – they also provide an
excellent opportunity to practice what you’ve learned in class. I strongly recommend
completing them independently, after reviewing the lecture material, so you can test
your understanding and identify which parts you may need to study more thoroughly.
Right before the exam, I highly recommend going through the practice version of the
quizzes one more time to strengthen your knowledge. In these versions the correct
answers will be provided after you complete the test, making it easier to spot your
mistakes. - Look things up online, but always check your sources!
If something is unclear, don’t be afraid to ask questions. The professor, the teaching
assistants and probably even your classmates are happy to answer. However, if it is more
comfortable, you can also look things up on your own. There are many high-quality
resources available in English, including videos, tutorials, and visual explanations that
can help you better understand complex algorithms and data structures.
However, it’s important to always verify the accuracy of your sources. Not everything
online is correct or aligns with the course material. In the exam, you’ll only be allowed
to refer to the content covered in the official lecture notes, so make sure your external
resources support what was taught in class. - Prepare for the exam smartly!
When preparing for the exam, don’t just reread the material – organize and structure
your own notes. It’s good to create a personal summary where you collect the most
important definitions, ideas, and methods by topic. Key algorithms should be written
out separately, ideally on dedicated sheets of paper for quick reference.
If you come across similar algorithms (e.g., different sorting algorithms) try writing
them side by side and highlighting their differences using colors or annotations. This
helps you see their structure more clearly and understand when to use each one.
And most importantly, never just memorize algorithms – focus on understanding how
they work. Try walking through a few examples step-by-step to see how the algorithm
behaves in practice. This will help you recall it more naturally. - Use visual aids to understand algorithms!
We highly recommend watching online videos that demonstrate step-by-step
visualizations of algorithms. Seeing how an algorithm plays out on screen makes it
much easier to understand and remember the process. This is especially useful when
preparing for the exam, where understanding algorithm behavior is one of the most
challenging parts. And beyond the exam, developing a solid understanding of core
algorithms will be extremely useful in your future programming work.
Study methods for Algorithms and Data Structures 1