πŸ–₯️
Berkeley CS61A: Notes
  • 🌍Hello, World!
  • πŸ’­Learn to Think Like Your Computer
  • Building Blocks
    • ❗Expressions in Python
      • ℹ️Mathematical Statements
      • 🀫Variables
      • πŸ‘Data Types in Python
    • 🚧Introduction to Functions
      • πŸƒβ€β™€οΈHow Python Executes a Function Call
      • 🚱Functions that Don't Return Anything
    • 🌊Control Flow
      • ⁉️What is an if statement?
      • πŸ’ΎWhat is a Loop?
      • 🚨What are Logical Operators?
        • πŸ˜–Logical Operators, Seemingly Illogical Behavior
      • 🚰How Does Control Flow?
    • ⚑Higher-Order Functions
      • ⏸️What are Higher-Order Functions Used For?
      • πŸ‘†Self-Reference
    • πŸ‘ΎEnvironments and Scope
      • πŸ–ŠοΈHow to Make Environment Diagrams
  • STRUCTURES OF DATA
    • ➰Recursion
      • πŸ«€Anatomy of Recursion
      • β›½Recursive Leap of Faith
    • πŸŽ„Tree Recursion
      • ⬇️The Use It/Lose It Principle
    • πŸ“€Iterables
      • βœ‚οΈList Slicing
      • πŸ’€Deep Lists
      • πŸŒ‹Iterable Functions
      • πŸ’½List Comprehensions
    • πŸ™ˆAbstraction
    • Trees
    • Linked Lists
    • Iterators and Generators
    • Efficiency
  • Extra Topics
    • 🎭Errors and their Types
      • 🏹Error vs Exception
      • πŸ”™What is Backtracing?
    • 🚑How the Terminal and the File are Different
    • 🍬Decorators
  • Debugging Tools
    • πŸ–¨οΈDebugging with Print Statements
    • πŸ›Debugging with the Debugger
Powered by GitBook
On this page
  • The Purpose of CS61A
  • Expectations
  • My Approach
  • Closing Notes

Was this helpful?

Hello, World!

A gentle introduction to CS61A.

NextLearn to Think Like Your Computer

Last updated 3 years ago

Was this helpful?

This is a guide book for , 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.

Expectations

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!

🌍
🐻
CS61A: The Structure and Interpretation of Computer Science