Link Search Menu Expand Document


Table of contents

  1. Welcome
  2. Platforms
  3. Primary Course Components
  4. Grading Breakdown
  5. Pro-Student Course Policies
  6. Exam Policy
  7. DSP Accommodations
  8. Extension Requests
  9. Exceptional and Extenuating Circumstances
  10. Late Submissions
  11. Academic Integrity
  12. Diversity and Inclusion Statement
  13. Academic Accommodations Hub
  14. EECS Student Climate & Incident Reporting Form


Welcome to CS10: The Beauty and Joy of Computing! We’re really excited to have you on board with us this Spring for a gentle, but thorough introduction to computer science. Our course will start out in the block-based language Snap!, but will transition into Python once you’ve learned some fundamentals of programming. By the end of the course, we hope you’ll walk away with a deeper understanding of the ideas that have come to define computer science, the ability to build your own programs, and the confidence to apply these skills in whichever field you choose to pursue.


This Spring, CS10 will be be primarily in person, but we will be able to provide remote accommodations as needed:

  • Course Website: The day-to-day happenings of the course (and links to all the platforms below) can be found at Consult the daily schedule to find the times/locations for all synchronous course activities.
  • Ed: This will be our main Q&A platform, where you can ask (and answer) questions, see announcements, and read Weekly Blasts, which are required readings.
  • Gradescope: This is where you will submit Reading Quizzes, Projects 1-4, and the Final Project.
  • BCourses: Lecture recordings can be found in the Media Gallery on BCourses.
  • Discord: Hybrid lab sections and office hours will be held via Discord, which offers more interactive, versatile spaces for you to connect with students and staff.
  • PrairieLearn: The three exams: Quest, Midterm, and Postterm, will be administered via PrairieLearn. You will also submit Project 5 here.

Primary Course Components

  • Lecture: Lecture will be live and in person in Birge Hall (Birge 50). Lectures will be recorded, with recordings posted on the website after class. Lecture introduces concepts and gives you an overview of what is happening in labs and discussions.

  • Lab Sections: Labs will be held synchronously and are the primary place you will learn to program. Note that you are required to complete all labs with a partner, and partner-matching threads have been added to our EdStem Forum. While lab attendance is not mandatory, you will need to attend lab or office hours to get credit for them. To earn full credit for a lab, it must be completed, submitted, and checked off. Checkoffs are to be completed synchronously either in lab or in staff office hours. If you have a special circumstance where you are unable to check off a lab, you may ask for an extension using our extension form (see the Extensions Requests section). Each lab will (usually) be due by the end of the following lab day, and you can reference the calendar on the CS10 home page to reference the deadlines of all labs. There will be 17 total labs — but only your top 15 lab scores will count towards your grade (i.e. you get two lab drops). Each lab is worth 2 points. Half a point will be deducted for each day that a lab is checked off late; however, a maximum of 1 point will be deducted for any given lab. You should plan on attending the lab you sign up for the entire term, but you may attend other lab sections or office hours to get checked off or get extra help.

  • Discussion Sections: Discussion sections are where you will delve into the content more deeply with worksheets in traditional “pen-and-paper” style. This is where you will develop the theoretical computational skills needed to understand the basics of programming. While we strongly encourage students to attend Discussions in-person, we will post recordings for students who can not attend some sections.

  • Office Hours: During office hours, you can meet with a TA for help with course material, assignments, or bigger picture questions.

  • Instructor Office Hours: Professor Garcia will be hosting Instructor office hours, which you may attend for more conceptual help or to discuss anything you like (e.g. career/major advice or how you’re doing in the class) within reason.

  • Reading Quizzes: Reading Quizzes are an opportunity for you to explore topics relevant to course content outside of the material presented in class. The readings are also meant to bring awareness to the social implications of computing across the globe, and get you to observe and analyze the ways in which computer science plays fundamental roles in varying aspects. Readings will be posted on the Readings Tab of the course website, and will be due every Friday at 11:59 PM PST. Of the 11 Reading Quizzes, you will get one drop, and each Reading Quiz is worth two points.

  • Projects: These assignments will be one of the best ways for you to apply what you have learned in lecture, lab and discussion. These will be a bit more time intensive than the other assignments and will require you to be caught up on the components of the course.

  • Project Parties: These will serve as specialized office hours where you will be able to come work and get help on whatever project is currently assigned. We strongly encourage you to attend project parties as they will help you finish your assignments on time.

Grading Breakdown

Midterm (With Snap!)15
Midterm (Without Snap!)65
Project 1: Wordle™-lite10
Project 2: Wordle™20
Project 3: 204830
Project 4: Explore40
Project 5: Python50
Final Project80
Reading Quizzes20

Total: 500 Points

Letter GradeRange

Pro-Student Course Policies

Exam Policy

There will be three exams: The Quest, the Midterm and the Postterm Exam. Exams will be take-home and will be conducted online on PrairieLearn. If an emergency comes up close to the exam and you need accommodations, email cs10@ ASAP. Exam logistics and the specific times that exams will be opened, will be sent out in more detail closer to the date of each exam.

  • Absolute-Clobber Policy: Every exam score can be clobbered by a future exam. If your percentage score on the Midterm is better than your percentage score on the Quest, then we will replace your Quest score with your percentage score on the Midterm. Similarly, the Postterm exam score can be used to clobber both the Midterm and the Quest.

DSP Accommodations

If you have a DSP accommodation through the university that is not addressed by the above policies, please be sure to submit your official letter through the DSP portal. Once you have done so, we will be able to accommodate you. If you have an accommodation but are unable to promptly submit the letter for whatever reason, please reach out to cs10@.

Extension Requests

We understand that circumstances may arise that may cause you to not be able to meet assignment deadlines. For extension requests on LABS, please use this LAB regular extension requests form to request extensions on deadlines for any labs. The policy for regular extension requests on labs are as follows:

  • A regular extension request will grant you an extra lab section in order to complete the lab assignment. For instance, if the lab is due on a Tuesday, then the extension request will make the lab due on a Thursday instead.

For extension requests on PROJECTS, please use this PROJECT regular extension requests form to request extensions on deadlines for any projects. The policy for regular extension requests on projects are as follows:

  • A regular extension request will grant that your submission deadline for the project be extended to the deadline of the next project. For instance, if you request an extension for Project 1, your new deadline for submitting Project 1 will be the same day that Project 2 is due.

Extension requests are automatically approved after submission of the form, and you may use as many extension requests as you wish throughout the semester. However, you can only use one regular extension request for a single assignment. If you require extra time for an assignment you already submitted a regular extension request for, you must submit the exceptional circumstances form (see next section).

NOTE: If you added the course late, please use your updated deadline as the ‘original due date’.

Important: While extensions may not be visible on PrairieLearn/Gradescope (a.k.a your assignments may be marked as ‘Late’), they will be factored in when we compute your final grade.

Exceptional and Extenuating Circumstances

For emergency situations that require extra time for LABS that a regular extension request cannot resolve, please fill out the LAB emergency extension requests form. After filling out the LAB emergency form, you MUST speak with your TA in section in order for your request to be considered.

For projects please fill out this PROJECT emergency extension requests form instead. The extensions granted for such circumstances are double the time allotted for regular extension requests. (This means two extra lab sections for labs, and project n will get extended to be due on the deadline of project n+2. For projects such that n + 2 > 6 (a.k.a Projects 5 and 6), we will personally work out a deadline for submission and/or discuss options of taking an Incomplete.)

All students are only allowed one free submission of these forms throughout the semester. After submission, your case will be considered and either approved/denied. You will then have to schedule a conversation with a staff member and/or the CS 10 Course Manager (if the latter, the CS 10 Course Manager will contact you.)

However, we understand that there may be circumstances that will cause you to need this form more than once. If that’s the case, you must reach out to your Lab TA and/or email cs10@ to address your case. We cannot guarantee that your request will be granted. Feel free to reach out if you feel that your case was not rightfully addressed. At the end of the day, we’re here to help you succeed in our course.

Late Submissions

Late submissions for all assignments in this course will not be considered, and will all be awarded zero credit. If you anticipate a late submission, please utilize the extension requests form and/or the extenuating circumstances form depending on your situation.

Academic Integrity

Let’s get honest about being honest. It is truly a disappointment to catch students cheating. All we really want is for you to learn the material and if the class is stressful enough that you feel the need to cheat, we have failed as instructors. If you are feeling stressed out in the course, please tell us. We will do what we can to help you.

Maintaining academic integrity is a crucial part of your learning experience, as cheating prevents us as instructors from understanding where our model of instruction isn’t working. We understand that academics can be stressful and that it might be tempting to cheat; however, there are ways to meet your goals that don’t require academically dishonest means. Here, we will lay out our academic integrity policies and some good practices that will help you avoid academic dishonesty and improve your overall mastery of the material.

What constitutes cheating?

  • Copying part or all of another student’s project code with the exception of your partner(s) assuming that the project you are working on allows for partnered work. This includes students from previous semesters (we still have their code and will know if you do this).
  • Sharing or receiving the exact steps used to solve a project problem (even if code is not explicitly sent).
  • Copying part or all of another student’s exam answers.
  • Collaborating with another student when taking the quest, midterm, or Post-term exams by receiving or giving assistance of any kind.
  • Copying code from online sources without crediting them

What constitutes collaboration?

  • Asking instead of telling. If you’re working with your friends and one of them is stuck on a part of an assignment, try to ask them guiding questions instead of telling them the answer.
  • Keeping things conceptual! It’s more beneficial to your learning if you come up with a solution yourself, rather than having it told to you. This also applies if you are helping someone else. We highly encourage collaboration, so let’s define what that means. Discussing approaches to problems is fine (in fact, we actively encourage it), as long as you eventually arrive at a good enough understanding of the problem that you are able to code the solution completely by yourself. You should not allow concerns about cheating to get in the way of discussing the class material with your classmates. It is okay if you have received some help with ideas along the way (but not a fully worked out solution).* *This policy was adapted from Professor Alistair Sinclair’s policy for CS 172.

What happens if you cheat? We will set up a meeting with you to discuss the situation and determine the consequences.

Diversity and Inclusion Statement

We recognize that computer science is a demographically skewed field in the United States, and that even at Berkeley, minoritized students can find themselves feeling alone. It is our goal in this course to deliver an equitable learning experience for everyone involved. Concretely, this means a few things:

  • In addition to teaching the technical skills necessary for programming, we will also teach the social implications of computer science. In doing so, we will directly address the contributions of underrepresented groups to the field, which are often overlooked.
  • We will do our absolute best to show you that while bias, discrimination, and judgment still exist, they should not stand in the way of you learning computer science. While acknowledging the struggles many students may face, we also hope to show that computer science is a field anyone can be successful in (in other words, there is no innate “talent” or “trait” required to understand computer science). Of course, different people have different opportunities, but one of the goals of CS10 is to equalize the playing field.
  • Discrimination or disrespect on the basis of race, ethnicity, religion, socioeconomic status, ability, gender, or sexual orientation will be tolerated under no circumstances. Should someone make you feel uncomfortable or disrespected in any way, please let the instructor/Head TA know immediately via email (cs10@) or by coming to office hours. You can also fill out the EECS Incident Reporting Form.

Academic Accommodations Hub

Here’s a link to the Academic Accommodations Hub.

EECS Student Climate & Incident Reporting Form

It is very important to the EECS Department that every student in the EECS community feels safe, respected and welcome. We recognize though that incidents happen, sometimes unintentionally, that run counter to that goal. The EECS department provides a secure and anonymous form that can be used to report incidents including (but not limited to) of microaggressions, discrimination, marginalizing / alienating behaviour, etc.