Problem Set and Quiz Guide


This page gives a high-level overview of the administrative details and logistics of CS111 problem sets and quizzes, including how your work is submitted and evaluated.

Typical weekly schedule

During a typical CS111 week, the problem set code submission is due at 11:59pm ET on Tuesday and the quiz will be due Friday at 6:00PM ET. Occasionally, holidays and weather may create deviations from our typical schedule.

Key takeaways:

See the details below for more specifics about the problem sets and quizzes.

Grading Philosophy

In CS111, we believe in both “growth mindset” and “mastery grading”. Growth mindset is the belief that individual attributes like talent can grow and develop through hard work, good strategies and constructive feedback. In contrast, a fixed mindset is the belief that human attributes such as intelligence cannot be changed. A growth mindset focuses on the incremental progress we all make as we learn new material.

Mastery grading is the teaching philosophy that articulates clear learning goals. Grading is based on the ability to master those goals. In CS111, we want to give students every opportunity to master the learning goals we set out for the course. Both quizzes and problem sets will have second or even third chance opportunities to complete learning goals. We want students to have the ability to continue to improve their knowledge of the material and to look at quizzes and problem sets as less of a judgement of their intellectual capacity and more as an opportunity to show the skills they have mastered.

For more information on both of these philosophies, please look at an article on mastery grading by Oscar Fernandez from Wellesley's math department.

Glossary of Terms

In the remainder of this document, we refer to several of the tools when describing the policies for both the quizzes and problem sets. Here is a list of those tools:

Problem Set Guide

Downloading Starter Code

Problem sets usually have starter code provided in a folder (for example, ps01). Students will download this code folder from the download folder in their cs111 folders in their personal accounts on the cs server. The first lab will cover how to access this code.

Problem Set Overview

There are 10 problem sets in CS111. Problem sets will be due on Tuesday at 11:59PM of each week typically and will come out the week before. Problem sets consist of a mixture of individual and partner tasks. Please read the policy on working with a partner.

Problem set scores will be available via the Potluck submission server shortly after the problem set is due. We will check whether your code works correctly, is properly documented, and is submitted to the server on time.

Each task within a problem set will come with a rubric that explains in detail how we will grade that task. The rubric has core goals and extra goals. The core goals are the concepts and tasks that we feel are most pivotal to your understanding of the problem set material. Extra goals are the concepts and tasks that provide additional learning and challenges beyond the basic material.

You can receive one of five scores on each task of each problem set:

After submitting your problem set on Tuesday and having feedback available on Wednesday morning, you will have the opportunity to review your work and resubmit any tasks from the problem set for up to 95% credit (i.e., successful completion of all core goals) by Friday at 11:59PM (potluck will show you your revision deadline). You cannot earn 100% if you resubmit your problem set, so the extra goals are not relevant after the initial deadline. However, you may resubmit multiple times during the revision period and view feedback on them immediately until you are satisfied with your resubmission. We strongly suggest that you take the time to submit a revision if you score 75% or lower on a problem set, in order to make sure that you understand the concepts from that problem set going forward.

If a student knows they will miss the Tuesday deadline, the student can take a 24-hour extension by requesting an extension (through the submission page) before the deadline. See the Extension Policy below. Alternatively, the student can still submit by the Thursday deadline for credit up to 95%.

Individual Problem

An Individual problem means that you work on your own on this task, but may ask the CS111 staff for help. You may also talk to your classmates about the problem, as long as you never communicate in Python code with your classmates.

You should write the names of the people you consult with (including classmates, tutors, and instructors) on the "Consulted:" row of your top-of-file information.

Partner Problem

Partner problems may be worked on individually, but are designed to be tackled by two people, and you will find that working together closely with a partner should be quite productive. We have some guidelines for partner work: you are not allowed to simply split the problem into two parts and each do part of the problem (neither of you would understand the entire problem in that case).

You should write both partner's names on the "Authors:" row of your top-of-file information, and put the names of the people either of you consult with (including other classmates, tutors, and instructors) on the "Consulted:" row.

In a partner problem, each two-person team will create one or more solution files together for a task. Each team member will submit their own electronic copy of the solution files, and every member of a team should submit identical files. Each member will be given the grade for the file they submit. (If the files aren't the same, the team members may receive different grades; it is your responsibility to communicate with your partner and make sure you each have a copy of the most up-to-date code to submit.)

Although you can work with the same partner on multiple tasks throughout the semester, we strongly encourage you to seek different partners for different tasks so that you get a better sense for the range of collaboration styles, and so you do not become too dependent on a particular partner.

All work by a team must be a true collaboration in which members actively work together on all parts of the task. It is not acceptable for team members to split up the Task and work on parts independently. All programming should be done with both team members working at the same computer or remotely via a shared screen. Both team members must share the responsibility of "driving" (typing at the keyboard), swapping every so often. The only work that you may do alone is debugging code that you have written together and talking with the instructors and drop-in tutors (we understand that you may not both be able to attend drop-in hours at the same time, but when you attend drop-in hours and get help individually, it is your responsibility to explain what you learned to your partner and make sure they understand it).

Note that during the pandemic, these requirements have been relaxed, since the need for social distancing means that even if partners could work at the same computer, they should not. Instead of working together at one computer, we suggest the following alternative collaboration methods (pick one that works well for you):

  1. Remote pair programming. Using Zoom, it is possible for one member of a meeting to take control of the other's computer (the option to request remote control appears when someone is sharing their screen). You can therefore program together on one computer remotely. Remote control offers the advantage of easily supporting the driver/navigator model that is essential to pair programming because both partners can edit the code directly. One partner should open up a window with the particular task and then allow access to the remote partner to control that window. You can, of course, use screen sharing and discuss each task if you are uncomfortable with the remote control model. However, make sure that each partner has an opportunity to write code. This will likely require copy/pasting code back and forth or sharing/emailing python files, which is why we recommend the remote control model. Note that you cannot copy/paste code through Zoom chat, because copying from Zoom chat introduces invisible characters that will break the code.
  2. Independent work + verification. To ensure that each member of a team actually understands the full solution to a problem, if remote pair programming is not feasible (perhaps connections aren't good enough) you may work independently on a problem, and when you each have an attempt (they need not be working perfectly), you can come together to compare your code and discuss the differences between your attempts. This method of working together is more work than pair programming, but still offers some advantages over individual work, like the ability to discuss your solution in depth at the code level with another student and the opportunity to do debugging together.

For more information, see our Pair Programming page.

Submission of Psets

Submission of assignments in CS111 is almost entirely electronic. There might in some cases be paper submissions, for which specific instructions will be provided.

Students will go to to submit completed assignments, request extensions, and submit revisions.

As a backup, you may upload your code to the CS server using the same program used to download the starter code.

Have Questions on a Pset?

The CS111 staff expects that you will have questions on each pset. You can see our whole team on the Instructors page, and see when we are available for help on the Drop-in Schedule page. We have a super talented crew of tutors who hold afternoon and evening drop-in hours (sometimes we refer to this as "help room"). And you can always post an anonymous question to the course google doc.

How to post (an anonymous question) to the course google doc?
Submit your question in this anonymous form and then we will post your question with a response on this google doc.

Tips for your questions

Quiz Guide

Quiz Philosophy

CS111 uses an approach to quizzes that may be unfamiliar to you. We use a mastery grading approach that is designed not just to assess your learning but to enhance your learning.

There are three versions of every quiz:

Quiz Mechanics

You will take your quizzes outside of class time using Gradescope, an online platform where you can find graded work for CS111. Each quiz will be available during a period of several days that typically starts on Wednesday morning and ends at 6:00PM on Friday. During this time, you will need to find 30-45 minutes (depending on the quiz length) to sit down and take the quiz.

Quizzes are timed and you can not take more than the maximum time allotted for the quiz. You need to complete the quiz by the deadline (typically 6:00PM on Friday).

Quizzes will be graded and released to students by the following Wednesday morning.

Honor Code Policy

All quizzes are closed note, closed Thonny, and closed internet (except for the tab opened to Gradescope where you will take the quiz). This means that you must not consult any materials, communicate with anyone else, or use any programs/applications while taking the quiz. Taking any of these actions will be considered a violation of the Wellesley College Honor Code.

Learning Goals

Each quiz will assess a series of learning goals to test students’ comprehension. Each question is designed to target one or more learning goal. Each quiz question will be labeled with the learning goal tested. Upon receiving feedback, we strongly suggest that students examine their performance on each learning goal so they have a complete understanding of what they know and what they need to improve on.

Retaking Quizzes

As described above, students can retake any quiz up to two times to improve their score on any learning goal. Students do not need to complete the entire quiz. Students only need to complete the questions with the learning goals that they would like to improve. Students will have 30-45 minutes (depending upon the original quiz length) to complete any portion of the retake quiz.

Quiz retakes are typically due by Friday at 6:00PM. The first retake quiz will be due one week after the original quiz date and the second retake will be due two weeks after the original quiz. Grades for the retake quiz will be released Wednesday morning. There is no grade penalty or grade limit for retakes.

To illustrate: suppose that Wyeth Wellesley takes Quiz 1 on Friday of the second week of classes. They are satisfied with their score on Question 1, but would like to improve their score on Questions 2 and 3. By the following Friday, they can retake Quiz 1, ignoring Question 1 and answering only Questions 2 and 3. After the first retake, they are now satisfied with their scores on Questions 1 and 3, but would still like to improve their Question 2 score. They can do a second retake of Quiz 1 by two Fridays after the initial Quiz 1, answering only Question 2. For each Quiz 1 question, their final score on that question will be the maximum of the three scores for that question across the three versions of the quiz.

Note that the unit of maximization for quizzes is an entire question and not a part of a question. For example, suppose an initial quiz has a 10-point Question 1 with Parts A and B. Suppose a student scores 5 out of 6 points on Part A and 1 out of 4 points on part B for a total of 6 out of 10 points on Question 1. They are satisfied with the Part A score but not the Part B score. On the retake, Question 1 happens to have two Parts A and B with the same point allocations. The student leaves Part A blank (0 out of 6 points) and scores 4 out of 4 points on Part B. Then their retake score for Question 1 is just 4 out of 10 points, which is less than their origin score of 6 out of 10 points. So the maximum Question 1 score in this case is 6 out of 10 points from the first quiz.

Why are maxima determined by question rather than by question part? Because learning goals on a per question basis and not on a per question part basis. Although a particular quiz question on a retake is guaranteed to have the same number of points as the same question on a previous version of the quiz, there is no guarantee that a retake version of a question will have the same part points or will even have the same number of parts as a previous version of the question.

Extension Policy

General Policy

We recognize that this academic year will be influenced by the ongoing COVID pandemic. We strongly encourage you to speak with any of the faculty for CS111 for any reason - whether COVID-related or not - that might inhibit you from successfully completing your coursework. We are empathetic to the many hardships that students will face as we learn together during this crisis. Do not hesitate to reach out!

Extension Policy for Problem Sets

Problem sets are typically due on Tuesday with revisions due by Thursday. Students can take an automatic 24-hour extension for the Tuesday due date and receive feedback for their work by Thursday morning in time to complete any revisions by Thursday. In order to receive the extension, you must request it via the Potluck submission server before the deadline Tuesday night. If you feel that you need more than an extra 24 hours, please contact one of the CS111 faculty members directly.

Extension Policy for Quizzes

Quizzes and retakes always take place on or before Friday. There are no extensions for quizzes as we expect most students to be able to find the necessary time during some portion of that day. If you cannot complete the quiz on the day it is due, please contact one of the CS111 faculty members directly. Note that we do allow quiz retakes without a grade penalty or grade limit.