Labs will be held on Wednesdays. We will post links to the lab assignments on this page just before each lab. You are responsible for all new material covered in the lab assignments (lab will largely reiterate course concepts, but will also introduce some new operators and some new data definitions -- these operators and data definitions may be covered on exams and assignments).
The labs are a bit long in the hopes of providing enough exercises for everyone. Work through the lab as far as you can. The lab handouts have markers on them indicating how far you should be able to get if you are following the course material. If you don't get through the basic material, you need to come to office hours for extra help.
Any new lab material that you are responsible for will be early enough in the lab assignment that everyone should get to it (reading the lab assignment should make it clear when new concepts are being introduced).
Lab participation will also count for 5% of your final grade. Participation means showing up (signing in) and staying for lab and working on the lab assignment (not your homework, email, etc). You will also submit your lab work electronically (using turnin) but we will not grade your labs. It's your responsibility to ask for help if you are having trouble.
If you have problems using turnin, consult with your lab leader about alternate methods of submission. The leaders of each lab are marked on the schedule.
NEW: One goal of CS 1101 is to help students see how computer science serves as a tool for solving problems in other disciplines. To this end, each lab (after the first one) has two sets of exercises, one of which applies computer science to problems from biology (thanks to Natasha Lloyd for developing these exercises). We welcome feedback on these exercises and how we could better help you see connections between computing and other disciplines.
Lab 1: August 31 (turnin as lab1)
Lab 2, September 7 (turnin as lab2)
Lab 3, September 14 (turnin as lab3), Exercises on microbiology
If you are comfortable with the basic list functions, first finish writing sort (and insert) from Tuesday's lecture. Then start with question 7 on the lab.
Lab 4, September 21 (turnin as lab4)
For this week's lab, you may get more practice with lists of structures or you may begin practicing the material introduced in Tuesday's lecture. We recommend that only students who are still struggling badly with list of structures or students who were lost in Tuesday's lecture do the basic list of structures problems, as trees will appear on exam 2.
Option 1:Exercises on trees (biology-based, recommended for most students)
Option 2: Advanced exercises using list of structures. Advanced programming techniques for lists that avoid some of the repetition arising from templates. Useful and interesting for students continuing in CS, but will not appear on tests. Suitable for students doing well who want to play with some nifty advanced material.
Option 3: Writing gradebooks (lists of structures)
Option 4: Genetics (biology-based list of structures: download and open the lab file in DrScheme)
Lab 5, September 28 (turnin as lab5)
Option 1: Lab on simple trees (biology-based, same as option 1 from lab 4)
Option 2: Lab on complex trees (similar difficulty to last homework)
Option 3 (advanced):
Work through the exercises on Evaluating Scheme in HTDP. These exercises have you write programs that evaluate other programs. Those continuing as CS majors would find this useful.
Lab 6, October 5 (turnin at lab6)
Lab 7: Optional exam help sessions; October 12.
This page maintained by Kathi Fisler
Department of Computer Science Worcester Polytechnic Institute