CS 101 (Fall 2002)

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 class)
10 AM
Lab 0: Getting Started 2 Sep None 3-4 Sep 3-4 Sep 6 Sep
Lab 1: Expressions, Functions, and Procedural Abstraction 9 Sep None 10-11 Sep 17-18 Sep 20 Sep
Lab 2: Norm - The Emote 13 Sep None 17-18 Sep 24-25 Sep 27 Sep
Lab 3: Objects with state: Emote Encounters 23 Sep None 24-25 Sep 1-2 Oct 4 Oct
Lab 4: Persian Recursion 30 Sep 4 Oct 1-2 Oct 8-9 Oct 11 Oct
Lab 5: Iteration -- Julia Set 7 Oct 14 Oct 15-16 Oct 22-23 Oct 25 Oct
Lab 7a: Stacking the Deck (Part 1) 21 Oct None 22-23 Oct 29-30 Oct 1 Nov
Lab 7b: Stacking the Deck (Part 2) 28 Oct None 29-30 Oct 5-6 Nov 8 Nov
Lab 8: Hearts 4 Nov 8 Nov 5-6 Nov 12-13 Nov 15 Nov
Lab 11a: Final Project (Part I) 11 Nov None 12-13 Nov 3-4 Dec 6 Dec
Lab 11: Final Project (Part II) 18 Nov None 19-27 Nov 3-4 Dec 6 Dec
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 on Friday 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 Friday of each lab's 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 10 AM, in class, on the Friday of each lab's 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.

The firm policy of this course is not to allow late work unless accompanied by a valid late coupon.

Since this is a 4-unit course, expect to spend about 10-12 hours per week outside of lecture on CS101. Most of that time will be spent on lab assignments.

The first few labs may take more or less time, depending on your previous exposure to computing.

You are encouraged to seek help when such resources are available. Thus, you may want to arrange your schedule so that you work on the labs when TAs or the instructor are available to help you.

If you are concerned about the amount of time that you are spending on labs, please see the instructor.

Last modified 12:05:28 CST 20 November 2002 by Ron K. Cytron