- 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 summer for a gentle but thorough introduction to computer science. Our course will start out in the blocks-based language Snap!, but soon 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 summer, CS10 will be delivered online and 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 take exams.
- Zoom: Live sessions, discussion sections, and check-ins will be held via Zoom.
- Discord: Lab sections and office hours will be held via Discord.
- Lecture: The course lectures will be delivered asynchronously. We will deliver content through pre-recorded videos in order to implement a flipped classroom, where you are expected to watch the videos before attending live sessions. Each lecture will have an associated set of questions that is turned in for credit on Gradescope.
- Live Sessions: Although live sessions will be synchronous to simulate an in-person learning experience, and attendance will be required for the majority of students, separate arrangements can be made if you have a conflict or time zone issue. In live sessions, we will delve into the material more deeply and consider its broader applications to the field.
- Lab Sections: Labs will be held synchronously and are the primary place you will learn to program. Attendance is not mandatory, but you can earn EPA points by attending synchronously. Completing and submitting the lab assignment via live check-off is required (either in lab or at TA office hours); if you have a special circumstance where you are unable to do so, please contact your check-in TA. 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 are 13 total labs — your top 12 lab scores will count towards your grade. If you complete the additional lab, you will receive 1 extra credit point. Each lab is worth 5 points. Half a point will be deducted for each day that a lab is checked off late; however, a maximum of 2 points 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 is encouraged as you can earn EPA points.
- Check-Ins: Check-ins are short and mandatory weekly meetings you’ll have with your TA, where you can have a conversation with them about how you’re doing, how you’re feeling about the course, and anything else you’d like to talk about. We just want to make sure you’re doing well and feeling good about the course. These check-ins shouldn’t take more than 15 minutes and will be determined based on your availability. There will be 6 total check-ins, and you can miss one with no grade penalty.
Total: 410 Points
- 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%.
- 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, the submission will be marked down by 10% for each day that it is late.
EPA (Effort, Participation, Altruism): EPA is a form of extra credit that we award at the end of the semester. Essentially, every TA will have an opportunity to award students with up to 3 points in each category (one student can receive a maximum of 9 points). We will never disclose a student’s EPA score to them. You can earn EPA points as follows:
- Effort comes from the amount of work you put into the course. This is demonstrated through asking questions (whether live or in chat), attending office hours and project parties, and staying engaged with the course in general. To be clear, we will not simply favor students who have their cameras on and speak often; we recognize that there are many different ways to stay engaged.
- Participation includes attending discussions, labs, and live sessions (where attendance is not required).
- Altruism is demonstrated through helping your peers in lab, asking and answering questions on Ed, and any other work you put into furthering your classmates’ understanding of the material.
There will be one midterm and one final exam. If you receive below a certain percent (which will be determined by the exam distribution), you will have the option to raise your grade to that percentage as follows:
- We will not be releasing exam solutions immediately. Rather, we will grade your exam and inform you of which questions you completed incorrectly.
- You will have a period of time following the release of grades to reattempt the problems you completed incorrectly.
- During this time period, we will hold two “Exam Parties” via Discord. The “Exam Parties” will consist of separate rooms for each question where you may ask for help from course staff and work with other students. Each room will be monitored by a staff member.
- In order to qualify for an exam resubmission, you must have originally submitted an 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 Murtz and Kat.
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 Murtz and Kat.
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 has been and is a primarily male and Caucasian-dominated field. 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 Kat and Murtz know immediately via email or by coming to one-on-one office hours. You can also fill out the EECS Incident Reporting Form.