Overview

Meet Alonzo, CS10's mascot!

Welcome to CS10! This is an introductory class designed for students who have never had formal exposure to computer science and are looking for a gentle, but thorough introduction to the wonderful world of computing in a friendly and supportive environment. This class will not only prepare students for future computer science courses, but also empower them to use computer science in their own field of study.

Throughout the semester, students can expect to explore a variety of topics, from core computer science principles like abstraction and recursion, to apply these principles by building fun assignments like 2048, Mastermind, and some projects of their own choice! What’s more? We’ll also be covering various applications and implications of computing, including topics like AI, privacy, and algorithmic bias, to explore the exciting, and frightening ways computers are changing the world as we know it. By the end of the semester, students will have learned two programming languages: Snap!, a friendly graphical language, and Python, an industry-standard programming language.

We are especially excited about bringing computing (through this course) to traditionally under-represented groups in computing, i.e., women and ethnic minorities. We are proud that we regularly have more than 50% female enrollment (with a high of 60% in the Spring of 2017), and the national exposure the course has received in the New York Times, KQED, NPR's All Things Considered, USA Today, San Jose Mercury News, San Francisco Chronicle, and many others.

Course Calendar
Week Readings Assignments Date Lecture Labs Discussion
1 No Readings Monday 8/26 Welcome to CS10!
Tuesday 8/27
Wednesday 8/28 Welcome and Abstraction
1. Welcome to Snap!
Thursday 8/29
2 Required:

Optional:
Monday 9/2 Number Representation
Tuesday 9/3 2. Build Your Own Blocks!
Wednesday 9/4 Functions
3. Conditionals and Reporters
Thursday 9/5
3 Required:

Optional:
Monday 9/9 Numbers and Abstraction
4. Abstraction Quest Review
Tuesday 9/10
Wednesday 9/11 Lists and Scoping
5. Lists
Thursday 9/12
4 Required:

Optional:
Monday 9/16 Quest!
HW2 Work Session Scope & Mutability
Tuesday 9/17
Wednesday 9/18 Algorithms
Guest lecturer: Bryant Bettencourt
6. Algorithms
Thursday 9/19
5 Required:

Optional:
Monday 9/23 Computing and the Environment
Guest lecturer: Maxson Yang
HW2 Work Session Concurrency
Tuesday 9/24
Wednesday 9/25 Concurrency
Guest lecturer: Aaron Baker
7. Concurrency
Thursday 9/26
6 Required:

Monday 9/30 Algorithmic Complexity
8. Algorithmic Complexity Algorithmic Complexity
Tuesday 10/1
Wednesday 10/2 Testing + HW3
9. Testing + HW3
Thursday 10/3
7 Required:

  • HW3 due 10/18
Monday 10/7 Recursion I
10. Tic-Tac-Toe Recursion
Tuesday 10/8
Wednesday 10/9 Recursion II
11. Trees and Fractals using Recursion
Thursday 10/10
8 Required:

  • HW3 due 10/18
  • Midterm next Monday (10/21)
Monday 10/14 Programming Paradigms
HW3 Work Session Midterm Review
Tuesday 10/15
Wednesday 10/16 Computing in Education
12. Recursive Reporters
Thursday 10/17
9 No Readings
  • Midterm Project Proposal due 10/26
Monday 10/21 Midterm Review
Guest lecturer: Rafael Félix
13. Finch Lab / Midterm Project Work Session Social Implications Topics.
Tuesday 10/22
Wednesday 10/23 History of Cryptography
Guest lecturer: Murtaza Ali & Kathleen Gao
In-lab Midterm
Thursday 10/24
10 Required:

Optional:
  • Midterm Proposal due 10/26
Monday 10/28 Python I, Basics
14. Welcome to Python Intro to Python
Tuesday 10/29
Wednesday 10/30 Python II, Built-in Types
15. Data Structures in Python
Thursday 10/31
11 TBA
  • Midterm Project due 11/15
Monday 11/4 Python III, HOFs
16. Functions as Data and HOFs Python List Comprehensions & Data Structures
Tuesday 11/5
Wednesday 11/6 Python IV, Tree Recursion and Game Theory
Midterm Project Work Session
Thursday 11/7
12 Required:

  • Explore Post due 11/19
Monday 11/11 Veterans Day
17. Text Processing in Python HOFs, Lambdas, and Tree Recursion
Tuesday 11/12
Wednesday 11/13 Artificial Intelligence
Guest lecturer: Kaylee Burns
18. Data Science in Python
Thursday 11/14
13 Required:

  • Explore Comments due 11/21
  • Final Project Proposal due 11/23
Monday 11/18 Limits of Computing
Explore Post Work Session Final Review
Tuesday 11/19
Wednesday 11/20 Human-Computer Interaction
Guest lecturer: Sarah Stermann
Final Project Work Session
Thursday 11/21
14 No Readings
  • Final Project due 12/9
Monday 11/25 Saving the World with Computing
Guest lecturer: Kathy Yelick
Final Project Work Session No discussion!
Tuesday 11/26
Wednesday 11/27 Thanksgiving
Thursday 11/28
15 Required:

  • Final Project due 12/9
Monday 12/2 Alumni Panel
Final Project Work Session Farewell and Final Review!
Tuesday 12/3
Wednesday 12/4 Conclusion
In-lab Final Exam
Thursday 12/5
16 No Readings
  • Final Project due 12/9
Monday 12/9 No Lab No discussion!
Tuesday 12/10 No Lab
Wednesday 12/11 No Lab
Thursday 12/12 No Lab
17 No Readings
  • Final Project due 12/9
Monday 12/16 Final Exam
No Lab No discussion!
Tuesday 12/17 No Lab
Wednesday 12/18 No Lab
Thursday 12/19 No Lab
Weekly Schedule
This calendar displays the class schedule for the current week. Click on any event to see the building location on a map.
Staff

Instructor

To email the instructor, please email cs10@berkeley.edu

 Staff Photo: Dan Garcia
Dan Garcia (bio)
dan@cs10.org
777 Soda, (510) 517-4041

Teaching Assistants

 Staff Photo: Head TA Niki Zarkub
Head TA Niki Zarkub (bio)
niki@cs10.org
 Staff Photo: Head TA Maxson Yang
Head TA Maxson Yang (bio)
maxson@cs10.org
 Staff Photo: TA Briana Ong
TA Briana Ong (bio)
briana@cs10.org
 Staff Photo: TA Murtaza Ali
TA Murtaza Ali (bio)
murtz@cs10.org
 Staff Photo: TA Rafael Felix
TA Rafael Felix (bio)
rafael@cs10.org
 Staff Photo: TA Aaron Baker
TA Aaron Baker (bio)
aaron@cs10.org
 Staff Photo: TA Isaac Merritt
TA Isaac Merritt (bio)
isaac@cs10.org
 Staff Photo: TA Lucy White
TA Lucy White (bio)
lucy@cs10.org
 Staff Photo: TA Kathleen Gao
TA Kathleen Gao (bio)
kathleen@cs10.org
 Staff Photo: TA Max Yao
TA Max Yao (bio)
max@cs10.org
 Staff Photo: TA Patricia Yu
TA Patricia Yu
patricia@cs10.org
 Staff Photo: TA Mackenzie Nishijima
TA Mackenzie Nishijima (bio)
mackenzie@cs10.org
 Staff Photo: TA Dani Swords
TA Dani Swords (bio)
dani@cs10.org
 Staff Photo: TA Andrew Burke
TA Andrew Burke (bio)
andrew@cs10.org

Readers

 Staff Photo: Reader Bryant Bettencourt
Reader Bryant Bettencourt (bio)
 Staff Photo: Reader Yolanda Shen
Reader Yolanda Shen
 Staff Photo: Reader Lam Pham
Reader Lam Pham (bio)
 Staff Photo: Reader Eduardo Huerta
Reader Eduardo Huerta
 Staff Photo: Reader Kellyann Ye
Reader Kellyann Ye

Academic Interns

 Staff Photo: AI Ai Setoyama
AI Ai Setoyama
 Staff Photo: AI Gowri Somayajula
AI Gowri Somayajula
 Staff Photo: AI Christine Nguyen
AI Christine Nguyen
 Staff Photo: AI Samhita Sen
AI Samhita Sen
 Staff Photo: AI Nick Lai
AI Nick Lai
 Staff Photo: AI Stella Wan
AI Stella Wan
 Staff Photo: Head AI Shannon Hearn
Head AI Shannon Hearn (bio)
 Staff Photo: AI Taroob Zia
AI Taroob Zia
 Staff Photo: AI Akash Kulgod
AI Akash Kulgod
 Staff Photo: AI Sophie Peeler
AI Sophie Peeler
 Staff Photo: AI Rebecca Wong
AI Rebecca Wong
 Staff Photo: AI Nancy Ji
AI Nancy Ji
 Staff Photo: AI Julia Liu
AI Julia Liu
 Staff Photo: AI Deeksha Kumar
AI Deeksha Kumar
 Staff Photo: AI William Ko
AI William Ko
 Staff Photo: AI Amy Duong
AI Amy Duong
 Staff Photo: AI Michelle Li
AI Michelle Li
 Staff Photo: AI Simran Singh
AI Simran Singh
 Staff Photo: AI Angela Jing
AI Angela Jing
 Staff Photo: AI Jared Tating
AI Jared Tating
 Staff Photo: AI John Pesanello
AI John Pesanello
 Staff Photo: AI Diana Seo
AI Diana Seo
 Staff Photo: Reader Kellyann Ye
Reader Kellyann Ye
 Staff Photo: AI Esther Shin
AI Esther Shin
 Staff Photo: AI Michelle Cha
AI Michelle Cha
 Staff Photo: AI Neda Shahiar
AI Neda Shahiar
 Staff Photo: AI Setu Shah
AI Setu Shah
 Staff Photo: AI Louisa Bellian
AI Louisa Bellian
 Staff Photo: AI Natasha Batra
AI Natasha Batra
 Staff Photo: AI Calvin Wong
AI Calvin Wong
 Staff Photo: AI Kevin Ponce
AI Kevin Ponce
 Staff Photo: AI Jack Troyan
AI Jack Troyan
 Staff Photo: AI Devyanshi Agarawal
AI Devyanshi Agarawal
 Staff Photo: AI Aayush Shah
AI Aayush Shah
 Staff Photo: AI Gregoria Millensifer
AI Gregoria Millensifer
 Staff Photo: AI Jenny Tao
AI Jenny Tao
 Staff Photo: AI Michael Oanta
AI Michael Oanta
 Staff Photo: AI Sage Jeon
AI Sage Jeon
 Staff Photo: AI Kathryn Byers
AI Kathryn Byers