Schedule · Staff & sections ·

Lab Expectations

Labs are a required and graded component of CS231. Students must attend one lab section each week.

Regardless of which lab section a student attends, they should always arrive prepared to complete assessments and graded work. Labs may include both individual and collaborative activities. It is the student’s responsibility to understand which tasks are individual and which permit collaboration.

Typical Lab Structure

Most lab sessions follow the structure outlined below. Exact timing and activities may vary slightly from week to week, but the overall rhythm will remain consistent.

  1. Orientation & Project Overview (≈ 30 minutes)
    The instructor will prepare students for the day's lab, review relevant concepts and lecture material, and introduce the upcoming project.
  2. Lab Checkpoint & Project Work (≈ 90 minutes)
    Students work on implementing the core components needed for the current project. Checkpoints are completed by demonstrating working code. This can be done by showing a lab TA or the instructor that your code generates the correct output, or by running testing code that verifies that your implementation works correctly. Once the checkpoint has been completed, students move on to the current project and begin applying the work completed during the checkpoint.
  3. Break & Quiz Review (≈ 15 minutes)
    Students will have a short break before the quiz. This time may also be used to review course material and prepare for the quiz.
  4. Quiz (≈ 30 minutes)
    Labs conclude with a closed-book quiz completed individually. The quiz covers both the current week's lecture material (approximately 2/3) and the previous week's project (approximately 1/3). The quiz assesses understanding of key concepts and important implementation details.

Lab Sections and Staff

Lab A

  • Instructor: Prof. Allen Harper
  • Time: Monday 1–3:50pm
  • Room: Davis 308
  • Bring: yourself + laptop + charger

Lab B

  • Instructor: Prof. Allen Harper
  • Time/room: Wednesday 1–3:50pm
  • Room: Davis 308
  • Bring: yourself + laptop + charger

Lab Schedule

Week Lab Date Topic Instructions
1 Sep 14,16 2026 Lab A: Java Jumpstart
2 Sep 21,23 2026 Lab B: Working with Classes Lab B Handout (Monday)
3 Sep 28,30 2026 ADT: ArrayList Lab 1 Handout
4 Oct 5,7 2026 2D Arrays
5 Mar 4, 5 2026 ADT: LinkedList Lab 3 Handout
6 Mar 11, 12 2026 ADT: Queue Lab 4 Handout
7 Mar 18, 19 2026 Linked List Debugging Moodle
8 Mar 25, 2026 Spring Break — No Lab
9 Apr 1, 2 2026 ADT: Stack Lab 5 Handout
10 Apr 8, 9 2026 ADT: Binary Search Tree Lab 6i Handout
11 Apr 15, 16 2026 ADT: HashMap Lab 6ii Handout
12 Apr 22, 23 2026 ADT: Heap & Priority Queue Lab 7 Handout
13 Apr 29, Fri, May 1* (CLAS 2026) ADT: Graph Lab 8 Handout
14 May 6, 7 2026 Finishing Up the Semester Extension 2 Check Out, Complete Course and Lab Evaluations