CS3L Intro to Symbolic Programming. Summer 2010, UC Berkeley
CS3L Summer 2010
MTuWTh 9-12pm, F 10-12pm 273 Soda


2010-08-05 Google Field Trip! The field trip to Google will be next Monday, 08/09/2010. Please meet in lab promptly at 8:30am on Monday so we can get there on time. Drivers: Google's address is 1600 Amphitheatre Parkway, Mountain View, CA 94043. Angela will be taking this route, but you are free to take whatever route you are comfortable with. Please meet between Buildings 40 and 41 when you arrive.
2010-06-22 Angela's website is up! You can find Angela's website here. We will be posting tips as well as supplementary notes/exercises here, so check back once in a while!
2010-06-21 Welcome to CS3L! To be able to work on material from home, you can follow the guide here.
Be sure to use nova.cs.berkeley.edu instead of cory.eecs.berkeley.edu as the host.
2010-06-21 Videos for Day 1 Unix 1 Unix 2 Emacs 1 Emacs 2

Old News

Lecture, Reading, and Assignment Calendar

IMPORTANT: There will be quizzes every Tuesday and Thursday, except when there is a midterm.
Please note that this schedule is tentative and may change through the course.

Wk Date Lab Reading Homework/Exam Lecture (Friday)
1 06.21 M Course Intro/Unix and Emacs Intro ---


Lab 1 & Videos
Week Review
06.22 Tu Lab 2 - Playing with Scheme & UCwise Chapters 3-5, Simply Scheme (SS) Fifteen, Identity, 3 of 5 exercises from SS
06.23 W Lab 3 - Working with Words and Sentences Chapters 3-5, SS 5.13 and 5.19, SS
06.24 Th Lab 4 - Working with Conditional Expressions Chapter 6, SS Rock, Paper, Scissors
2 06.28 M Lab 5 - Conditionals and Words Together --- Read Difference Between Dates Case study, 'Answer' Exercise Recursion
06.29 Tu Lab 6 - Difference Between Dates (DbD) Case Study --- Leap Year Day Span, Bug Possibilities
06.30 W Lab 7 - More DbD Case Study --- Project 1 Assigned
07.01 Th Lab 8 - Project 1 Day --- Work on Project 1
3 07.05 M Holiday --- Relax Advanced Recursion
Go Over Midterm
07.06 Tu Lab 9 - Starting to Think Recursively Chapters 11-13, SS Read Day Span - Recursive Version
07.07 W Lab 10 - More Complicated Recursive Procedures Chapters 11-13, SS Dupls-removed & Utils
Read Roman Numerals Case Study
07.08 Th Lab 11 - More Complex Recursive Procedures --- Exam 1, 6:30-8:30 306 Soda
4 07.12 M Lab 12 - Recursive Procedures w/ Multiple Arguments Chapters 14-15, SS Compressed Higher Order Procedures
07.13 Tu Lab 13 - Advanced Recursion Chapters 14-15, SS ---
07.14 W Lab 14 - 2 Stage Recursion --- Occurs-in
07.15 Th Catch Up Day!!! --- Catch up on old labs.
Project 2 Assigned
5 07.19 M Project 2 Day Project Hints - Pg 233, SS Work on Project 2 Lists
07.20 Tu Lab 15 - Intro to Higher Order Functions Chapters 8-9, SS ---
07.21 W Lab 16 - More Higher Order Functions Chapters 10, 19 SS Diagonal, Position
07.22 Th Lab 17 - Larger Programs and HOF's Chapter 10, SS Elections
6 07.26 M Lab 18 - Modifying Tic-Tac-Toe Chapter 7, SS Project 3 Assigned Sequential Programming
Go over Midterm
07.27 Tu Project 3 Day --- Work on Project 3, Study for Midterm
07.28 W Lab 19 - Working with Lists Chapter 17, SS ---
07.29 Th Lab 20 - Generalized Lists & Tree Recursion --- Exam 2, 6:30-8:30 306 Soda
7 08.02 M Lab 21 - Advanced List Processing --- --- Final Projects
08.03 Tu Lab 22 - Sequential Programming Chapter 20, SS ---
08.04 W Lab 23 - Practice Problems --- Catch Up On Unfinished Labs
08.05 Th Lab 23 - Practice Problems --- Catch Up On Unfinished Labs
8 All Week Final Project Week --- Work on Final Projects!
Final: August 12th
6:30-9:30pm, 306 Soda
Enjoy the rest of the Summer!

Weekly Schedule

Monday Tuesday Wednesday Thursday Friday
9:00-10:00 LAB 273 Soda LAB 273 Soda LAB 273 Soda LAB 273 Soda  
10:00-11:00 LEC 273 Soda
1:00-2:00 David's Playstation 3 Time Naptime David's Playstation 3 Time Naptime David's Playstation 3 Time
2:00-3:00 David's OH - 419 Soda
4:00-5:00 Naptime David's OH - 419 Soda
5:00-6:00       Research Meeting  


David Zeng

David Zeng
Berkeley Grad & Lecturer
david DOT tao DOT zeng AT gmail
Office Hours: Tuesday 2-4, Thursday 4-5


Angela Juang
Head (and only) TA -- cs3-ta

Grading Policy

The various course activities will contribute points to your grade as follows.

activity course points percent of total grade
project 16 8%
all mini-projects 24 (8 each) 12% (4% each)
all other homework scaled to 16 8%
all quizzes scaled to 24 12%
both midterm exams 60 (30 each) 30% (15% each)
final exam 60 30%

There are 11 quizzes planned at the moment. You will be able to drop 2 of the lowest quiz scores. Afterwards, your total quiz percentage is scaled to 24. Homeworks will be graded on correctness (not just completion). Keep in mind that not all homeworks will be worth the same amount of points. Larger homeworks will be worth more and we will notify you which homeworks are larger. At the end, your homework percentage will be scaled to 16.

Late work will not be accepted for homeworks. Homeworks will typically be due 2 CLASS days after it is assigned. Thus if it assigned on Monday, then it will be due 2 days later aka. Wednesday at midnight. This means that homework assigned on Thursday will be due Tuesday at midnight. For larger homeworks (we will inform you), we will tell you when it is due.
For the 3 projects and the final project, you will have a total of 3 slip days. This means that if you go over the due date by 2 hours (2 am) it counts at 1 slip day (it's not counted by the hour) and you might as well go to sleep :P. You may use them however you wish, but you should allocate appropriately.

You are expected to keep up with the classwork. There will occasionally be time devoted in lab to helping you catch up or solidify your understanding of the material. You will be expected to submit homework on time, and to take quizzes on the day they are assigned. Quizzes must be taken in lab, during the section in which they are assigned.

Your letter grade will be determined by total course points, as shown in the following table:

points 190-200 175-190 165-175 155-165 135-155 125-135
grade A+ A A– B+ B B–
points 115-125 105-115 95-105 75-97 <75
grade C+ C C– D F

In other words, there is no curve; your grade will depend only on how well you do, not on how well everyone else does.

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.

Copying and presenting another person's work as your own constitutes cheating. It will be penalized at least by a 0 on the work in question and notification of the incident to the Office of Student Conduct.

General Information

Textbook: The textbook you will be using this class is called Simply Scheme by Brian Harvey and Matt Wright (2nd edition, MIT Press 1999). It can be found at Ned's, the student store or online here.

Other Readings: Other readings for the case studies can also be found online here.

CS3L, http://inst.eecs.berkeley.edu/~cs3/ (Last Updated: 2010-06-17 @ 22:21)