Wellesley College, Summer 2003

CS111 Labs


Please click here to see the list of labs.


All labs are held in SCI 257 and are taught by Elena Machkasova.

Please keep in mind that the pace of programming is different for different people or even for the same person on different days. Sometimes you may get stuck on one exercise for a while, or just have a bad day. Don't get discouraged if you finish 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. I'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 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 I 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.

Labs

Monday, June 16
Lab 1: Introduction to BuggleWorld, writing simple Java code

Wednesday, June 18
Lab 2: Writing Java Methods

Friday, June 20
Lab 3: Writing fruitful methods (PictureWorld)

Monday, June 23
Lab 4: Conditionals

Wednesday, June 25
Lab 5: Recursion I

Thursday, June 26
Lab 6: Recursion II

Monday, June 30
Lab 7: Lists, Strings, Java applications.

Wednesday, July 2
Lab 8: Iteration

Thursday, July 3
Lab 9: Java graphics

Monday, July 7
Lab 10: Animation!

Wednesday, July 9
Lab 11: Arrays

That's all! Best of luck on your final!