CS 112b
Spring 2005
Ileana Streinu
Homework 1
Thursday 27 January, 2005
Due Wednesday 2/2/2005 by midnight, sharp
Outline
This homework has two parts. Part I asks you to finish all the small exercises
started in class on Thursday, and consists mainly in understanding and modifying
pre-existing code. Part II asks you to create a Java applet from scratch.
Part I
From Lecture 2. Finish the assigned exercises: 1-7. They should be done in
the directory Lab2.
Part II
Do this part in a directory called Hw1.
Create a Java applet using as many of the Java objects and features that you've encountered in doing
the lab exercises in Part I: buttons, simple drawings, simple mouse clicks (on buttons only), colors, text, printing
on the Java console, etc. In fact, I am not imposing any design constraint, just be as creative as you can
be, using what you have learned so far, and no more than that.
Please do not waste your time looking
on the web for cute programs using complicated and advanced ideas,
because I will spot right away if you'd be using advanced features that we have not yet
learned. I just want to see how creative you can be, using only what we have learned so far.
I also expect this to tell me something about your other interests, be they more artistic or more
technical, and help me design interesting future homeworks.
You can discuss with your lab partner, but the design should be entirely yours.
Therefore I expect to see here substantially different designs. You may also run an idea by me (send me an
email and give a brief description).
Here is an example of a very nice solution from a previous semester.
Grading guidelines
- For both Part I and Part II, your exercises must satisfy these criteria:
- Compile, run, done in the right directory, be visible from the Students web page.
Otherwise, you get zero points for the corresponding missing exercise.
- The java code must be documented in Javadoc style, with your name, class account and short description
of the program clearly visible in the documentation. Otherwise, you get 25% off the exercise for which this has
not been done.
- For part I: you must do all the required exercises. Each will be given approximately the same weight, so
do them all, starting with the easy ones. If an exercise asks you to do several things, do each one
in a separate directory ("version"), called V1, V2, etc. Make sure that all the required features have been
implemented. Otherwise a corresponding fraction will be taken off your homework. E.g. exercise 02-HelloJava
has 3 parts, so you will have three directories V1, V2 and V3. Not doing any of them cuts your points for
this exercise by one third.
- The grade for part II of the homework will be based on the following criteria:
- Does it work?
- How many Java features it uses. Were they added in stages? Were intermediate versions
kept?
- Is it well documented, readable?
- Overall creativity.
Ileana Streinu