CS 102 (Spring 2003)

Schedule subject to change

It is by the solution of problems that the investigator tests the temper of his [/her] steel;
he [/she] finds new methods and new outlooks, and gains a wider and freer horizon.
( David Hilbert)

Lab assignments are designed to reinforce and deepen your understanding of important concepts covered in lecture. Each lab assignment includes specific goals that you should keep in mind while completing the assignment.

Labs can also identify areas where you need help. If you are having trouble, get help! After you get help, try working through additional exercises to make sure you have mastered the concept.

When labs are available early, you are welcome to work ahead. However, please keep in mind that lab assignments and due dates are subject to change until they are actually assigned. Please check the following table and the news for the most recent information.

Please remember to put the proper cover sheet when you turn in lab material.

Lab Assigned Design Due
(In class)
10 AM
(In Lab)
(In Lab)
Lab Due
(In lab)
Lab 1: Back into the Swing of things 14 Jan 15 Jan 22 Jan 22 Jan Rubric
Lab 2a: KWIC Index (Part a) 21 Jan 22 Jan 29 Jan 29 Jan Rubric and Test File
Lab 2b: KWIC Index (Part b) 28 Jan 29 Jan 5 Feb 5 Feb Rubric
Lab 3: Threads, Race Conditions, and Atomicity 4 Feb 5 Feb 12 Feb 12 Feb Rubric
Lab 4a: Mazes (Part a) 11 Feb 12 Feb 19 Feb 19 Feb Rubric
Lab 4b: Mazes (Part b) 18 Feb 19 Feb 26 Feb 26 Feb Rubric
Lab 4c: Mazes (Part c) 25 Feb 26 Feb 19 Mar 19 Mar Rubric
Midterm Exam Lab 12 Mar 12 Mar 12 Mar 12 Mar
Lab 5a: IM Bot (Part a) 18 Mar 19 Mar 26 Mar 26 Mar Rubric and What you must send/receive
Lab 5b: IM Bot (Part b) 25 Mar 26 Mar 2 Apr 2 Apr Rubric
Lab 6a: Whack-A-Mole (Part a) 1 Apr 2 Apr 9 Apr 9 Apr Rubric
Lab 6b: Whack-A-Mole (Part b) 8 Apr 9 Apr 16 Apr 16 Apr Demo.java and the Rubric
Lab 6c: Whack-A-Mole (Part c) 15 Apr 16 Apr 23 Apr 23 Apr Rubric
Lab 6d: Whack-A-Mole (Part d) 22 Apr 13 Apr 30 Apr 30 Apr Rubric
Most lab assignments consist of two parts, design and code, as follows. Occasionally you will be asked to submit answers to questions along with your design or code.
A design is a blueprint for a program. A thoughtful design can significantly reduce the effort required to write, type, test, and debug your programs. When designs are due, they are due at the beginning of class. They are graded Monday evening, and available for you in lab.

Your design must be turned in by 10 AM, in class, on the advertised design due date. Bring your design to class, and place it in the folder for your lab section.

You are encouraged to work with others on the design aspects of your labs; please refer to the course policy for collaboration.

Following a solid design, the coding effort should go smoothly, but remember that many aspects of programming may be new to you.

Your code must be turned in by the end of your lab section on the advertised code due date. Bring your work to class and place it in the folder for your lab section.

While you are allowed to seek help from others on the design of your lab, the code you write must be your own, as specified in the course policy for collaboration.

Last modified 20:22:19 CDT 28 April 2003 by Ron K. Cytron