CS 70 at UC Berkeley
Note: All times listed in the policies are with respect to Pacific Time Zone.
We will use Piazza as the 'one-stop shop' throughout the semester: for a Q&A forum and for official announcements. Enrollment in Piazza is mandatory. If you have questions about anything related to the course, please post them on Piazza rather than emailing the instructors or TAs. Please do not post anything resembling a solution to a homework problem before it's due. We always welcome any feedback on what we could be doing better. See the Piazza Etiquette section for more on using Piazza. To join the class on Piazza, click this.
All homework and vitamins will be submitted through Gradescope, and all homework, vitamin, and exam grades will be returned through Gradescope. If you have not been enrolled in our Gradescope, please fill out this form.
PLEASE NOTE: We will add everyone who filled out the form the night before HW 0 is due so that you can submit the HW. If you fill out the form after this, you will have to wait to be added next week and will NOT be able to submit HW 0 for credit.
Please use Piazza for all technical questions, and also all administrative questions about the course that are not personal to you: other students may also benefit from seeing the answers to these questions. If you have a more specific administrative question that relates to you alone, please either use a private post on Piazza (visible to course staff only) or send email to the course administrative account email@example.com (read by instructors and head TAs only).
Office hours will be hosted at oh.eecs70.org. There are two options available on this platform.
At any time of any day, you can create a group for a question you are working on. Specify the assignment and question you’re working on and select “online” for location. Enter your own video call link - other students can join this group to work together on the same problem. You should look to see if someone else has already started a group for the problem you are working on, and join that group if so.
At the following times, course staff will be monitoring the online queue - TBA. Anyone in a “Party” group may hit “Ask for Help (as a group)” to submit their group to the queue. A course staff member will join the video call listed on the group when they help you. Alternatively, you can submit an individual ticket to the queue. Follow the same protocol as party group creation (question, location, zoom link).
We will have one midterm and one final, dates listed below. There will be a remote proctoring component and will proceed under a version similar to what was done in the Fall. Unfortunately, due to large enrollment, we are unable to accommodate final exam conflicts with other classes; we strongly discourage enrollment in another class with conflicting lectures and/or final exam; if you choose to enroll in such a class you will have to make arrangements for an alternate Final with the other class. Details will be announced after the first week of classes.
Midterm date: Thursday, March 11th from 7-9PM PST
Final date: Thursday, May 13 from 3-6PM PST
Exam Attendance Policy
You must attend all exams in order to pass the class. We will consider granting an incomplete given extenuating circumstances that are communicated to course staff. Simply not attending the final exam does not ensure an automatic failure or the granting of an incomplete.
Exam Administration Policy
All materials can be found on the front page.
There is no textbook for this class. Instead, there is a set of comprehensive lecture notes. Make sure you revisit the notes after every lecture. Each note may be covered in one or more lectures.
Megan says, “When I took the course, I studied the notes until I was able to comfortably reproduce all of the proofs.
Release Schedule: Discussion worksheets are published the night before. The solutions are published after all sections of the day are completed.
We will be assigning sections this semester (form to sign up is on Piazza), and attendance will be taken as part of your grade (through a completely objective criteria). You will receive 1 attendance point for every discussion, and will need at least 13 points in order to receive full credit for discussion attendance. You are welcome to attend other discussion sections, but your attendance will only be counted for the section you are actually assigned. The discussion sections are designed not to cover new material but to consolidate the material covered in lectures and in the notes. All sections are equivalent: they all cover the same material.
Lili says, “When I took the course, I tried my best to attend every discussion and ask questions whenever I was confused. Take advantage of breakout rooms to ask questions to TA’s and AI’s in a smaller setting!"
Release Schedule: The vitamin for the current week is released on Gradescope on Monday by 10:00 am. The vitamin is due on Gradescope the following Friday at 10:00 pm (grace period until Friday midnight); the solutions for that vitamin will be released on Saturday.
There will be weekly required vitamins designed to consolidate your understanding of the course material. If you read the notes in advance and attend lecture, they should be quick to complete. As a result, there will be no Piazza support for vitamins. Your final grade will be out of 73%, and your lowest three vitamin scores will be dropped, but this drop should be reserved for emergencies. No additional allowances will be made for late or missed vitamins: please do not contact us about missed vitamins or late submissions.
Vitamins are due on Friday night at 10:00 PM. You need to submit your answers directly on Gradescope. If you have questions on how to do this, please make a private post on Piazza.
Release Schedule: Homework for the coming week is released on Saturday. Homework is due on Gradescope the following Friday at 10:00 p.m. (grace period until Friday midnight); the solutions for that homework will be released the following Saturday.
There will be weekly required homeworks designed to consolidate your understanding of the course material. We strongly recommend starting these early since there will be no office hours support on weekends. Maximum credit for each homework will be given for any score of 73% or more. Your lowest three homework scores will be dropped, but this drop should be reserved for emergencies. No additional allowances will be made for late or missed homeworks: please do not contact us about missed homeworks or late submissions.
Due to budget constraints, we didn’t receive the same reader budget as we have in the past; so, we may sample homework problems to grade each week.
Richard recommends that you start the homeworks as early as possible so you get more time to think about the problems and get help if you end up getting stuck. Additionally, Richard also recommends that you carefully review the homework solutions after they are released and understand them to the point of being able to replicate them without needing to reference them. Having a comprehensive understanding of topics on the homework will go a long way in giving you the intuition you need to succeed!
Homeworks are due on Friday night at 10:00 PM. You need to turn in a .pdf file consisting of your written-up solutions; you may use your phone camera or any page-scanning app in order to turn your written homework into a PDF, as long as your work is clear and legible. In addition, Gradescope has an option to associate pages of your work to each homework problem. You must select the relevant pages for every problem. Any problems without pages selected will receive zero credit. If you have any questions about the format of a homework submission, please go to appointments or homework party.
We take academic misconduct very seriously. Using any kind of homework or exam solutions (for example, from previous semesters) on a currently active assignment is strictly prohibited and is academic misconduct. Consequences of academic misconduct include: negative points for the corresponding assignment, a failing grade in the class, and/or a referral to the Office of Student Conduct.
You are welcome to work on homework problems in study groups of two to five people; however, you must always write up the solutions on your own. Similarly, you may use books or online resources to help solve homework problems, but you must always credit all such sources in your writeup and you must never copy material verbatim.
We believe that most students can distinguish between helping other students and cheating. You may discuss approaches but your solution must be written by you and you only. You should acknowledge everyone whom you have worked with or who has given you any significant ideas about the homework.
Warning: Your attention is drawn to the Department's Policy on Academic Dishonesty. In particular, you should be aware that copying or sharing solutions, in whole or in part, from other students in the class (or any other source without acknowledgment) constitutes cheating. Any student found to be cheating risks automatically failing the class and being referred to the Office of Student Conduct.
We are grading according to department guidelines on grades. The score upon which the grade will be assigned will be computed as follows:
- Discussion Attendance: 5%
- Vitamin: 5% (lowest three vitamins dropped)
- Homework: 20% (lowest three homeworks dropped)
- Midterm: 30%
- Final: 40%
There will also be a “no-homework” option (primarily test based), with a score computed without homework as follows:
- Discussion Attendance: 6.25%
- Vitamins: 6.25%
- Midterm: 37.5%
- Final: 50%
Since there will only be one midterm, we have a partial clobber policy for both options so that if you do well on either the midterm or the final, your other score can be partially clobbered if you happen to do poorly. More details will be released in the coming weeks.
We will encourage more student participation on Piazza rather than answering right away, that is, we will wait until other students step up and answer questions.
Of course, we will still provide clarifications on logistics, typos, subtle points, etc.
We want to make sure that you are helping each other out, and having instructors give away the answers isn't the most beneficial for your education either.
In order to make Piazza a better resource for everyone, we've outlined some guidelines for you to follow when posting your questions. Questions which follow these guidelines will have a higher chance of being answered!
1. Ask HW questions only in HW posts.
We've created individual posts for each problem from homework. Please ask questions, discuss problems, or help out in those posts only. Before asking a question, read through (or search) the whole post to see if your question has been answered.
2. Don't post answers in Piazza.
Please don't give away the answer on Piazza. You can explain things in a way that still lets other students figure out the essence of the problem on their own, but don't spoil the problem. For example, don't point to a useful YouTube link that works out essentially what the problem is asking about.
3. Try to make posts public.
While not violating Rule 2, try to make your questions public, because others might have the same question and we don't need to answer them multiple times.
4. Piazza is not OH. 5 minute-test.
If you think your questions may take more than 5 minutes to answer, please come to office hours or homework parties instead.
5. Neither Piazza nor TAs are for pre-grading.
Please do not post questions of the form:
- "Is this the correct solution to HW X problem Y?"
- "Would this receive full credit on HW X problem Y?"
- "Is this the right level of detail for HW X problem Y?"
Please do not use Piazza as a medium to ask instructors to check your homework in advance. We simply cannot check every student's homework through Piazza.
Feel free to ask questions of clarification, or ask questions about the course content to achieve a deeper understanding, but at a certain point, you must apply your knowledge, give it your best shot, and submit your answers with confidence.
6. Post a screen shot of any resource referenced.
Your question should be self-contained. The TAs (and other responders) should not have to scan through PDFs to even figure out what the question is. Ask yourself: am I referring to some lecture slide/lecture note/HW solution/discussion solution/past exam?
If the answer is yes, post a screen shot of the relevant part.
7. Complaints / suggestions on course policies
Please email these concerns to firstname.lastname@example.org. Piazza is reserved for content questions and clarifications.
8. Post all your work.
Don't post one line saying:
At step n, I get XYZ, and I'm now confused.
This forces the TAs to guess:
What happened in steps 1, 2, ..., n - 1?
Most likely, the TAs will guess wrong, and we run into a mess of followup questions trying to figure out what steps 1, 2, ..., n - 1 were.
Starting out, we have: ....
Then, I do ..., and I get ...
Next, I do ..., and I get ...
Next, I do ..., and I get ...
Now, I get $&%&#(, and this makes no sense.
Then, the TA can respond:
The mistake is at step 3, you're not allowed to apply ABC to XYZ because ...
Survival Tips for CS 70
These tips have been collected through the years from professors, past and present. You can also check out the Learning How To Learn Coursera for other general tips.
Read the lecture notes before lecture.
The material takes some time to sink in. You'll be able to pick up the nuances if you've already got a gist of what will be covered.
In a conceptual class such as this, it is particularly important to maintain a steady effort throughout the semester, rather than hope to cram just before homework deadlines or exams. This is because it takes time and practice for the ideas to sink in. Make sure you allocate a sufficient number of hours every week to the class, including enough time for reading and understanding the material as well as for doing assignments. (As a rough guide, you should expect to do at least one hour of reading and two hours of problem solving for each hour of lecture.) Even though this class does not have any major projects, you should plan to spend as much time on it as on any of your other technical classes.
Take the homeworks seriously.
The homeworks are explicitly designed to help you to learn the material as you go along. Although the numerical weight of the homeworks is not huge, we work hard to make them instructive and interesting. Do read the sample solutions, even for the problems on which you received full points. You may well learn a different way of looking at the problem, and you may also benefit from emulating the style of the solutions. (In science, people learn a lot from emulating the approach of more experienced scientists.) Even for those in the test only option, we highly encourage you to attempt the homeworks and review the solutions.
Start homeworks early.
Our best advice is to read through the homework problems as soon as they are available, and let them percolate in your brain. Think through possible approaches while you are waiting in line, or stuck in an elevator. Sleeping on a problem, or taking a walk has often helped people to come up with a creative approach to it. Definitely do not wait until the night before it is due to start working on the homework.
Make use of office hours.
The instructors and TAs hold office hours expressly to help you. It is often surprising how many students do not take advantage of this service. You are free to attend as many office hours as you wish (you are not constrained just to use the office hours of your section TA). You will also likely get more out of an office hour if you have spent a little time in advance thinking about the questions you have, and formulating them precisely. (In fact, this process can often lead you to a solution yourself!)
Take part in discussion sections.
Discussion sections are not auxiliary lectures. They are an opportunity for interactive learning, through guided group problem solving and other activities. The success of a discussion section depends largely on the willingness of students to participate actively in it. As with office hours, the better prepared you are for the discussion, the more you are likely to get out of it.
Form study groups and/or come to homework parties.
As stated above, you are welcome to form small groups (two to four people) to work together on homeworks and on understanding the class material on a regular basis. In addition to being fun, this can save you a lot of time by generating ideas quickly and preventing you from getting hung up on some point or other. Of course, it is your responsibility to ensure that you contribute actively to the group; passive listening will likely not help you much. And recall the caveat above that you must write up your solutions on your own. Homework parties are an alternative vehicle for working with others in a nice atmosphere, and can be a good place to find a group to work with regularly.
Pay attention in lectures.
As the semester proceeds, many of you will no doubt feel the urge to 'daydream' during lectures, or to skip them altogether, on the grounds that you can catch up by reading the lecture notes. If you follow this strategy, you should be aware that reading mathematics is NOT the same as reading a novel or a news article: each page of mathematics needs to be read many times before it is fully understood, and needs to be backed up by examples and discussion. Following the material in class should save you several readings; even just watching it go by without fully understanding it makes your later reading easier. And you also get the benefit of student questions, examples etc. Exactly how you handle lectures is up to you. One strategy is to print out the lecture notes in advance, bring them to lecture, and add a few additional notes during class.