CSE131 Labs

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 help identify areas where you need need help. If you are having trouble, get help! Help is available from teaching assistants during lab sections, at consulting hours, at the instructor's office hours, and by email. 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 announcements for the most recent information.

Please remember to put a cover sheet on every lab you turn in.

Lab Assigned Due
0. Getting Started Fri, Sept 1 Mon, Sept 11
1. Naming Abstraction and Procedural Abstraction Tues, Sept 5 Mon, Sept 11
2. Data Abstraction Mon, Sept 11 Mon, Sept 18
3. Object Composition  Mon, Sept 18 Mon, Sept 25
4. Recursion  Mon, Sept 25 Tue, Oct 3
5. Iteration Tue, Oct 3 Mon, Oct 9
6. Using Data Structures Tues, Oct 10 Mon, Oct 23
7. List Structures Mon, Oct 23 Mon, Oct 30
8. System Integration Mon, Oct 30 Mon, Nov 13
9. Multiple Representations Mon, Nov 13 Mon, Nov 20
10. Polymorphism Mon, Nov 20 Mon, Dec 4
Optional CSE131 Programming Contest Thurs, Dec 7 Mon, Dec 11

Most lab assignments will have two parts, as follows.

Practice Exercises
The practice exercises are suggested problems that you should work through on your own, getting help as needed. Answers to selected exercises will be provided. The practice exercises on current or recent lab assignments are a good indication of the kinds of questions that may appear on a quiz.  For labs with practice problems, a quiz will generally be given on the first class day after the lab is assigned, to check that you have understood the practice problems and have read over the remainder of the assignment. Additional quizzes may be given at random, mainly containing questions similar to the "practice" exercises on current or recent lab assignements or recent lecture material. Quizzes may occur any time during class, not necessarily at the beginning or end. Some weeks there may be only one quiz. Other weeks there could be two or three! (Note:  The purpose of this is not to promote anxiety, but instead to motivate you to keep up with the material and to ask lots of questions in class.  After all, there might be a quiz!)
Hand-In Exercises
These are longer exercises, and usually involve a series of related problems that combine to form a larger unified whole. Most assignments ask that you demonstrate your running program for a TA and turn in your written work at the time of the demo. For labs that do not have a demo, your solutions to the hand-in part of the lab should be turned in by 10:00am on the specified due date to the CSE131 mailbox in the 4th floor hallway of Lopata. See the "what to turn in" secion of each assignment for details.

In general, late assignments will be accepted only in very unusual circumstances. Keep in mind that the CSE131 Policy on Collaboration applies to all material handed in for credit.

Since this is a 4-unit course, expect to spend about 10 hours per week outside of lecture on CSE131. 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. If you are concerned about the amount of time that you are spending on labs, please see the instructor.

Kenneth J. Goldman (kjg@cec.wustl.edu)