|
UC Berkeley EECS |
Overview
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."
News
2012-08-23 | CS10 makes The Daily Cal,
again! Check out CS10 featured in the Daily Cal. |
2012-08-23 | Welcome to CS10, everyone!
We'll be using Piazza for all staff-student communication from now on. |
Webcasts
Webcasts of our lectures are freely available online!
Calendar
Hour | Monday | Tuesday | Wednesday | Thursday | Friday | |||
---|---|---|---|---|---|---|---|---|
8:00am | ||||||||
9:00am | Lab Section 1 (Samir) 200 Sutardja Dai |
Lab Section 7 (Aatash) 200 Sutardja Dai |
Lab Section 1 (Samir) 200 Sutardja Dai |
Lab Section 7 (Aatash) 200 Sutardja Dai |
||||
10:00am | OH (Max) 411 Soda |
Discussion Section 1 (Max) 310 Soda Hall |
||||||
11:00am | Lab Section 2 (Max) 200 Sutardja Dai |
Lab Section 8 (Max) 200 Sutardja Dai |
Lab Section 2 (Max) 200 Sutardja Dai |
Lab Section 8 (Max) 200 Sutardja Dai |
Discussion Section 2 (Samir) 310 Soda Hall |
|||
12:00pm | Discussion Section 7 (Aatash) 310 Soda Hall |
|||||||
1:00pm | Lecture 1 Leconte |
Lab Section 3 (Michael) 200 Sutardja Dai |
Lecture 1 Leconte |
Lab Section 3 (Michael) 200 Sutardja Dai |
Discussion Section 8 (Max) 310 Soda Hall |
OH (Dan Garcia) 777 Soda |
||
2:00pm | OH (Dan A.) 611 Soda |
OH (Max) 411 Soda |
Discussion Section 3 (Michael) 310 Soda Hall |
|||||
3:00pm | Lab Section 4 (Dan) 200 Sutardja Dai |
Lab Section 4 (Dan) 200 Sutardja Dai |
OH 3:30-4:30 (Aatash) 751 Soda |
Discussion Section 4 (Dan) 310 Soda Hall |
||||
4:00pm | OH (Ian) 751 Soda |
OH 4:30-5:30 (Samir) 751 Soda |
Discussion Section 5 (Michael) 310 Soda Hall |
|||||
5:00pm | OH (Michael) 411 Soda |
Lab Section 5 (Michael) 200 Sutardja Dai |
Lab Section 5 (Michael) 200 Sutardja Dai |
Discussion Section 6 (Aijia) 310 Soda Hall |
OH (Michael) 411 Soda |
|||
6:00pm | OH (Aijia) 611 Soda |
|||||||
7:00pm | Lab Section 6 (Aijia) 200 Sutardja Dai |
Lab Section 6 (Aijia) 200 Sutardja Dai |
||||||
8:00pm |
Staff
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% |
Blog | 60 | 15% |
Midterm Project | 60 | 15% |
Final Project | 60 | 15% |
Quest | 20 | 5% |
Midterm | 60 | 15% |
Final Exam | 80 | 20% |
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 |
Difference between CS10 and CSw10
Activity | CS10 | CSw10 |
---|---|---|
Lecture | Come to lecture, use clickers. Ask any questions by raising hand. | Watch archived lecture videos online (any time), answer embedded multiple-choice questions. Ask any questions on Piazza; response times may vary. |
Lab | Come to lab, complete Moodle-driven labs, ask questions from CS10 TAs and lab assistants in person. | Complete labs online during one of the CSw10 lab section times, ask questions on Piazza, which are answered in real time by CSw10 TAs and lab assistants. |
Discussion | Come to discussion for community building, review, and distillation. | Come to online discussion in Adobe Connect for community building, review, and distillation. |
Projects | Work with your teammate(s) by scheduling face-to-face time to work on it together outside of class, and submit online. | Work with your teammate(s) by scheduling online time to work on it together outside of class, and submit online. Classmates may not meet each other face-to-face, to fully simulate the online experience. We suggest Google+ Hangouts for meeting with other students online. |
Blog | Independently researched, posted on Piazza. | Independently researched, posted on Piazza. |
Exams | Take them during class (Quest), during lab (Online Midterm and Final) or in the evening (Midterm & Final). | Take the same exams as CS10, only online using our proctoring service, at the same time as CS10 exams. |
Grading | Listed on the CS10 page: weekly quizzes and homework, blog, midterm project, final project, quest, midterm, final exam. | Identical to CS10. |
Exam review session | Held in a campus classroom the Sundays before the 3 big exams (quest, midterm, final). | Held on Adobe Connect the same time as the CS10 exam reviews, the Sundays before the 3 big exams. CSw10 students may not attend these in person, only online. |
Office Hours | Stop by the offices of Dan or the CS10 TAs during open office hours. | Attend office hours of Dan or the CSw10 TAs online using Adobe Connect. |
Readings | Complete on your own time; take reading quizzes during the face-to-face lab. | Complete on your own time; take reading quizzes during the online lab. |
Questions | Ask them and get them answered by other CS10 students and instructors via Piazza. | Ask them and get them answered by other CSw10 students and instructors via Piazza. |
Coding practice | Online via codepath.co | Online via codepath.co |
Meet your instructors | See them in person in lecture, lab, discussion, office hours, and during exams. | Not allowed to meet them in person until the class is over. You're only allowed to meet them onine before then. |
Cost for the entire course | Free ... we hand you free clickers in lecture, and all the reading assignments are online as web pages or PDF downloads, including the book! | Free ... no need for clickers, and all the reading assignments are online as web pages or PDF downloads, including the book! |
Resources
λ Codepath
λ BYOB : Build Your
Own Blocks
λ Scratch
Forums
λ Blown to Bits
λ Debugging
Rules!
λ UC Berkeley
λ College of
Engineering
λ Department of
Electrical Engineering & Computer Sciences
λ
Webcast archive of 2010Fa lectures
λ Solutions to Lab
Exercises
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License