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 EST on Tuesday and the quiz will be due Friday at 11:59PM EST. 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. A fixed mindset is the belief that human attributes such as intelligence are stable. 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 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 Ocean submission server shortly after the problem set is due. We will check whether your code works correctly, is properly commented, 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 Thursday at 11:59PM. 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.

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.

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

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 console. 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 Canopy 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.
  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 are rarely paper submissions.

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 evening drop-in hours (sometimes we refer to this as "help room"). And you can always post a question to the course Piazza group.

As far as possible, assuming your question does not reveal your solution, post your questions to the piazza group rather than privately e-mailing the instructors: this is more productive because your classmates probably have the same question too!

On the other hand, if your question does contain part of your solution, you must not post it to the group. Do not post code to the group.

We also encourage you to talk to your classmates (in a human language, not code) about psets. Sometimes bouncing your ideas off the person next to you can be really helpful and illuminating!

Quiz Guide

Quiz Overview

Quizzes typically take place on Friday of each week. At the start of the day, students will have access to take the quiz on Gradescope, an online platform where you can find graded work for CS111. During that day, students will need to find 30-45 minutes (depending on the quiz length) to sit down and take the quiz by the end of the day at 11:59PM. All quizzes are closed note, closed Thonny, and closed internet (except for the tab opened to Gradescope where you will take the quiz).

Quizzes are individual work and students should not use Thonny, Anaconda, or any other resources during the taking of the quiz. Doing so is a violation of the Honor Code.

Quizzes will be graded and released to students by the following Tuesday evening. week.

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

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 on Friday at 11:59PM. 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 Tuesday evening. 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 find that they want to improve their quiz score. By the following Friday, they can retake Quiz 1. If they still want to improve on retake 1, they can complete retake 2 by the next Friday.

Extension Policy:

General Policy

We recognize that this academic year will be influenced by the ongoing COVID-19 pandemic. We understand that you or your friends or family members may contract the virus during your time here at Wellesley. 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 Ocean 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.