Syllabus
Table of contents
- Preface
- Welcome
- Platforms
- Primary Course Components
- Projects and Deadlines
- Exams
- Exam Clobber Policy
- Grading
- Extension Requests
- Lateness Penalties
- DSP Accommodations
- Academic Integrity
- Diversity and Inclusion Statement
- Academic Accommodations Hub
- EECS Student Climate & Incident Reporting Form
Preface
All times below are in PST. If you have any questions, please make an EdStem post (rather than emailing) or come to office hours.
Welcome
Welcome to CS10: The Beauty and Joy of Computing!
Weâre really excited to have you on board with us this semester 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.
Platforms
This semester, CS10 will run fully in-person. Consequently, remote (or hybrid) students can not be supported. However, there are make-up options for lecture, lab, and discussion attendance.
- Course Website: The day-to-day happenings of the course (and links to all the platforms below) can be found at cs10.org. Consult the daily schedule to find the times/locations for all synchronous course engagements.
- Edstem: 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 in CS10. Click the
Ed Discussiontab on the left to navigate to Edstem. Here is the link to the EdStem - Gradescope: This is where you will submit Labs, Discussions, and Projects 1-4, and the Final Project. Click the
Gradescopetab on the left to open Edstem. Submission instructions can be found at the following: Gradescope. - bCourses: We will use bCourses solely for pre-recorded lecture videos. This semester follows a âflipped classroomâ format, i.e., you watch pre-recorded videos from Professor Dan Garcia before class, and we use lecture time for hands-on practice, which wonât be recorded. All videos are available on the bCourses site, and individual videos are also linked in the course schedule. Note that video numbering and titles may not match exactly. You must be logged into your Berkeley account to access them. Videos are located under the Media Gallery tab.
- Snap!: The programming language we will be using for more than half the semester. The website can be found here: Snap!
Primary Course Components
Lecture
CS10 this semester follows a flipped classroom format. Before each class session, you are expected to watch pre-recorded lecture videos from Professor Dan Garcia, which are available on bCourses and linked in the course schedule. Live class time in Cory 540AB Monday through Thursday from 4:00â5:00 PM is used for hands-on practice and will not be recorded.
Attendance is required, and credit for attending will be through a Google Form Check In.
You can miss up to 5 lectures without penalty, and you donât need to inform us when you miss class. These drops are not intended to be âfree-passesâ to skip lectures: please reserve them for unexpected emergencies / sickness / ⌠since missing out on content will only disrupt your learning. If there are extenuating circumstances which cause you to miss more than 5 lectures (like prolonged sickness, family emergencies, etc.) then you should visit Support OH.
Lab Sections
Labs will be held synchronously and are the primary place you will learn to program. Note that you are strongly recommended to complete all labs with a partner, and that partner-matching threads have been added to our Edstem Forum. On the first day of lab, Teaching Assistants (TAs) will help you find a partner in your assigned lab section. Labs will be located in Cory 540AB.
Lab assignments will be submitted to Gradescope. There will be two assignments for each lab (unless specified): one wherein youâll submit the code you wrote, and one with conceptual checkoff problems. If you get a full score on both Gradescope assignments, you will get credit for that lab. Labs are graded on an all-or-nothing basis, which means if you donât get a full score on either (or both) of the two assignments, then you wonât get credit for that lab. In our lab sections, TAs and Tutors will be available to help you with the problems.
Lab X will be due the day that Lab X+1 is scheduled, at midnight. That is, each lab is due at midnight on the day that the next lab is released. For example, if Lab-12 is scheduled on Tuesday, and Lab-13 is scheduled on Wednesday, then Lab-12 will be due at midnight on Wednesday. There will be ~24 graded labs (thereâs no submission or credit for lab-0), and your lowest 2 lab scores will be dropped. The number of graded labs is subject to change.
Attendance to lab sections are required and part of your grade. You can miss up to 3 lab sections without penalty so you do not need to inform us when you cannot attend lab. If there are extenuating circumstances which cause you to miss more than 3 lab sections (like prolonged sickness, family emergencies, etc.) then you should visit Support OH. Please note, the 3 âskip daysâ for lab sections only applies to attendance (although you do have 2 lab drops). You are still required to complete and submit the lab assignment. Lab attendance will be tracked through the same general Google Forms.
If you cannot attend a lab section, then the lab will be due before the start of the next lab. So if you either cannot regularly attend lab, or if you miss a day, the lab will be due a couple hours earlier. For example, if Lab X is due on Tuesday at 11:59 PM, but you did not attend lab in-person; then, the deadline for you to submit Lab X is Tuesday at 6 PM (the time before the next lab section). If you do so, this will not use one of your lab attendance drops.
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 and to prepare for our exams. Like all other sections, Discussion will be located in Cory 540AB.
Discussion attendance is mandatory. You can miss up to 3 discussion sections without penalty so you do not need to inform us when you cannot attend discussion. If there are extenuating circumstances which cause you to miss more than 3 discussion sections (like prolonged sickness, family emergencies, etc.) then you should visit Support OH. Discussion attendance will be tracked through the same general Google Forms. However, if you miss a discussion section, you can complete the discussion worksheet and submit it to Gradescope, under âDiscussion Xâ, by the day of the next discussion section at 11:59 PM in order to count for attendance. In other words, Discussion X worksheet is due on the day of Discussion X+1, at midnight. If you attended in person and filled out the attendance form, you DO NOT have to submit the worksheet.
From experience, weâve observed that students who regularly attend and pay attention in discussions tend to do better on exams.
Office Hours (OH)
There will be three kinds of OH, described below. Times and locations are listed under the Calendar tab on the course website. You may also add the CS10 Su26 Course Calendar to your Google Calendar for convenience. You donât need to email or make an appointment â you can attend any OH that works for you.
General OH
General OH is intended for any course and content related questions. Here, you can get help with your code, debugging, understanding something conceptually, getting started on assignments, etc. General OH will be located in Cory 540AB.
Support OH
These are intended for students to discuss their status in their class, catching up, discussing extenuating circumstances, requesting extensions, getting additional support, etc. Support OH is NOT for content related questions. So if you have questions about content, we will redirect you to General OH or Instructor OH. Please check out the calendar for locations and times.
Instructor OH
Della will be hosting Instructor OH (times TBD), which you may attend for more conceptual help (for instance, if youâre confused about some topic, or want to go over practice problems) or to discuss more general topics (e.g. college advice or how youâre doing in the class.) For help with specific assignments (labs and projects), you should attend Staff-OH.
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 course.
- There will be 3 Snap! projects, 1 research-based project, and 1 project wherein you can use a language of your choice (Snap! or Python) to build something of your choice. The number of points per project is listed in the Grading Breakdown. Project specs will be released on the website and on Edstem, and you should always read them before starting to work on a project.
Projects and Deadlines
| Project | Submission Deadline |
|---|---|
| Project 1: Wordleâ˘-lite | Mon 6/29 |
| Project 2: Spelling Bee | Wed 7/8 |
| Project 3: 2048 | Mon 7/20 |
| Project 4: Tech in Context | Mon 8/3 |
| Project 4: Presentations | Tue 8/4 (in Discussion) |
| Project 4: Feedback + Comments | Fri 8/7 |
| Project 5: Final Project Proposals | Mon 8/3 |
| Project 5: Final Project | Thu 8/13 |
All deadlines are at 11:59PM.
Project Parties: These are specialized, ad hoc office hours where you can collaborate with your peers (within the limits of our policies) and get help from course staff on projects. We strongly encourage you to attend, as Project Parties are a great way to stay on track and complete your assignments on time.
Dates and locations will be posted on the daily schedule and announced in the weekly blast.
Exams
There will be three quizzes (each quiz is cumulative):
- Quiz 1
- Quiz 2
- Quiz 3
| Exam | When |
|---|---|
| Quiz 1 | Thu 7/2 in Cory 540AB 4â7 PM |
| Quiz 1 Retake | Fri 7/10 in Cory 540AB 3â6 PM |
| Quiz 2 | Fri 7/17 in Cory 540AB 2â6 PM |
| Quiz 2 Retake | Fri 7/24 in Cory 540AB 2â6 PM |
| Quiz 3 | Fri 8/7 in Cory 540AB 2â6 PM |
| Quiz 3 Retake | Wed 8/12 in Cory 540AB 2â6 PM |
The second chance quizzes (a.k.a., âretakesâ) are designed for you to demonstrate your understanding of the material without all the pressure riding on one exam.
Donât be intimidated by the long exam window â quizzes are designed to be completed well within the allotted time. You are welcome to use the full duration, but most students finish early.
If you are an incomplete student, Quiz 1 maps to the Quest, Quiz 2 maps to the midterm, and Quiz 3 maps to the postterm. You may not take the second chance quiz if you are an incomplete student.
Exam Clobber Policy
If your percentage score on a latter exam is higher than your percentage score on a prior exam, then weâll replace your percentage score on the prior exam(s) with the percentage score on the latter exam. The clobber can never hurt your grade: if you score lower, no replacement will be done.
For example, if you get a full score on Quiz 3, you also get a full score on Quiz 1 and Quiz 2!
Grading
General Grading Breakdown â Percentages
| Component | Percentage Weighting |
|---|---|
| Attendance / Participation | 10% |
| Labs | 15% |
| Projects | 35% |
| Quiz 1 | 10% |
| Quiz 2 | 15% |
| Quiz 3 | 15% |
Specific Grading Breakdown â Points
Note: Each lab is worth 2 raw points (1 for the conceptual portion and 1 for the code portion), unless otherwise specified. Your raw points will not add up to 60; they will be scaled so that your total lab grade counts for 60 points.
| Component | Points |
|---|---|
| Quiz 1 | 40 |
| Quiz 2 | 60 |
| Quiz 3 | 60 |
| Project 1: Wordleâ˘-lite | 10 |
| Project 2: Spelling Bee | 25 |
| Project 3: 2048 | 30 |
| Project 4: Tech in Context | 15 |
| Final Project | 60 |
| Labs | 60 |
| Attendance / Participation | 40 |
Total: 400 Points
Grading Bins
| Letter Grade | Range |
|---|---|
| A+ | 390â400 |
| A | 370â390 |
| A- | 360â370 |
| B+ | 350â360 |
| B | 330â350 |
| B- | 320â330 |
| C+ | 310â320 |
| C | 300â310 |
| C- | 290â300 |
| D | 250â290 |
| F | 0â250 |
Your total points will be rounded to the nearest integer when we compute letter grades. 0.5 will round to 1, but 0.49 will round to 0. We will not shift the bins / curve the class / ooch or round your grade beyond the listed rounding scheme, so please donât ask.
Extension Requests
For all extension requests on any assignment, please use the Extension Request Form.
Youâre also allowed to retroactively obtain extensions without penalty: i.e., you can obtain an extension even after the deadline of a lab/project, but not after the extended deadline for that assignment. The extended deadline for labs is 24 hours after the original deadline; for projects, itâs 48 hours after the original deadline.
NOTE: If you added the course late, please use your updated deadline as the âoriginal due dateâ.
Important: Extensions are AUTO-approved upon form submission. You will receive a confirmation copy and may begin working immediately. Your assignment submission may still appear as âLateâ on Gradescope, but extensions will be accounted for when computing your final grade. It is your responsibility to keep track of your own extensions.
Lab Extensions
We understand that circumstances may arise that may cause you to not be able to meet assignment deadlines.
The policy for extension requests on labs are as follows:
- An extension request gives you 24 additional hours to submit without any lateness penalty. For instance, if Lab 1 is normally due on Thu 6/25 at 11:59 PM, your new deadline with an extension is Fri 6/26 at 11:59 PM.
Project Extensions
The policy for project extension requests on projects are as follows:
- An extension request will automatically extend your project submission deadline by 48 hours without any lateness penalties. For instance, if a project is due by Monday at midnight, then the project will now be due by Wednesday at midnight.
Discussion Worksheet Extensions
- An extension request will automatically extend your discussion worksheet submission deadline. The new extended deadline for each discussion worksheet will be the day of second discussion after it is assigned, at 11:59 PM. For example, the Discussion 1 worksheet is now due on the day of Discussion 3 (Tue 6/30), at 11:59 PM.
Lateness Penalties
Any labs or projects that are submitted late will receive half-credit, regardless of how late the submission is. For the project-4 and the final project, late submissions may not be graded since our grading staff has limited availability. If you need an extension, please utilize the extension request forms.
If, after exhausting the initial extension, you still need more time â please visit us in Support-OH, wherein weâll help you come up with a plan to catch up! Lateness penalties only apply if you donât obtain an extension (by filling out the form or visiting Support-OH) and turn in work late.
DSP Accommodations
If you have a DSP accommodation through the university, 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 Della dbdastur@.
UC Berkeley is committed to creating a learning environment that meets the needs of its diverse student body including students with disabilities. If you anticipate or experience any barriers to learning in this course, please feel welcome to discuss your concerns with me.
If you have a disability, or think you may have a disability, you can work with the Disabled Studentsâ Program (DSP) to request an official accommodation. The Disabled Studentsâ Program (DSP) is the campus office responsible for authorizing disability-related academic accommodations, in cooperation with the students themselves and their instructors. You can find more information about DSP, including contact information and the application process here: dsp.berkeley.edu. If you have already been approved for accommodations through DSP, please meet with me so we can develop an implementation plan together.â
Students who need academic accommodations or have questions about their accommodations should contact DSP, located at 260 CĂŠsar ChĂĄvez Student Center. Students may call 642-0518 (voice), 642-6376 (TTY), or e-mail dsp@berkeley.edu(link sends e-mail)
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 as both current and former students, we understand that oftentimes, juggling various assignment deadlines while keeping up with material can be stressful. If you feel overwhelmed in this class, reach out! We are here to support you.
Here, we will lay out our academic integrity policies which can help you distinguish between cheating (prohibited) and collaboration (encouraged.)
Generative AI Policy
In this course, generative AI tools (e.g., ChatGPT, Copilot) are permitted solely as aids for enhancing your understanding of challenging concepts, but should not be used to produce answers, generate code, or verify solutions. Generative AI may only support conceptual growth, helping you explore topics that need further clarification.
Misuse of generative AI to obtain answers or complete assignments violates academic integrity and course standards, as all submitted work must reflect your own understanding and effort. This policy ensures AI serves as a tool for your learning without compromising the integrity of the course objectives and assessments.
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 exams by receiving or giving assistance of any kind.
- Copying code from online sources.
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 take cheating extremely seriously, and will almost always pursue the strictest consequences available to us. We have advanced cheating detection software, and will routinely run this to detect cheating. These are sophisticated tools that are pretty hard to fool- any attempts to obfuscate your code to avoid detection will likely fail, and instead may result in additional consequences.
Note that you will always have a chance to explain your actions before any action is taken. If you admit that you cheated, we will apply the necessary sanctions. If youâd like to meet with us to discuss your situation, weâll set up a meeting. Afterwards, if staff determines that you cheated and you donât agree with that decision, weâll proceed with a Student-Conduct Investigation.
What are the sanctions?
On projects / other assignments, the minimum penalty is negative points on that assignment alongside a referral to the Office of Student Conduct. For repeated / more egregious offences, we may grant a failing grade in the class.
On exams, we will be absolutely unforgiving. Any instance of cheating results in an immediate F in the class alongside a referral to the Office of Student Conduct.
If at any point in the academic-integrity process, a student lies or attempts to mislead course-staff âthereby wasting everyoneâs timeâ then in addition to the aforementioned sanctions, the instructor will write a recommendation for the studentâs dismissal and submit it to the Office of Student Conduct.
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 not be tolerated under any circumstances. Should someone make you feel uncomfortable or disrespected in any way, please let the instructor know immediately.
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 Incident Reporting Form that can be used to report incidents including (but not limited to) microaggressions, discrimination, marginalizing / alienating behaviour, etc.