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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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