🌍Hello, World!

A gentle introduction to CS61A.

This is a guide book for CS61A: The Structure and Interpretation of Computer Science, the introductory computer science class at the University of California, Berkeley.

I'm Arushi β€” online, I go by AMKS. I've been teaching this class at Berkeley for five semesters. This guide contains my insights, some fringe concepts, with a couple challenge questions thrown in for good measure. It is meant as a compliment, not a replacement to the course.

It does not pay lip-service to topics I don't have anything valuable to say about β€” I'd recommend keeping up with lectures, discussions, homework, labs and projects! Use this guide solely as an additional reference.

The Purpose of CS61A

The point of 61A is to make you great thinkers of Computer Science first, and great programmers second. The concepts are hard and abstract and, gotta be honest, occasionally annoying. My hope is for you to see how this class is the foundation on which your CS journey is based.


You may be feeling overwhelmed by the amount of activities that 61A has. Word of advice – don't worry, you're not expected to do all of them. The purpose of this overflow of info is not to scare you away but to let you know that you have as much support as you need and more.

My Approach

Throughout this guide, I hope to:

  • Show you how the concepts that you are learning are applied in real life

  • Teach you how to think critically and break down problems

  • Teach you to built up smaller pieces into impressive large, cohesive programs

And, of course,

  • Make you the best 61A student that you can be.

Closing Notes

  • You get as much out of this class as you put in.

  • If you ever need help of any sort, you can reach out to me at arushisomani@berkeley.edu. Class related or not. I'm invested in your success.

All the best, and go bears! 🐻

Last updated