Problem Set, Reflection, and Quiz Guide
This page gives a high-level overview of the administrative details and logistics of CS111 problem sets, quizzes, and reflections, including how your work is submitted and evaluated.
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.
Submission of Psets
Submission of assignments in CS111 is almost entirely electronic. There are rarely paper submissions.
Each student will upload a python code folder (e.g.
ps01) to the cs server. Do not change the name of the folder.
This folder typically contains various files (python and other types).
Problem sets vary from week to week, and occasionally there are additional items to submit. Guidelines for correctness and quality of solution are provided with each pset. Failure to electronically submit your code before the deadline will result in zero credit.
Grading of Psets, Reflection and Quizzes
For each of the grading categories quiz, reflection, and problem set coding, the lowest grade in that category will be dropped. There are 11 psets this semester. Collectively, your 10 highest pset grades (out of 11) will constitute 35% of your CS111 course grade. See the grading page for other grade components. Each student will receive an email that contains the score of your pset. We will check whether your code works correctly, is properly commented, and uploaded to the server on time.
During the lecture after a pset is due, there will be an in-class quiz that covers the contents of the pset. This quiz -- closed-book, closed-notes -- will take place in the first 10-15 minutes of lecture, so don't be late! We will drop your lowest quiz grade. Click here to read our make-up and retake quiz policy.
Pset solutions will be posted electronically after the submission deadline. Each student will complete a reflection/self-assessment that requires evaluating their submitted code with respect to the posted solutions and reflecting on challenges and python coding skills acquired. Reflections are usually due 48 hours after the submission of the pset. We will drop your lowest reflection grade.
Reflections must be completed independently. You can discuss reflection questions with instructors, but not tutors or other classmates.
The deadline for reflections is a hard deadline: late reflections will not be accepted.
Typical weekly schedule
During a typical CS111 week, the problem set code submission and honor code form submission will both be due at 11:59pm EST on Tuesday, the self-assessment/reflection will be due Thursday evening at 11:59pm EST, and the quiz will be at the start of Friday's lecture. Occasionally, holidays and weather may create deviations from our typical schedule.
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 google group students-cs111-spring19 by emailing "students-cs111-spring19".
As far as possible, assuming your question does not reveal your solution, post your questions to the google 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!
Types of Tasks on Psets
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.
There are two types of Partner problems:
- On a Partner-required task, you are required to work with a partner as part of a two-person team.
- On a Partner-recommended task, you are strongly encouraged to work with a partner as part of a two-person team.
In a partner problem, two-person team members 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 the same grade will be given to both team members for this task.
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.
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. It is strongly recommended that both team members 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.
For more information, see our Pair Programming page.
Code Feedback and Grading
Take a quick tour of the structure of code feedback and grading here.