CS 70 at UC Berkeley


In this section of the website, you will find a problem bank, a collection of exams from previous semesters of CS70, as well as some guidelines to help you to use LaTeX for submitting your homeworks (highly recommended). You are strongly encouraged to use the past exams as preparation for this semester’s exams; however, you should be mindful of the fact that, while the CS70 syllabus has been quite stable for many years, the detailed content does vary slightly and you may find some topics in the exams that were not covered this semester: you may safely ignore these. Similarly, the precise coverage of various midterms may vary from semester to semester. Ultimately it is this semester’s lectures, notes, sections and homework that determine what you are expected to know for this semester’s course.

Problem Bank

Here is our website with a large collection of problems to help understand basic concepts thoroughly: Practice Problems.


  • Fall 2020: Midterm 1 (Sol) Final (Sol)
  • Spring 2019: Midterm 1 (Sol) Midterm 2 (Sol) Final (Sol)
  • Fall 2018: Midterm 1 (Sol) Midterm 2 (Sol) Final (Sol)
  • Spring 2018: Midterm 1 (Sol) Midterm 2 (Sol) Final (Sol)
  • Fall 2017: Midterm 1 (Sol) Midterm 2 (Sol) Final (Sol)
  • LaTeX

    The link below teaches you how to get LaTeX set up.


    The following are links to my favorite LaTeX tutorial. They cover the most basic to slightly advanced LaTeX, which you may need in this course.

    If you get stuck, Stack Overflow may be one of your best friends.