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 | lab1.zip | 08/22/23 | 08/25/23 |
Week 1 | Expressions & Variables | no code | 08/24/23 | 08/30/23 |
Week 2 | Modules | no code | 08/29/23 | 09/01/23 |
Week 2 | Functions | no code | 08/31/23 | 09/06/23 |
Week 3 | Strings | no code | 09/05/23 | 09/08/23 |
Week 3 | Testing | lab6.zip | 09/07/23 | 09/13/23 |
Week 4 | Conditionals | lab7.zip | 09/12/23 | 09/15/23 |
Week 4 | Assignment 1 | no code | 09/15/23 | 09/16/23 |
Week 5 | Objects | lab9.zip | 09/19/23 | 09/22/23 |
Week 5 | Debugging | lab10.zip | 09/21/23 | 09/27/23 |
Week 6 | Asserts | lab11.zip | 09/26/23 | 09/29/23 |
Week 6 | Sequences | lab12.zip | 09/28/23 | 10/04/23 |
Week 7 | For-Loops | lab13.zip | 10/03/23 | 10/06/23 |
Week 7 | Assignment 3 | no code | 10/05/23 | 10/06/23 |
Week 8 | Recursion I | lab15.zip | 10/12/23 | 10/18/23 |
Week 9 | Recursion II | lab16.zip | 10/17/23 | 10/20/23 |
Week 9 | Nested Lists & Dictionaries | lab17.zip | 10/19/23 | 10/25/23 |
Week 10 | Blackjack | lab18.zip | 10/24/23 | 10/27/23 |
Week 10 | Object-Oriented Design | lab19.zip | 10/26/23 | 11/01/23 |
Week 11 | Subclasses | lab20.zip | 10/31/23 | 11/03/23 |
Week 11 | While Loops | lab21.zip | 11/02/23 | 11/08/23 |
Week 12 | Abstraction | lab22.zip | 11/07/23 | 11/10/23 |
Week 12 | Advanced Error Handling | lab23.zip | 11/09/23 | 11/15/23 |
Week 13 | GUI Classes | lab24.zip | 11/14/23 | 11/17/23 |
Week 13 | Assignment 7 | no code | 11/17/23 | 11/18/23 |
Week 15 | Generators | lab26.zip | 11/28/23 | 12/01/23 |
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.