Labs
Supplementary Lab Slides can be found in this folder.
Labs are an opportunity to apply what you’ve learned in lecture through coding and other formats. Each lab includes both conceptual and coding components. Lab assignments must be uploaded and autograded on Gradescope. Quiz Reviews—specifically the Quiz 1 Review and the two Quiz 2 Reviews—also count toward your lab grade. To receive credit, you must complete both the coding and non-coding portions (unless otherwise specified). Credit for these practice quizzes is based on completion, not your score.
The labs linked below provide high-level overviews and serve as instructions for each lab. They list all required blocks, functions, and tasks, and include some of the test cases used for grading.
The workbook, which is part of our website (and distinct from the lab instructions), can be used as a step-by-step guide to complete each lab. Labs will be released at 9:00 AM on the day they are scheduled. Feel free to get a head start!
Regarding submission deadlines: Lab X is due on the day that Lab X+1 is scheduled. For example, if Lab 12 is scheduled on Tuesday and Lab 13 is scheduled on Wednesday, then Lab 12 is due on Wednesday. This rule applies to unnumbered labs such as Quiz reviews as well.
| Labs | Release Date | Due Date |
|---|---|---|
| Lab 0. Welcome to Snap! | Tue 6/23 | Wed 6/24 |
| Lab 1. Build Your Own Blocks | Wed 6/24 | Thu 6/25 |
| Lab 2. Conditionals, Reporters, & Abstraction | Thu 6/25 | Mon 6/29 |
| Lab 3. Lists and Loops (Iteration) | Mon 6/29 | Tue 6/30 |
| Lab 4. Lists & HOFs | Tue 6/30 | Wed 7/1 |
| Quiz 1 Review | Wed 7/1 | Mon 7/6 |
| Lab 5. HOFs and Functions as Data | Mon 7/6 | Tue 7/7 |
| Lab 6. Boards | Tue 7/7 | Wed 7/8 |
| Lab 7. Recursive Reports (Linear Recursion) | Wed 7/8 | Thu 7/9 |
| Lab 8. Trees & Fractals | Thu 7/9 | Mon 7/13 |
| Lab 9. Algorithms (Binary) / Algorithmic Complexity | Mon 7/13 | Tue 7/14 |
| Lab 10. Data Science | Tue 7/14 | Wed 7/15 |
| Quiz 2 Review: Pre Quiz 1, HOFs, Nested Lists | Wed 7/15 | Thu 7/16 |
| Quiz 2 Review: Recursion, Algorithmic Complexity | Thu 7/16 | Mon 7/20 |
| Lab 11. Python Setup + Intro Python | Mon 7/20 | Tue 7/21 |
| Lab 12. Welcome to Python! | Tue 7/21 | Wed 7/22 |
| Lab 13. Lists and Mutability | Wed 7/22 | Thu 7/23 |
| Lab 14. Data Structures | Thu 7/23 | Mon 7/27 |
| Lab 15. Text Processing | Mon 7/27 | Tue 7/28 |
| Lab 16. Object Oriented Programming | Tue 7/28 | Wed 7/29 |
| Lab 17. Python Linear Recursion | Wed 7/29 | Mon 8/3 |
| Lab 18. Tree Recursion | Mon 8/3 | Tue 8/4 |
| Lab 19. Concurrency | Tue 8/4 | Wed 8/5 |
Labs and due dates are subject to change.