- Primary Course Components
- Grading Breakdown
- Pro-Student Grading Policies
- Exam Policy
- DSP Accommodations
- Academic Integrity
- Diversity and Inclusion Statement
Welcome to CS10: The Beauty and Joy of Computing! We’re really excited to have you on board with us this Fall for a gentle but thorough introduction to computer science. Our course will start out in the blocks-based language Snap!, but will transition into Python once you have learned the basic concepts of programming. By the end of the class, we hope you 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 Fall, CS10 will be be primarily in person, but will also be delivered in a hybrid format for those of you who cannot attend in person. We will make use of the following platforms:
- Course Website: The day-to-day happenings of the course (and links to all the platforms below) can be found at cs10.org.
- Ed: This will be our main Q&A platform, where you can ask questions, see announcements, and participate in our meme contest (yes, a meme contest). What’s more, by asking and answering questions, you also get a chance to earn some extra EPA points (more on that later)!
- Gradescope: This is where you will submit assignments and reading quizzes.
- Prairie Learn: This is where you will take exams (even in-person students).
- Zoom: Live sessions, discussion sections will be held via Zoom.
- Discord: Online lab sections and office hours will be held via Discord.
Lecture: Lecture will be live and in person in Stanley 106. However, the number of seats is greatly exceeded by the number of students. As a result, you MUST SIGN UP IN ADVANCE to attend lecture. A signup sheet for lecture will be created and emailed out each week. There will be a live Zoom webcast of the in-person lecture. Lecture recordings will also be posted on cs10.org after class.
Lab Sections: Labs will be held synchronously and are the primary place you will learn to program. Six out of eight labs will be in person, and the remaining two will be online. Attendance is not mandatory, though you can gain “pacing points” by attending (see below under grades). To earn full credit for a lab, it must be completed, submitted, and checked off. Checkoff can be done either in lab or in office hours. If you have a special circumstance where you are unable to check-off a lab, please contact your check-in TA (see below). Each lab will be due at the end of the following lab day. For example, if you have signed up for a Mon/Wed lab, labs released on Monday will be due end of day on Wednesday and labs released on Wednesday will be due end of day on the following Monday. This works analogously for a Tue/Thu lab section. There will be at least 18 total labs — but only your top 16 lab scores will count towards your grade. Each lab is worth 2.5 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.
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. Attendance is not required, but you can earn pacing points (see below) by attending.
Weekly Surveys: Every week there is a short mandatory survey. Each survey is worth one point and we will drop your lowest 4 surveys.
Reading Quizzes: Reading Quizzes will be based on the readings on cs10.org and will be due each Friday at 11:59pm PT on Gradescope. There will be 12 reading quizzes, and we will only keep your 8 best reading quiz scores, dropping the rest. Reading quizzes will be open-note, handwritten or typed is fine. These will be done asynchronously, NO LONGER in-lab.
Office Hours: During office hours, you can meet with a TA or Josh for help with course material, assignments, or bigger picture questions.
|Project 1: Wordmatch||10|
|Project 2: Mastermind||20|
|Project 3: 2048||30|
|Project 4: Explore||40|
|Project 5: Pytris||50|
|Project 6: Your Choice||75|
|Post Lecture Questions||15 (Free Points!)|
Total: 500 Points
Attendance of discussions, labs, and check-ins can earn you up to 20 pacing points, one for each session that you attend. Pacing points will boost your grade up to a maximum of 449 points. For example, if you earn 385 points and 20 pacing points, your score will be 405 points. However, if your score is 438 points and you earn 16 pacing points, your score will be capped at 449.
You will report your own attendance on the weekly surveys, i.e. pacing points will be determined by weekly survey responses, not through manually collected attendance.
- Absolute-Clobber Policy: If your final exam score is higher than your midterm score, we will replace your midterm score with your final exam score. For example, if you receive a 70% on the midterm but an 85% on the final, at the end of the semester your midterm score will also be upgraded to 85%. For reference: Clobber policies in later CS courses tend to be based on your performance relative to the mean. However in CS10, it is based on your absolute score.
- Slip Days: Each student will receive 6 slip days, to be used for projects. Each slip day allows you to extend the deadline period by one day with no penalty. For example, if a project is due Friday at 11:59 PM PT, you may turn it in without penalty up until Saturday at 11:59 PM PT by using one slip day. Note: You can use a maximum of two slip days per project.
- Late Submissions: Late submissions for projects will be handled on a case-by-case basis. If you are out of slip days for a project but cannot make a deadline, please contact your check-in TA prior to the due date to figure out an extension. If you do not reach out to anyone in advance, we reserve the right to mark the submission down by 10% for each day that it is late.
There will be three exams: The Quest, the Midterm and the Final Exam. Exams will be held online. Tentative dates are September 14th for the Quest, and October 19th for the Midterm. Exams will be taken using the Prairie Learn platform. Online exams will be proctored. Details on how to use Prairie Learn and how exams will be proctored will be announced later. You will be able to start the Quest and Midterm exams at any time on the exam date, and will have a maximum of two hours to finish. The final exam will be on Monday, 12/13 from 8am-11am, though an alternate time will be provided for people with conflicts or in time zones where the official final exam time is unreasonable.
For students who want to take exams in-person with TAs present, we will have rooms booked, though you will need to bring your own laptop with you to take the exam.
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 email@example.com.
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). 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 midterm or final exams by receiving or giving assistance of any kind.
- Copying code from online sources without crediting them
- On the Explore Project, using or paraphrasing someone else’s words without crediting them. Coding is difficult to learn, and when you do any of the above, you rob yourself and others of learning how to approach difficult programming problems, an essential skill for future classes. If you are unsure about whether or not something constitutes cheating, please confirm with Josh or a TA.
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.
Additional Note: Many high school and college courses encourage students to anonymously or non-anonymously report other students for cheating in order to discourage academic dishonesty. Regardless of what you may have experienced before, we will never expect you to do this — we do not want to put you in a difficult position and frankly, we think there are more important things than academic dishonesty.
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 Josh know immediately via email or by coming to office hours. You can also fill out the EECS Incident Reporting Form.