Link Search Menu Expand Document

Syllabus

Table of contents

  1. Preface
  2. Welcome
  3. Platforms
  4. Primary Course Components
    1. Lecture
    2. Lab Sections
    3. Discussion Sections
    4. Office Hours (OH)
      1. General OH
      2. Support OH
      3. Instructor OH
    5. Projects
  5. Exams
    1. Exam Schedule
    2. Exam Clobber Policy
    3. Exam Retake Policy
  6. Projects and Deadlines
    1. Project-Party Schedule
  7. Grading
    1. General Grading Breakdown — Percentages
    2. Specific Grading Breakdown — Points
    3. Grading Bins
  8. DSP Accommodations
  9. Extension Requests
  10. Lateness Penalties
  11. Academic Integrity
  12. Diversity and Inclusion Statement
  13. Academic Accommodations Hub
  14. EECS Student Climate & Incident Reporting Form

Preface

All times below are in PST. Please add “berkeley.edu” at the end of all emails.

Welcome

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 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 Summer, CS10 is required to run fully in-person. Consequently, remote (or hybrid) students can not be supported.

  • 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.
  • Ed Discussion: This will be our main Q&A platform, where you can ask (and answer) questions, see announcements, and read Weekly Blasts. Click the Ed Discussion tab on the left to navigate to Ed Discussion.
  • Gradescope: This is where you will submit most assignments (Projects 1 through 3, labs, discussion worksheets, lecture quizzes, etc.). Click the Gradescope tab on the left to open Gradescope.
  • Bcourses: Lecture recordings can be found on Bcourses. Click the Lecture Recordings tab on the left to navigate to the recordings. You’ll need to login with your Berkeley email to access them.
  • PrairieLearn: Project-4, Pyturis, will be submitted via PrairieLearn. A setup guide can be found here.
  • iClicker: You are required to create a free iClicker account and download the free iClicker app. Then, you should aready be enrolled in CS10. To get credit for attending lecture, please open the app once you’re seated in the lecture hall and mark your attendance. If for some reason you are not enrolled, use this join link.

Primary Course Components

Lecture

Lectures aim to introduce concepts and provide a “big-picture view” of material from a theoretical standpoint. Most lectures will be live and in person. However, some lecture will be pre-recorded, which you can watch on your free time, and there will be an assignment that corresponds to it to test your conceptual understanding. Attendance for these days will be through the “Lecture Quiz” solely (and no iClicker is needed for those days).

Lectures will be live and in-person in Physics Building (Physics-3) Mon-Th, 10 - 11AM. They will be recorded, and recordings will be posted on the website after class. Attendance is required, and credit for attending will be through the iClicker app. If you cannot attend lecture, you will need to complete the corresponding “Lecture Quiz” on Gradescope for attendance credit. The corresponding lecture quiz will be due on Gradescope the day of the following lecture at 2359hrs. On this quiz, we will ask questions about lecture content. No extensions are provided on these quizzes.

Your lowest 3 lecture-quiz scores will be automatically dropped — so you can miss up to 3 lectures (or skip 3 quizzes) 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 3 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 SDH-200. You must attend the lab section you signed up for in CalCentral.

Lab assignments will be submitted to Gradescope. There will be two assignments for each lab: 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 (which are held in SDH-200), 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 18 graded labs (there’s no submission or credit for lab-1), and your lowest 2 lab scores will be dropped.

Attendance to lab sections are required and part of your grade. There will be no make-up options for lab attendance. You can miss up to 5 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 5 lab sections (like prolonged sickness, family emergencies, etc.) then you should visit Support OH. Please note, the 5 “skip days” for lab sections only applies to attendance. You are still required to complete and submit the lab assignment.

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.

Attendance (in-person) is required as part of your grade and will be tracked; you will fill out a Google Form with a password to receive credit. Discussion will be located in Soda 320. You must attend the discussion section you signed up for in CalCentral.

You don’t have to submit any work for discussions (besides filling out the attendance form). You can miss up-to 2 out of 13 discussion sections without penalty (you don’t need to tell us that you’re missing class). Please reserve these drops for unexpected emergencies / sickness / … If there are circumstances which cause you to miss more than 2 discussions (like prolonged sickness, family emergencies, etc.) then you should email your Discussion-TA and they’ll discuss other options.

To makeup attendance for a missed discussion, you will need to complete and submit the discussion worksheet. You must complete the entire worksheet to receive credit. The discussion worksheets are located on the website, and you will submit them to Gradescope. You can submit the worksheet in any format, i.e. handwritten, electronically written, typed, etc. Again, submitting a worksheet is only required for those you are making up a missed attendance.



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 bellow. The times and locations for all OH are all posted under the ‘daily schedule’ tab on the course website. You don’t need to email / obtain an appointment. You can attend any and all OH that work for you (i.e. you don’t just have to attend your TA’s OH.)

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 SDH-200

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

Instructor OH

Victoria will be hosting OH on Mondays and Wednesdays from 6 to 7 PM. Andrew will be hosting OH on Tuesdays and Thursdays from 4 to 5 PM. Both of these OH will be in Soda-777. These OH are designed 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) and/or debugging, you should attend General 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 components of the course.

  • There will be 3 Snap! projects, 1 Python project, and 1 project wherein you can use a language of your choice 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.

Exams

Exams: There will be two exams (Midterm and Final). Both the Midterm and the Final will have one additional retake. The retakes are optional and intended for those you either missed the original date or those who did not like their score and would like to restest their knowledge. The concepts in the retakes will be similar, but the retakes will not be the same exam as the originals. If you take both the original and the retake, we will ONLY apply your highest score from that exam. Please note, a higher Midterm score cannot replace a Final score.

All exams will be proctored and be given electronically. Exams will be held in-person, on-campus, at these times only. No alternate / remote exams will be offered other than the retakes. If you miss an exam, you’ll receive a zero. If there was an emergency, please email the instructors (jedi_force@ and rothmana@) and cc cs10@. It is your responsibility to find the exam rooms. It might help to visit the rooms a day in advance (you could use Google Maps to find these locations.)

More logistics for the exam will be released closer to the exam date. The best way to prepare is to utilize the practice exams posted under resources. Exam review sessions will also be conducted and details will be posted on Edstem closer to the exams. To ask questions about past exams, you’re welcome to visit the instructors’ OH. The Summer 2023 exam will likely be slightly more reflective of our exam in format / style of problems, though difficulty and question-types may vary nonetheless.

Exam Schedule

MidtermFRI 7/12, 1-4 PM
Midterm RetakeFRI 7/19, 1-4 PM
FinalTHU 8/8, 1-7 PM
Final RetakeSAT 8/10, 1-7 PM

Exam Clobber Policy

If your percentage score on the final is higher than your percentage score on the midterm, then we will clobber (replace) your percentage score on the midterm with your percentage score on the final. The clobber can never hurt your grade: if you score lower, no replacement will be done.

Exam Retake Policy

For both the midterm and final, there is a retake. The retake is designed for you to take the exam again if you did not perform as well as you liked on the original. The retake is also designed for those you who could not attend the original exam. Only the highest score will count towards your grade for that Midterm or Final. We will not reschedule retakes. If you miss both the Midterm and Midterm Retake, then the Final will count towards the Midterm grade as well. If you miss the retakes and the original exams for both the Midterm and the Final, then you will receive a ‘0’ for both exams.

Projects and Deadlines

ProjectSubmission Deadline
Project 1: Wordle™-liteMON 6/24 on Gradescope
Project 2: Spelling-BeeMON 7/01 on Gradescope
Project 3: 2048WED 7/10 on Gradescope
Project 4: PyturisMON 7/29 on PrairieLearn
Final Project ProposalsFRI 7/26 on Gradescope
Final ProjectMON 8/05 on Gradescope

All deadlines are at 2359 hrs (11:59:00 PM.)

  • Project Parties: These will serve as specialized OH wherein you’ll be able to work with your peers (within the limits of our collaboration policies) and seek assistance from course-staff on whatever project is currently assigned. We strongly encourage you to attend project parties as they will help you finish your assignments on time. Project Parties will run on Mondays (6-9PM) and Fridays (6/23) on most weeks. Here’s a detailed schedule:

Project-Party Schedule

WeekDateTimeLocation
Week-1FRI 6/212-6PMSDH-200
Week-2FRI 6/282-6PMSDH-200
Week-4MON 7/1011AM-3PMSDH-200
Week-7MON 7/2911AM-3PMSDH-200
Week-8MON 8/0711AM-3PMSDH-200

The SDH-200 refers to Sutardja Dai Hall 200.

Grading

General Grading Breakdown — Percentages

ComponentPercentage Weighting
Attendance / Participation5%
Labs20%
Midterm Exam15%
Projects35%
Final Exam25%

Specific Grading Breakdown — Points

ComponentPoints
Midterm75
Final125
Project 1: Wordle™-lite10
Project 2: Spelling-Bee25
Project 3: 204835
Project 4: Pyturis45
Final Project60
Labs100
Attendance / Participation25

Total: 500 Points

Grading Bins

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

‘A+’ grades will be awarded at the instructors’ discretion in cases of exceptional performance.

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.

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 Victoria jedi_force@.

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)

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 extension requests form. The policy for extension requests on labs are as follows:

  • An extension request will grant you an extra lab section in order to complete the lab assignment without any lateness penalties. For instance, if you ask for an extension on lab-12, which is generally due on the day that lab-13 is scheduled, then it will now be due the day that lab-14 is scheduled.

For extension requests on PROJECTS, please use this PROJECT extension requests form. The policy for extension requests on projects are as follows:

  • An extension request will automatically extend your submission deadline by 72 hours without any lateness penalties. For instance, if a project is due by Monday at midnight, then the project will now be due by Thursday at midnight.

Extension requests are automatically approved after submission of the forms, and you may use as many extension requests as you wish throughout the semester. However, you can only use one extension request for a single assignment. We don’t expect to grant extensions beyond 1 lab section for a lab, and beyond 72 hours for a project. If you have extenuating circumstances, you MUST attend Support Office Hours to get an additional extension on the same assignment.

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, as noted above, is the day that the next lab is scheduled, at 2359 hrs; for projects, it’s 72h after the original deadline.

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.

Lateness Penalties

Any labs or projects that are submitted late will receive half-credit, regardless of how late the submission is. For 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 form. If there are extenuating circumstances, please email cs10@.

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

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 s 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 instructors know immediately via email (jedi_force@ and rothmana@) or by attending Instructor OH. You may 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 Incident Reporting Form that can be used to report incidents including (but not limited to) microaggressions, discrimination, marginalizing / alienating behaviour, etc.