CS 3110 Lab Guidelines
Labs are hands-on exercises designed to complement lecture: they review some material, go deeper into other material, and introduce new material. The hands-on experience you get in the labs is essential to mastering the content of 3110. The idea is that you work on a lab between the surrounding lectures. Since recitations also occur between lectures, they are a natural and encouraged place to ask questions about labs.
Working together is a great idea, and solving the lab exercises with a partner is strongly encouraged. Feel free to mix it up and change partners at any point. You may discuss your lab work with anyone in the course.
Difficulty. The lab exercises are annotated with a difficulty rating:
One star [✭]: easy exercises that should take only a minute or two. Get in the habit of working these as soon as you reach them.
Two stars [✭✭]: straightforward exercises that should take a few minutes. If you get stuck on these, we recommend asking a consultant for help in office hours, or asking a TA to review them in recitation.
Three stars [✭✭✭]: exercises that might require anywhere from five to twenty minutes or so. You might want to skip these on your first pass through the lab and come back to them later.
Four [✭✭✭✭] or more stars: challenging or time-consuming exercises provided for students who want to dig deeper into the material.
Some exercises are annotated "advanced" or "optional". It's possible we've misjudged the difficulty of a problem from time to time. Let us know if you think an annotation is off.
We highly recommend that you complete the non-optional, non-advanced, one and two star exercises for each lab before the next lecture occurs. Otherwise you risk falling behind in the course.
Solutions. Solutions to lab exercises will be posted, usually by the time the next lecture occurs. We provide solutions for the one through three star non-optional, non-advanced exercises. We warn you of the danger of looking at solutions before solving problems yourself. It's easy to convince yourself that the solution looks right, but it's hard to internalize a solution when you didn't come up with the idea yourself.
You may not post your solutions or repost our solutions anywhere, especially not in public repositories where they could be found by search engines. Some of these exercises have been used as homework and exam problems in the past, and some of them may again be used in the future.
Exams. Lab exercises are a good source of exam questions. A good way to study for an exam is to finish any exercises you haven't already completed, as well as to rework previously completed exercises. You might even discover better solutions when you revisit old exercises.