- Primary Course Components
- Grading Breakdown
- Pro-Student Grading Policies
- Exam Policy
- DSP Accommodations
- Attendance & Lecture Questions
- 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 Summer 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 some fundamentals 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 Summer, 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 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).
- Gradescope: This is where you will submit homeworks, the Final Project, and lecture self-checks.
- Zoom: Lectures (when remote) will be held via Zoom.
- OhYay: Online lab sections and office hours will be held via Ohyay. Ohyay is a new tool which lets us build some interactive spaces.
Lecture: Lecture will be live and in person in HP Auditorium (306 Soda Hall). Lecture recordings will also be posted on cs10.org after class. Lecture introduces concepts and gives you and overview of what is happening in labs and discussions. Each lecture will be followed with self-check questions which you can answer online via Gradescope. Self-checks will be very short assignments that shouldn’t take you more than 10-15 minutes. Each one will be due at 11:59pm the day after its corresponding lecture, giving you a little over 24 hours to complete them. These are mainly there to ensure you are understanding at a basic level what is being taught in lecture and to help you stay caught up in the class. There will be 24 total self-checks, but only your top 20 will be counted toward your grade (e.g. you get 4 lecture self-check drops).
Lab Sections: Labs will be held synchronously and are the primary place you will learn to program. Attendance is not mandatory, though we highly recommend you attend each one and get your labs checked off before the start of the next lab section. 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 email email@example.com. Each lab will be due by the end of the following lab day (a lab assigned at the beginning of Monday’s lab will be due by the end of Tuesday). Thursday labs will be due by the end of the following Monday. There will be 17 total labs — but only your top 16 lab scores will count towards your grade (e.g. you get one lab drop). 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. You should plan on attending the lab you sign up for the entire term, but you may attend other lab sections 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. You will receive credit for attending discussion by filling out a form each time. There will be a total of 11 discussions, but you may attend 10 to receive full credit (e.g. you have one discussion attendance drop). If you have express permission, you will be able to receive these points remotely and asynchronously.
Office Hours: During office hours, you can meet with a TA for help with course material, assignments, or bigger picture questions.
Instructor Office Hours: Maddie and Deeksha will be holding instructor OH 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.
Homework and Final Project Description: 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 other components of the class. Note that you may use 6 slip days (explained in more detail below) total this semester on assignments in this category.
Homework/Final Project Parties: Once a week or so, we will hold a Homework Party. These will serve as specialized office hours where you will be able to come work and get help on whatever homework is currently assigned. We strongly encourage you to attend these as they will help you finish your assignments on time.
|Midterm (In-Lab and Paper)||80|
|Homework 0: Introduce Yourself||5|
|Homework 1: Wordmatch||15|
|Homework 2: Mastermind||25|
|Homework 3: 2048||30|
|Homework 4: Python Translation||25|
|Homework 5: OOP||25|
Total: 470 Points
- Absolute-Clobber Policy: By the end of the semester, if your final exam percentage is higher than your midterm exam percentage, your midterm score will be replaced with your final exam percentage.
- Slip Days: Each student will receive 6 slip days, to be used for homeworks and the final project only. 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 three 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 us at firstname.lastname@example.org 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 two exams: the Midterm and the Final Exam. Exams will be primarily in-person (if you have express permission to take the exam remotely, you will be able to do so). If an emergency comes up close to the exam and you will need to take it remotely or you test positive for COVID-19, email email@example.com ASAP. The Midterm will take place on July 11th 6-8pm PST and the Final will take place August 10th 3-6pm PST. Remotely taken exams will be proctored. Exam logistics will be sent out in more detail closer to the date of each 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 firstname.lastname@example.org. Extension requests are TBD (if you would like to request an extension, email email@example.com for the time being.)
Each Monday and Wednesday we’ll take attendance in discussion section, and each lecture will be accompanised by a series of short “self-check” questions on Gradescope. Self-checks will be due at 11:59pm the day after the corresponding lecture is given. Each discussion attendance is worth 2 points and each self-lecture is worth 1 point.
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 midterm or final 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.
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 Madeleine or Deeksha know immediately via email or by coming to office hours. You can also fill out the EECS Incident Reporting Form.