CS61A - Structure and Interpretations of Computer Programs - UC Berkeley

Looking for a specific semester of the course? Check out the most recent semester: Spring 2014

This is the first course in the CS61 series at UC Berkeley. The course focuses on the ideas of abstraction, program complexity, functional programming, object-oriented programming, and more. The language used in the course is Python although this course is not designed to focus primarily on the language. Students go through many different topics to expose them to many key ideas in computer science.


To the left, you’ll find topics that are covered in this course. Each topic contains practice problems related to that topic and some of the topics contain notes that I have written over the years.

  • If you’re a lab assistant, check out the FAQ located here and a list of my tips here!