Policies and grading for the course


Course Components

There are several components to the course:

  • Lab sessions
  • Lecture sessions
  • Weekly quizzes
  • Lab reports/portfolio posts
  • Skill demonstrations


The course’s lab component meets for 2 hours on Wednesdays or Thursdays. In each lab you’ll switch between working on your own, working in pairs, and participating in group discussions about your approach, lessons learned, programming problems, and so on.

The lab sessions and groups will be led by TAs and tutors, who will note your participation in these discussions for credit. Note that you must participate, not merely attend, for credit.

If you miss lab, you’ll still be held accountable for understanding the relevant material via Skill Demonstrations and Lab Reports. You can miss 2 labs without it impacting your grade (see Grading below).

Lecture Sessions

Lecture sessions are on Monday and Wednesday. You can only attend the section (1pm or 2pm) to which you are assigned. Depending how things go after the first week or two, we might relax this and allow attendance in either section.

In each lecture, we’ll have a paper handout (also available electronically). At the end of lecture you’ll have a chance submit your handout to Gradescope. You can do this by scanning it in the Gradescope app (for iOS and Android) or through the web interface. To get participation credit for lecture, you have to submit a handout filled in with reasonable effort. It’s fine if answers aren’t right, and some days don’t have right answers. It’s fine if things aren’t totally complete, and some days we won’t finish everything. But it should be obvious that you followed along and completed the exercises we did in class.

If you miss class, you can submit them up until the start of the next class as late submissions. We recommend completing them while watching the podcast. We’ll have TAs on hand as backup to collect the physical paper/help you scan and submit if you have any issue submitting. See Grading below for the required submissions and how that correlates with your grade.

Weekly Quizzes

Each week there will be an online, untimed, multiple-tries quiz due on Wednesday at 1 pm before class (including week 1). The purpose of this quiz is to make sure everyone has checked in on the concepts we will be using in lab on Wednesday and Thursday. They are open for late submission until the end of the quarter, but see grading below for how late submissions correspond to grades.

Sometimes quizzes have associated readings or videos to supplement lecture.

Lab Reports/Portfolio Posts

Every other Monday (of weeks 2, 4, 6, 8, 10) you will submit a lab report on work from the previous week or two of lab material. This will take the form of a blog post on a personal site you created in the first week. At the end of the quarter this means you’ll have a personal web site with 5 posts detailing what you learned.

For each post, our staff will review it and either give full credit or give feedback; you must respond to the feedback to receive full credit on your post. We’ll post specific final deadlines for this feedback with each assignment.

Skill Demonstrations

Twice during the quarter (week 5 and week 10), we will spend lab doing skill demonstrations – this course’s version of exams. In the lab, you’ll spend 10 minutes 1-on-1 with a staff member doing a short demonstration of using some of the skills you’ve learned. You’ll be given a problem to practice in advance, and then in the demo you’ll answer some questions about extending and/or modifying the in-advance task. You can look at the skill demonstrations from previous offerings for a sense of what tasks we assign (though we may or may not use the same types in this offering) [W22 demo 1] [W22 demo 2]

On each you’ll get a Full Pass, Partial Pass, or Try Again as your score. In finals week, you’ll have the opportunity to improve the score for either or both skill demonstration.

(Originally, we had listed these as being graded only pass/fail, with completing all the steps required for passing. Rather than require all the steps for each of them, we distinguish the different achievement levels a bit more.)


Each component of the course has a minimum achievement level to get an A, B, or C in the course. You must reach that achievement level in all of the categories to get an A, B, or C.

To pass the course, you must receive a partial pass on one of two skill demonstrations (either initially or with the final make-up), and have a submission/attempt for both.

  • A achievement:
    • 6 or more lab participation (out of 8 labs that aren’t skill demonstrations)
    • All 5 lab reports completed, at least 4 with full credit/feedback addressed
    • Full Pass score on one skill demonstration, Partial Pass on the other (either initially or with the final make-up)
  • B achievement:
    • 5 or more lab participation
    • All 5 lab reports completed, at least 2 with full credit/feedback addressed
    • Full Pass on one skill demonstration and one No Pass, or Partial Pass scores on both skill demonstrations (either initially or with the final make-up)
  • C achievement:
    • 4 or more lab participation
    • At least 3 lab reports completed, at least 2 with full credit/feedback addressed
    • Partial Pass or higher on one skill demonstration (either initially or with the final make-up), with the other one attempted

Pluses and minuses will be given around the boundaries of these categories at the instructor’s discretion and based on quiz/lecture participation. I don’t publish an exact number for these in advance, but it’s consistent across the class. A general guideline is: if you submit all of the lecture handouts and all of the quizzes on time and complete, that will definitely add a + to the grade. If you submit no lecture handouts and no quizzes, that will definitely add a - to the grade. If you submit about half and get things generally mostly correct, there will be no modifier.

Academic Integrity

Individual assignments describe policies specific to the assignment. Some general policies for the course are here.

Lab Reports and Academic Integrity

You can use code that we provide or that your group develops in lab as part of your lab report. Your lab reports can be public. All of the writing in lab reports must be your own.

You can use an AI assistant like ChatGPT or Copilot to help you author lab reports or write code in this class. If you do, you are required to include a section of your lab report that shows:

  • The prompts you gave to ChatGPT, or the context in which you used Copilot autocomplete
  • What its output was and how you changed the output after it was produced

This helps us all learn how these new, powerful, and little-understood tools work (and don’t).

Skill Demonstrations and Academic Integrity

Instructions for skill demonstrations will be posted a few days before the lab in which they happen. You’re free to collaborate with others on preparing for the skill demonstration, trying things out beforehand, and so on.

You cannot share details of your skill demonstration with others until after you receive your grade for it.

Quizzes and Academic Integrity

You can work on weekly quizzes with other students.

You can download a copy of the form below here if you need a copy to fill out.