Your Navigation Bar didn't load. Overview News Calendar Staff Grades Resources
BJC

QuickLinks

Snap!
(our software)
Piazza
(our Q&A)
bSpace
(submissions)
Google+ (#BJCnews)
(computing in news)

Overview

Fall 2009 students work together using pair programming

Fall 2009 students pair programming in Scratch.

Our new Mac lab

Our labs are held in the Apple Orchard, which is not only the newest lab on campus with the fastest machines, but also has the most natural light!

CS10, The Beauty and Joy of Computing, is an exciting new course offered by the UC Berkeley EECS Dept. Computing has changed the world in profound ways. It has opened up wonderful new ways for people to connect, design, research, play, create, and express themselves. However, just using a computer is only a small part of the picture. The real transformative and empowering experience comes when one learns how to program the computer, to translate ideas into code. This course will teach students how to do exactly that, using BYOB and Snap! (based on Scratch), one of the friendliest programming languages ever invented. It's purely graphical, which means programming involves simply dragging blocks around, and building bigger blocks out of smaller blocks.

But this course is far more than just learning to program. We'll focus on some of the "Big Ideas" of computing, such as abstraction, design, recursion, concurrency, simulations, and the limits of computation. We'll show some beautiful applications of computing that have changed the world, talk about the history of computing, and where it will go in the future. Throughout the course, relevance will be emphasized: relevance to the student and to society. As an example, the final project will be completely of the students' choosing, on a topic most interesting to them. The overarching theme is to expose students to the beauty and joy of computing. This course is designed for computing non-majors, although interested majors are certainly welcome to take the class as well! We are especially excited about bringing computing (through this course) to traditionally under-represented groups in computing, i.e., women and ethnic minorities.

Some context: in the Fall of 2009, we piloted a 2-unit version of this course as the freshman/sophomore seminar CS39N: The Beauty and Joy of Computing to 20 students. It was such a success that we decided to move ahead to make this course our new computing course for non-majors, replacing the venerable CS3L and CS3S . Since then, this has been one of the most popular courses in EECS. Don't believe us? See for yourself! We're continuing to grow the course as word spreads to more students. We're continually replacing the weakest parts of the curriculum and hope you'll enjoy!

We will be using Pair Programming, described best by Laurie Williams, a computer science professor at North Carolina State University: "Two programmers working side-by-side, collaborating on the same design, algorithm, code or test. One programmer, the driver, has control of the keyboard/mouse and actively implements the program. The other programmer, the observer, continuously observes the work of the driver to identify tactical (syntactic, spelling, etc.) defects and also thinks strategically about the direction of the work. On demand, the two programmers can brainstorm any challenging problem. Because the two programmers periodically switch roles, they work together as equals to develop software."

18 student testimonials about CS10!

Calendar

Semester Schedule (subject to change)

Reading Assignments Key:
Week Dates Readings (Sa/Su) Lecture 1 (M) Lab 1 (M/Tu/W) Lecture 2 (W) Lab 2 (W/Th/F) Discussion (F) HW & Projects
1 08-26 to 08-30
No Class Broadcast, Animations, Music Watch a TA do the lab here. Welcome and Course Overview None
2 09-02 to 09-06 Prof. Harvey's Intro to Abstraction
Why Software is Eating the World
Is Abstraction the Key to Computing?
Scratch: Programming for All
No Lecture, Labor Day Loops, Variables, and Conditionals
Watch a TA do the lab here.
Welcome; Abstraction (DG)
Sp12 HD video with Qs
Random, If, & Input
Watch a TA do the lab here.
Reading Quiz (in-lab)
Anatomy of a Computer
The Power of Binary
(slides)
Homework 0
PDF Version
Word Version
due 09/06
3 09-09 to 09-13 BtB Chapter 1
Program or Be Programmed (Video: Author Speech)
Animating a Blockbuster
3D Graphics (D)
Sp12 HD video with Qs
Homework 1 Help
Reading Quiz (in-lab)

Functions (D)
Sp12 HD video with Qs

Build Your Own Blocks
Watch a TA do the lab here.
Functions
(Slides 1)
(Handout 1)
(Handout 2)
Homework 1
due 09/13
4 09-16 to 09-20 Designing Games with a Purpose (GWAP)
Justices Split on Violent Games
Video Games Lecture (Slides)
The Story of Alan Turing & His Machine
More readings on video games
Kinect's Future a Game Controller in Everything
Creativity and Abstraction (D)
Lists I
Watch a TA do the lab here.
Reading Quiz (in-lab)
Programming Paradigms (D)
Sp12 HD video with Qs
Extra Lecture Video
Lists II
Watch a TA do the lab here.
Lists Homework 2
due 09/20
5 09-23 to 09-27 No readings this week

Quest Review
Sun. 9/22 12-3PM, 2050 VLSB
Algorithms I (G)
Sp12 HD video with Qs
Review HOFs
Finish Lists I + II
Quest (in-class exam) Algorithms
Watch a TA do the lab here.
Go Over Quest Solutions
Homework 3 Overview
None
6 09-30 to 10-04 How Algorithms Shape Our World
How Moore's Law Works
Free Lunch is Over
Spending Moore's dividend (CACM)
Algorithms II,
Orders of Growth (G)

Sp12 HD video with Qs
Algorithmic Complexity
Watch a TA do the lab here.
Concurrency (G)
Sp12 HD video with Qs
Concurrency
Watch a TA do the lab here.
Reading Quiz (in-lab)
Data &
Intro Midterm Data Performance Task (Slides)

Quest Regrade Due
Homework 3
due Mon 10/07
7 10-07 to 10-11 BtB Chapter 2
Data explosion creates revolution
Data Mining
Data Pitfalls
Computing as Social Science
Data Visualization
Basic Statistics (Helpful for Project)
Guest TA Pierce Vollucci
Recursion I
Sp12 HD video with Qs
Recursion I
Watch a TA do the lab here.
Reading Quiz (in-lab)
Data (G)
Data
Algorithms &
Concurrency
(Slides)
Midterm Data Performance Task

Proposal
due Sun 10/13

(Submit Proposal)
-
(Example Proposal)
Required Project Readings: Visualization 1
Visualization 2
Useful Data Sites
8 10-14 to 10-18 BtB Chapter 4 Reading Segment 1
BtB Chapter 4 Reading Segment 2
Living in a Digital World
BtB Chapter 3
Guest TA Jon McKinsey
Recursion II
Sp12 HD video with Qs
Project Work
Reading Quiz (in-lab)
Social Implications I (G)
Sp12 HD video with Qs
Recursion II
Watch a TA do the lab here.
Recursion Midterm Data Performance Task
Progress Report

due 10/20
(Submit Progress Report)
9 10-21 to 10-25 BtB Chapter 5 Reading Segment 1
BtB Chapter 5 Reading Segment 2
BtB Chapter 5 Reading Segment 3
BtB Chapter 6 (27-37)
BtB Appendix
Guest Lecturer Brian Harvey
Social Implications II
Fa11 SD video
Recursion II
(continued)

Watch a TA do the lab here. Reading Quiz (in-lab quiz)

Guest Lecturer Brian Harvey
Social Implications III

Project Work / Optional With-Snap Midterm Review Recursion II and Midterm Review Midterm Data Performance Task
due 10/25
10 10-28 to 11-01 No Reading (MIDTERM)

Midterm Review
Sun, 10/27 12-3PM, 2050 VLSB
Internet I (G)
Sp12 HD video with Qs
With-Snap! Midterm in lab
Internet II (G)
Midterm Exam
10/30 7-9PM, 2050 VLSB
Internet The Impact Performance Task Introduction (Slides) None
11 11-04 to 11-08 BtB Chapter 7
BtB Chapter 8
Lambda + HOFs I (D)
Sp12 HD video with Qs
Lambda + HOFs I

Reading Quiz (in-lab quiz)
Distributed Computing (G)
Sp12 HD video with Qs
Distributed Computing
Social Implications of Computing (Slides) None
12 11-11 to 11-15 The Great Robot Race (Video)
No Lecture, Veteran's Day Impact Performance Task Work
Computational Game Theory (D)
Sp12 HD video with Qs
Lambda and HOFs II

Reading Quiz (in-lab quiz)
Lambda + HOFs Impact Performance Task
due 11/15
Artifact Examples
13 11-18 to 11-22 What is IBM's Watson?
Computers Solve Checkers - It's a Draw
Brian Harvey's AI notes
The First Church of Robotics
The Thinking Machine (Video)
Guest Lecturer Anna Rafferty
Artificial Intelligence
Sp12 HD video with Qs
Project Work Lab

Reading Quiz (in-lab quiz)
Guest Lecturer Bjoern Hartmann
HCI
Sp12 HD video with Qs
Finch Robot Lab CS @ Cal, and Beyond Impact Performance Task Comments
due 11/22
Final Proposal Form
due 11/22
14 11-25 to 11-29 Computer Pioneer Alan Turing
Why is Quantum Different?
Quantum Leap
Twenty TopPredictions for life 100 years from now
Halting Problem Poem
Guest Lecturer Prof Kathy Yelick
Saving the World with Computing (CS + X)
Sp12 HD video with Qs
Project Work

Reading Quiz (in-lab quiz)
Limits of Computing (D)
Sp12 HD video with Qs
No Lab or Discussion, Thanksgiving
Final Project Progress Report
(due 12/02)
15 12-02 to 12-06 DNA Storage
Apple's 1987 Knowledge Navigator (Video)
Microsoft's view of productivity in 2019 (Video)
The Future of Augmented Reality
Apple's Siri
BtB: Conclusion
Future of Computing (G)
Sp12 HD video with Qs
Project Work

Pilot Survey (in-lab)
Summary and Farewell (DG)
Sp12 HD video with Qs
With-Snap! Final Exam in Lab Final Thoughts Final Project Spec
due 12/06
16 12-09 to 12-13 RRR Week CS Ed Day RRR Week RRR Week RRR Week
17 12-16 to 12-20 Final Exam Review
Sun, 12/15 12-3PM, 2050 VLSB
Paper Final Exam
Wed 12/18 7-10pm
1 Pimentel
Writing Snap! on Paper

Weekly Schedule

Hour Monday Tuesday Wednesday Thursday Friday
7:00am Lab Section J
(Zach)
200 Sutardja Dai
Lab Section J
(Zach)
200 Sutardja Dai
8:00am Discussion Section A
(Zach)
320 Soda Hall
9:00am Lab Section A
(Zach)
200 Sutardja Dai
Lab Section B
(Max)
200 Sutardja Dai
Lab Section A
(Zach)
200 Sutardja Dai
Lab Section B
(Max)
200 Sutardja Dai
OH (Peter)
611 Soda
10:00am Discussion Section B
(Ian)
310 Soda Hall
11:00am Lab Section C
(Ian)
200 Sutardja Dai
Lab Section D
(Michael)
200 Sutardja Dai
OH (Jon)
283E Soda
Lab Section C
(Ian)
200 Sutardja Dai
OH (Zach)
283H Soda
Lab Section D
(Jon)
200 Sutardja Dai
OH (Gerald)
329 Soda
Discussion Section G
(Michael)
310 Soda Hall
12:00pm OH (Jon)
411 Soda
OH (Max)
283E Soda
Discussion Section C
(Max)
310 Soda Hall
Discussion Section D
(Zach)
320 Soda Hall
1:00pm Lecture
245 Li Ka Shing
Lab Section E
(Peter)
200 Sutardja Dai
  Lecture
245 Li Ka Shing
Lab Section E
(Peter)
200 Sutardja Dai
OH (Ian)
411 Soda
  Discussion Section E
(Jon)
310 Soda Hall
2:00pm OH (Michael)
751 Soda
OH (Dan)
outside 245 Li Ka Shing
OH (Max)
283E Soda
Discussion Section H
(Jon)
310 Soda Hall
Discussion Section I
(Peter)
320 Soda Hall
3:00pm Lab Section K
(Michael)
200 Sutardja Dai
Lab Section G
(Max)
200 Sutardja Dai
Lab Section K
(Jon)
200 Sutardja Dai
Lab Section G
(Max)
200 Sutardja Dai
OH (Peter)
611 Soda
OH (Michael)
751 Soda
Discussion Section J
(Max)
310 Soda Hall
Discussion Section K
(Peter)
320 Soda Hall
4:00pm Discussion Section L
(Samir)
310 Soda Hall
5:00pm Lab Section I
(Jon)
200 Sutardja Dai
Lab Section H
(Samir)
200 Sutardja Dai
Lab Section I
(Jon)
200 Sutardja Dai
Lab Section H
(Samir)
200 Sutardja Dai
OH (Samir)
200 Sutardja Dai
Discussion Section M
(Michael)
310 Soda Hall
6:00pm
7:00pm Lab Section L
(Michael)
330 Soda
Lab Section L
(Michael)
271 Soda
8:00pm Lab Section M
(Peter)
273 Soda
Lab Section M
(Peter)
273 Soda
9:00pm

Staff

Instructors


Sr. Lecturer SOE Dan Garcia (bio)
ddgarcia@cs.berkeley.edu
777 Soda, (510) 517-4041

Lecturer Gerald Friedland (bio)
fractor (at) icsi.berkeley.edu
329 Soda, (510) 643-4207
 

Teaching Assistants


Head TA Pierce Vollucci (bio)
pavtheway007@berkeley.edu

TA Max Dougherty (bio)
mdougherty@berkeley.edu

TA Michael Ball (bio)
ball@berkeley.edu

TA Samir Makhani (bio)
makhani@berkeley.edu
 

TA Ian Birnam (bio)
ibirnam@berkeley.edu

TA Jon McKinsey (bio)
mckinsey@berkeley.edu

TA Zack MacHardy (bio)
zmmachar@berkeley.edu

TA Peter Sujan (bio)
peterasujan@gmail.com
 

Readers and Paid Course Support Staff


Head Reader Jeffrey Snowiss ( bio )
cs10-rb@imail.eecs.berkeley.edu

Reader Audrey Chou ( bio )

Reader Claire Watanabe ( bio )

Reader Jaclyn Burge ( bio )
 

Reader Janna Golden ( bio )

Reader Victoria Shi ( bio )

Head Lab Assistant Joanna Abot ( bio )

BJC Development Lauren Mock ( bio )
 

Lab Assistants


Alexander McKinney ( bio )

Andy Qin ( bio )

Audrey Chou ( bio )

(TAiT) Benjamin Carvalho ( bio )
 

Caren Thomas ( bio )

George Shum ( bio )

Ingrid Hong ( bio )

Jessica Andrich ( bio )

Jessica Peters ( bio )

Jessica Tran ( bio )

Joseph Cawthorne ( bio )

Karla Aguilar ( bio )
 

Katie Chen ( bio )

Kelly Backes ( bio )
resources/images/Fa13/KouTakahama.jpg
Kou Takahama (bio)

Nabeel Saleem ( bio )

Natnicha Vanitchanant ( bio )

Tom Lai ( bio )

Rachel Huang ( bio )

Ryan Lim ( bio )
 
resources/images/NPY3D.jpg
Sean Fontes (bio)
resources/images/SeanScofield.jpg
Sean Scofield (bio)
resources/images/SongSok.jpg
Song Sok (bio)
resources/images/Su13/StellaWalla.jpg
Stella Walla (bio)
 

Victoria Shi ( bio )

Xio Alvarez ( bio )

Xu Chen ( bio )

Zhenzheng Hu ( bio )
 

BJC Lab Dev Team


TA Peter Sujan (bio)

TA Michael Ball (bio)

BJC Development Lauren Mock ( bio )
 
 

Jessica Andrich ( bio )

Paul Irwin ( bio )

Shari Gray ( bio )
 
 

BJC Snap Dev Team

Coming soon...
 

BJC Edx Dev Team


TA Samir Makhani (bio)

Aatash Parikh (bio)

TA Michael Ball (bio)

Reader Jaclyn Burge ( bio )

Joseph Cawthorne ( bio )
 

Andy Qin ( bio )

Ino Samaras ( bio )
resources/images/SeanScofield.jpg
Sean Scofield (bio)

Felicia Lee ( bio )

BJC Development Lauren Mock ( bio )
 

Grading

For the most part, we would prefer to teach this course without grades. What a wonderful concept, learning for learning sake! However, even though we can't change the "system" overnight, we can create grading policies that support learning as much as possible. The various course activities will contribute to your grade as follows:

Activity Course Points Percentage of Total Grade
Weekly Quizzes and Homework 60 15%
Impact Performance Task 60 15%
Midterm Data Performance Task 60 15%
Final Programming Performance Task 60 15%
Quest 20 5%
Midterm 60 15%
Final Exam 80 20%

How We'll Calculate Your Grade

Your letter grade will be determined by total course points, as shown in the table below. Incomplete grades will be granted only for dire medical or personal emergencies that cause you to miss the final exam, and only if your work up to that point is satisfactory.

Points Grade
390-400 A+
370-389 A
360-369 A-
350-359 B+
330-349 B
320-329 B-
310-319 C+
290-309 C
280-289 C-
240-279 D
< 240 F

Resources


Contact Webmaster |
Creative Commons License

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License