# 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.