Lab Activities

Labs this semester are held-twice weekly, during section. You will not be graded on your performance during lab, though you are expected to complete them. You may miss up to three labs over the course of the semester with no penalty. If you miss any more than that, we will reduce your course grade by half a letter grade (e.g. B goes to B-) for every three labs missing.

Table of Contents


Bi-Weekly Labs

All labs are completed through the online lab system. When a lab becomes available, a link will appear in the table below. Exact due dates vary by lab section.

Lab Topic Code Posted Due
Week 1 Getting Started lab0.zip 09/01/20 09/09/20
Week 1 Expressions no code 09/03/20 09/09/20
Week 2 Assignments no code 09/08/20 09/11/20
Week 2 Modules no code 09/10/20 09/16/20
Week 3 Functions no code 09/15/20 09/18/20
Week 3 Strings no code 09/17/20 09/23/20
Week 4 Testing lab6.zip 09/22/20 09/25/20
Week 4 Conditionals lab7.zip 09/24/20 10/02/20
Week 5 Assignment 1 no code 09/29/20 10/02/20
Week 5 Objects lab9.zip 10/01/20 10/07/20
Week 6 Debugging lab10.zip 10/06/20 10/09/20
Week 6 Asserts lab11.zip 10/08/20 10/16/20
Week 7 Lists & Loops lab12.zip 10/15/20 10/21/20
Week 8 Recursion I lab13.zip 10/20/20 10/23/20
Week 8 Recursion II lab14.zip 10/22/20 10/28/20
Week 9 Nested Lists & Dictionaries lab15.zip 10/27/20 10/30/20
Week 9 Blackjack lab16.zip 10/29/20 11/04/20
Week 10 Object-Oriented Design lab17.zip 11/03/20 11/06/20
Week 10 Subclasses lab18.zip 11/05/20 11/11/20
Week 11 Abstraction lab19.zip 11/10/20 11/13/20
Week 11 Typing & Exceptions lab20.zip 11/12/20 11/17/20
Week 14 GUI Classes lab21.zip 12/01/20 12/04/20
Week 14 More GUI Classes lab22.zip 12/03/20 12/09/20
Week 15 Coroutines (OPTIONAL) lab23.zip 12/08/20 12/11/20

Lab Policies

Because of the course size this semester, all labs will be done through the online lab system. We have used this an interface from even before we went online, and the students really like it. It has the advantage that you continue to work on the lab in your room on your own time and still receive quality feedback.

The drawback of an online lab system is that it requires exact answers, which is hard if you are still struggling to learn the material. That is why we allow you to have a human check off a lab even if the answers are incorrect. If a staff member looks over your lab and sees that you have put in enough work, they can manually override the lab system. There is no shame in doing this, and you can always go back and retry the exercises later with no penalty. The goal for the labs is practice, not perfection.

The current deadline for a lab checkoff – either manual or by the computer – is the end of your next discussion section. We realize that this deadline is much tighter for Tuesday/Wednesday labs (where you have two days) than it is for Thursday/Friday labs (where you have 5 days). Our plan is to distribute the work so that this is feasible. If this proves to be a problem, we will reassess the deadline policy later in the semester.

If you receive an automated check-off before your discussion section, you do not attend the lab. However, some labs this semester will include thought questions. These are open-ended questions that we have to grade manually. You will not get immediate feedback on these questions from the online system, and you will need to show them to the course staff in your section.

Given that you may miss three labs, we try to keep the deadlines strict. However, we do allow short extensions for religious holidays and in case of illness. If you feel that you need an extension on a lab, please contact your lab instructor, who can be found from the Sections page.