Link Search Menu Expand Document

Syllabus

Table of contents

  1. Welcome
  2. Platforms
  3. Primary Course Components
  4. Grading Breakdown
  5. Pro-Student Grading Policies
  6. Exam Policy
  7. DSP Accommodations
  8. Extension Requests
  9. Academic Integrity
  10. Diversity and Inclusion Statement
  11. Academic Accommodations Hub

Welcome

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 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.

Platforms

This Fall, 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 (and answer) questions, see announcements, and read weekly-blasts, which are required reading.
  • Gradescope: This is where you will submit Reading Quizzes, Projects 1-4, and the Final Project.
  • Youtube: Lectures will also be live streamed on Youtube, and lecture recordings will be uploaded to a Youtube playlist.
  • OhYay: Hybrid lab sections and office hours will be held via Ohyay. Ohyay is a new tool which lets us build some interactive spaces.
  • PrarieLearn: The three exams: Quest, Midterm, and Post-term will be administered via PrarieLearn. You will also submit Project 5 here.

Primary Course Components

  • Lecture: Lecture will be live and in person in HP Auditorium (306 Soda Hall). Lecture will also be live-cast and 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.

  • Lab Sections: Labs will be held synchronously and are the primary place you will learn to program. 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. Checkoff can be done synchronously either in lab or in 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 below). Each lab will be due by the end of the following lab day (labs assigned on Mon/Tue are due on Wed/Thu. Those assigned Wed/Thu are due on the next lab on Mon/Wed.) 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 also 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 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.

  • 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 other components of the class.

  • 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 these as they will help you finish your assignments on time.

Grading Breakdown

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

Total: 500 Points

Letter GradeRange
A+485-500
A460-484
A-450-459
B+440-449
B420-439
B-400-419
C+375-399
C360-374
C-350-359
D300-349
F0-299

Pro-Student Grading Policies

  • 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 Post-term exam score can be used to clobber both the midterm and the quest.

  • Late Submissions: Late submissions for projects will be handled on a case-by-case basis. If for some reason you cannot make a deadline, please fill out the extension form linked below. 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.

Exam Policy

There will be three exams: The Quest, the Midterm and the Post-term Exam. Exams will be take-home and will be conducted online on PrarieLearn. If an emergency comes up close to the exam and you need accommodations, email cs10@berkeley.edu ASAP. The Quest will be opened on September 12th and September 13th; the midterm will be opened from October17 - October 18, and the post-term will be open 12/3 - 12/5. 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.

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@berkeley.edu.

Extension Requests

Please use this extension request form to request extensions on deadlines for any assignments. NOTE: If you added the course late, please use your updated deadline as the ‘original due date’. Extensions will be reviewed approximately every two business days. Important: While extensions may not be visible on PrarieLearn / Gradescope (your assignments may be marked ‘late’), they will be factored in when we compute your final grade.

Extenuating Circumstances form This form is for any circumstances that can’t be resolved with extensions. Don’t be afraid to reach out! We’re here to help you succeed in our course.

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..