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



Quick Links

Piazza
(Q&A)
bCourses
(assignments)

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 Department. 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 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."

Assignment 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 8-25 to 8-29 No Readings No Class No Labs:
Monday, Tuesday or Wednesday.
No Class Welcome to snap Welcome and Course Overview No Homework
2 9-1 to 9-5 Prof. Harvey's Intro to Abstraction
Why Software is Eating the World
Learning to Code!
Is Abstraction the Key to Computing?
Scratch: Programming for All
No Class Build Your Own Blocks! Welcome; Abstraction
(Sp12 HD video with Qs)
Conditionals

Reading Quiz 1 (in-lab)
Anatomy of a Computer &
The Power of Binary
(Resources)
HW0
due 9/5 @ 11:59pm
3 9-8 to 9-12 The Story of Alan Turing & His Machine
Designing Games with a Purpose (GWAP)
Justices Split on Violent Games
Video Games Lecture
(Slides)
More readings on video games
Kinect's Future a Game Controller in Everything
Functions
(Sp12 HD video with Qs)
Abstraction Revisited

Reading Quiz 2 (in-lab)
Creativity and Abstraction Intro to Lists Functions & Conditionals
(Resources)
Homework 1 Spec
(Rubric)
due 9/12 @ 11:59pm on bCourses
4 9-15 to 9-19 How Algorithms Shape Our World
BtB Chapter 1
Program or Be Programmed
Program or Be Programmed: A Guide
Animating a Blockbuster
Programming Paradigms
(Sp12 HD video with Qs)
Extra Lecture Video
Lists & Homework Help

Reading Quiz 3 (in-lab)
Multimedia Computing
Algorithms Lists & HOFs
(Resources)
Work on HW2!
5 9-22 to 9-26 BtB Chapter 2
BtB Chapter 4 Reading Segment 1
BtB Chapter 4 Reading Segment 2
Living in a Digital World
BtB Chapter 3
Guest Lecturer: Jon Kotker
Algorithms
(Sp12 HD video with Qs)
Algorithms & Homework Help

Reading Quiz 4 (in-lab)
Guest Lecturer: Pierce Vollucci
Algorithmic Complexity
(Sp12 HD video with Qs)
Algorithmic Complexity Algorithmic Complexity &
Quest Review
(Resources)
Homework 2
(Rubric)
due 9/26 @ 11:59PM on bCourses
6 9-29 to 10-3 No Readings

Quest Review
Sun 9/28 2-4pm; 2050 VLSB
(Slides)
Guest Lecturers: TAs Michael & Max
Recursion I
(Sp12 HD video with Qs)
Finch Robot Lab Quest
(in-class exam)
Fractals and Tree Recursion Quest Debrief & Recursion Intro
(Resources)
Start on Homework 3!
7 10-6 to 10-10 How Moore's Law Works
Free Lunch is Over
What is IBM's Watson?
Brian Harvey's AI notes
The First Church of Robotics
The Thinking Machine (Video)
Spending Moore's dividend (CACM)
Guest Lecture: David Aiman Shamma
(Yahoo! Research / Flickr)
Recursive Reporters

Reading Quiz 5 (in-lab)
Concurrency
(Sp12 HD video with Qs)
Concurrency R e c u r s i o n
(Resources)
Homework 3
Group Sign up
(Rubric)
due 10/10 @ 11:59PM
Quest Regrades Due (via Gradescope)
due Sun 10/12 @ 11:59PM
8 10-13 to 10-17 BtB Chapter 5 Reading Segment 1
BtB Chapter 5 Reading Segment 2
BtB Chapter 5 Reading Segment 3
BtB Chapter 6 (27-37)
Recursion II
(Sp12 HD video with Qs)
Recursive Reporters
& Concurrency

Reading Quiz 6 (in-lab)
The Internet, Part I
(Sp12 HD video with Qs)
Internet Concurrency & The Internet
(Resources)
Midterm Project Proposal
Group Sign Ups
9 10-20 to 10-24 The Heartbleed Bug
What Servers Bleed
Sites Affected by Heartbleed
Social Implications I
(Sp12 HD video with Qs)
Project Work Session

Reading Quiz 7 (in-lab)
The Internet, Part II
Lists II Internet II &
Midterm Review
(Resources)
Midterm Project Milestone
due 10/24 @ 11:59PM
10 10-27 to 10-31 No Readings (MIDTERM)

Midterm Review
Sun 10/26 2-5pm; 2050 VLSB
Guest Lecturer: Nick Weaver
Privacy &
The NSA
(No slides, audio webcast only)
With-snap In-lab Midterm
Guest Lecturer: Alyosha Efros
Computational Photography and Vision

Midterm Exam

10/29 8-10pm; 1 Pimentel
Project Work Session Midterm Debrief Midterm Project
due 10/31 @ 11:59PM
11 11-3 to 11-7 BtB Chapter 7
BtB Appendix
BtB Chapter 8
Lambda + HOFs
(Sp12 HD video with Qs)
Understanding Higher Order Functions

Reading Quiz 8 (in-lab)
Guest Lecturers:
TAs Max and Andrew
Intro to Python
Besides Blocks: Welcome to Python Lambda + HOFs &
Python Intro
(Resources)
Work on Impact Writeup!
12 11-10 to 11-14 Data explosion creates revolution
Data Mining
Data Pitfalls
Computing as Social Science
Data Visualization
Basic Statistics (Helpful for Project)
Social Implications II No Labs: Monday, Tuesday, or Wednesday (morning). Python II Besides Blocks: Data Structures
Reading Quiz 9 (in-lab)
Practical Privacy Implications (Resources) Impact Writeup (Post on Piazza)
due 11/14 @ 11:59PM
13 11-17 to 11-21 The Great Robot Race (Video)
Halting Problem Poem
Social Implications III Besides Blocks: Data Processing

Reading Quiz 10 (in-lab)
Guest Lecturer: Eric Paulos
HCI
(Sp12 HD video with Qs)

Impact Writeup:
Comments (Piazza)
due 11/19 @ 11:59PM

Final Project Proposal
due 11/19 @ 11:59PM on bCourses
Besides Blocks: Data Processing Open Topic (CS @ Cal & Beyond)
(Resources)
Impact Post Comments: 11/19

Final Project Proposal: 11/19

Data Project: CANCELLED
14 11-24 to 11-28 John Oliver: Net Neutrality
Obama's Notes: Net Neutrality
Limits of Computing
(Sp12 HD video with Qs)
Project Work Session

Reading Quiz 11 (in-lab)
No Lecture,
No Second Lab (Wednesday, Thursday, Friday)
No Class No Class Work on your Final Project!
15 12-1 to 12-5 Why is Quantum Different?
DNA Storage
Quantum Leap
Twenty Top Predictions for life 100 years from now
BtB: Conclusion
Future of Computing
(Sp12 HD video with Qs)
Project Work Session

Reading Quiz 12 (in-lab)
Guest Lecturer:
Michael Ball
Head TA
Summary and Review
(Sp12 HD video with Qs)
Final Survey
With-snap Final Exam (Practice Exams)
Farewell 😢 Final Project
due 12/5 @ 11:59PM
16 12-8 to 12-12 RRR Week 12/9
CS Education Day
12/10
Python Review Session
2050 VLSB | 3-4 PM
(Slides)
RRR Week RRR Week
17 12-15 to 12-19 Final Exam Review
Sun 12/14 2-5pm; 2050 VLSB
Paper Final Exam
Tues, 7-10pm
RSF Field House Writing Snap! on Paper

Weekly Schedule

This calendar displays the class schedule for the current week. Click on any event to see the building location on a map.

Sep 1 - 5, 2014

Staff

Instructor

Teaching Assistants

TA Sumer Mohammed
TA Sumer Mohammed
sumermohammed@berkeley.edu
TA Steven Traversi
TA Steven Traversi
straversi@berkeley.edu

Readers

Reader Alex McKinney
Reader Alex McKinney
Reader Brandon Chen
Reader Brandon Chen
Reader Carlos Flores
Reader Carlos Flores
Reader Claire Watanabe
Reader Claire Watanabe
Reader Jobel Vecino
Reader Jobel Vecino

Grading

Grade Breakdown

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 Points Percent of Total Grade
Weekly Reading Quizzes 20 4%
Lab Check-Offs 30 6%
Homework 1 (Word Guessing) 10 2%
Homework 2 (Hangman) 20 4%
Homework 3 (Evil Hangman) 30 6%
Midterm Project 60 12%
Innovation Blog 50 10%
Final Programming Project 75 15%
Quest 25 5%
Midterm 75 15%
Final Exam 105 21%
Total Points 500 100%


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
485-500 A+
460-484 A
450-459 A-
440-449 B+
420-439 B
400-419 B-
375-399 C+
360-374 C
350-359 C-
300-349 D
< 299 F

Resources


This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 4.0 Unported License . Creative Commons License
=