CS111 Spring 2003 Labs

Please click here to see the list of labs.

All labs are held in SCI E101.

Lab Instructors and TAs:

10:30am lab: Elena Machkasova
2:15pm lab: Sohie Lee (after 3/7/03 Elena Machkasova)
4:10pm lab: Sohie Lee (after 3/7/03 Elena Machkasova)
Teaching Assistants:
10:30 Chelsea Tiffany
2:15 Inna Poliakova
4:10 Susanna Supalla
Please see the CS111 home page for the contact information.

Registering for Labs

You must register for a lab section in addition to a lecture section of CS111. Each student in the lab must have their own machine, so w\ e cannot accommodate more than 15 students in a lab. If the section you would like to get into does not have any more room, please register for a section that's available, and then try to find someone whom you can switch with. You may post on CS111-S03 Q&A to find someone you can switch with. After you have made the arrangements, please bring both drop/add forms (yours and the person's with whom you are switching) to Elena or Sohie to sign. If you need to attend a different section on a particular day, please send us an e-mail in advance to check if there is a space available.

Checkmarks for labs

Each lab consists of several tasks, each marked by a checkmark. We encourage you to show your work to a TA or a lab instructor when you are done with each task. This way you get important feedback on your work. We may take notes on how many exercises each student has completed. These notes are for our record only, they don't affect your grade.

Red checkmarks indicate that the exercise is crucial for understanding homework material. Usually you should be able to finish all such exercises during the lab. If you haven't finished all such exercises at the lab time, we strongly encourage you to finish all of them before you start working on the homework. If you need help, please come to our office hours, we are always happy to go over the lab exercises with you.

Please keep in mind that the pace of programming is different for different people. Sometimes you may get stuck on one exercise for a while, or just have a bad day. Don't get discouraged if you finished fewer exercises than another student in a lab, it doesn't by itself indicate that you are behind in understanding.

A Few Words About Labs

2-hour weekly labs are a part of CS111 course. Labs give hands-on experience with Java programming and problem solving. Labs provide a unique opportunity for you to ask questions (and get answers!) about problems that you might run into in writing or debugging a program or designing an algorithm. Labs also provide in depth discussion of important programming concepts and strategies. If you don't understand a concept, or would like to see an example, or want to understand an example given in class in more detail, the lab is a good place to ask.

Plan of a typical lab:

  1. A brief overview of the relevant lecture material. Occasionally we will introduce new (i.e. not covered in a lecture) material in a lab. We'll be happy to answer all your questions about the topic during the overview. This part of the lab should be very interactive.
  2. Instructions for the lab, possibly with an example of an exercise.
  3. Individual work on lab exercises. Please work at your own pace. It's OK if you don't finish all the exercises during the class time (but try to finish the red-checkmarked exercises after the lab before you start on the problem set). The lab TA and I will be happy to assist you if you get stuck. However, first try to work out a solution independently, you will learn much more if you try to figure out things on your own. Occasionally we may interrrupt work on the exercises to address problems that several students have encountered if we feel that it will help everyone in the class.


Wednesday, January 29
Lab 1: Introduction to Code Warrior and Java applications. The first Java program. Introduction to debugging.

Wednesday, February 5
Lab 2: Introduction to BuggleWorld, writing simple Java code

Wednesday, February 12
Lab 3: Java methods, JEMs.

Wednesday, February 19
Lab 4: Methods that return values; introduction to PictureWorld.

Wednesday, February 26
Lab 5: Conditionals + Review for Exam1 Solutions are in the project lab5_solutions in cs111d account.

Wednesday, March 5
Lab 6: Recursive JEM, recursive methods. Solutions are in the project lab6_solutions in cs111d account.

Wednesday, March 12
Lab 7: Recursive methods that return values. Solutions are in the project lab7_solutions in cs111d account.

Wednesday, March 26
Lab 8: Lists, Strings, StringList class Solutions are in the project lab8_solutions in cs111d account.

Wednesday, April 2
Lab 9: Iteration Solutions are in the project lab9_solutions in cs111d account.

Wednesday, April 9
Lab 10: Java graphics Solutions are in the project lab10_solutions in cs111d account.

Wednesday, April 16
Lab 11: Java Animation Solutions are in the project lab11_solutions in cs111d account. The solution for the "extra effort" problem is in the LabAnimation_solution_new_moon subfolder.

Wednesday, April 23
Lab 12: Arrays