ICS10A Lab Survival Guide

To make your time in the lab as productive and pleasant as possible, we really recommend that you

Prepare before coming to lab by reading the assignment beforehand, thinking about how to do it, and asking questions about it. Then, when you get to the lab, you’ll be your most productive.

Start early on each assignment. Lab assignments in computer science, more than in most disciplines, are time-consuming because they include activity (going to the lab, using the computer) besides just reading and writing. You should start a lab as soon as you complete the lab exam associated with the previous assignment; you can’t do a week-long lab in just a couple of days. Do not wait until your priority lab meets to begin a lab assignment: all the necessary information for each lab is in this manual. Starting promptly reduces your frustration, since you’ll have time to ask questions when difficulties arise, and will have sufficient time to finish the lab before the due date.

Pay close attention to detail. Computing, more than many other disciplines, requires precise, literal attention to detail. Take things slowly and deliberately. Wring every bit of information you can out of the assignment description; read them carefully to learn what they require of you.

Remember you’re not alone. As you work on your assignments, we encourage you to seek assistance from the TAs and your colleagues. TAs will help you with the mechanical details of using the hardware and the software, and they will give you help and hints towards solving the assignments. Be careful, though that the help you get from other than course staff is within the cooperation policies discussed in the Course Reference.

Come to lab regularly, even if you have access to a computer elsewhere. In past offerings of this class, there has been a strong correlation between attendance at labs and high lab scores; it apears that interaction with peers and the TAs helps you learn the material more quickly and completely.

. Much of computing is learned by (reasoned, careful) trial and error, trying things out to see what works. (That’s why little kids are so good at it; they learn everything that way.) But adults are often uncomfortable with the “error” part; they hate to “waste time” and are embarrassed when they make mistakes. But to learn the practical details, you’ll have to put that discomfort aside and be willing to experiment. If you are concerned an experiment might foul up your assignment, make a copy of that work before doing the experiment. If the experiment goes awry, you can use your copy to “back up” to where you were. Be prepared to tell the TA what you’ve already tried when you ask for help.

Don't lose it. Computers can be frustrating; it’s challenging to communicate with a dumb machine. If you feel like losing your temper (and nearly everyone who works with computers occasionally does), take a deep breath and remember: It’s only a machine. It’s only an assignment. It’s only a class. Someone is available who can find a way out of your difficulty (especially if you’ve started early and left adequate time).


Written by David G. Kay, Fall 1994, and revised, Fall 1995, with excerpts from previous versions
  prepared by Norman Jacobson, Julian Feldman, and David G. Kay
Minor revisions by Norman Jacobson, December 1995, December 1996, December 1997
Revised for the Fall 1999 offering of ICS21 by Norman Jacobson, September 1999
Minor revisions by Norman Jacobson, December 1999, June 2000
Minor revisions by Dan Frost, Norman Jacobson, Alex Thornton, September 2000
Minor revisions by Norman Jacobson, March 2002
Minor revisions for the Winter offering of ICS10A, by Norman Jacobson, December 2004