CSC 211 -  Programming in Java I

Assignment 1: Picture This

Due: Monday, April 6 at 1:20 PM

Reading

Chapter 1 and 2 (pages 1 - 117) in Java Programming: From Problem Analysis to Program Design, 3rd Edition, by D. S. Malik, Thomson Course Technology, 2008.

Assignment

This assignment has multiple parts.  All parts must be completed for full credit.

Part 1: Installing Java and an IDE on your system

  1. Install the Java SE JDK 6 Update 13 from the Sun site.  There are instructions available under ‘Resources’ on the class syllabus page.
  2. Unless you intend to use the command-line environment, you also need to install an integrated development environment (IDE).  You must install the JDK first and then install an IDE in order for the IDE to function properly.  You are not required to use any particular IDE, although we will use BlueJ during class.  BlueJ can be downloaded at http://www.bluej.org/download/download.html  If you are using a Mac at home, the tutorial on installing and running Java on Macs might be helpful for you.

Part 2: Algorithms and "right-click" programming

For this part of the assignment you will work with another member of the class.  Within a day or two of our first lecture, I will post the assignments of teams to the COL site.  You must contact your assigned teammate and complete your work with that person.  E-mail me (see syllabus) if you are having problems contacting your assigned partner.

  1. Contact the classmate assigned as your partner.  In the text below you are referred to as A and your partner is referred to as B.
  2. Design a picture using only shapes from the BlueJ Shapes project.  The picture should contain at least one shape from each class in the project and must be substantially different from the dream house picture we used in class.  I will refer to this as "A's picture".
  3. (20 points) Write an algorithm (only English or JEnglish, no Java) that describes the necessary steps to create "A's picture".  Save these instructions in a Word file called toBfromA.doc (where you substitute your last name for A and your partner's last name for B).  Send the file the B and ask him/her to create the picture based on your instructions.
  4. (20 points) In BlueJ, open the picture project included in the Lab 1 files.  Using "right-click" programming, create "A's picture", take a screen shot of it, and save it in a file called A_picture.doc (or a file called A_picture.jpg).  Do not send this image to B.  You will need to submit it with the rest of your assignment.
  5. (20 points) Ask B to send you the algorithm for his/her picture.  Using "right-click" programming, create "B's picture", take a screen shot of it, and paste it under the algorithm you received from B.

Part 3: Do you Java?

  1. (25 points) Modify the PictureDriver.java class in the picture project found in the Lab 1 materials available on the course web page (NOT the picture project loaded into the BlueJ installation) so that it will draw A's picture when run.  Compile and run PictureDriver.java using BlueJ.
  2. (5 points) At the beginning of the file include as comments your full name, your class name and section, and the homework number.

Part 4: How was it?

(10 points) Create a short ReadMe Word or text file (ReadMe.doc or ReadMe.txt) containing the following information:

  1. Your full name and the name of the person you worked with on Part 2.
  2. Class, section, and homework number
  3. A couple of paragraphs describing the main difficulties encountered when completing this assignment as well as the aspect that was the most fun.

Submitting the assignment

You must submit the assignment using the online homework submission system on the COL site.  Instructions on submitting assignments using the COL site are available.  Create a .zip file with the necessary documents from each part of the assignment (i.e. toBfromA.doc, A's picture, B's picture, the modified PictureDrive.java file with comments, and the ReadMe file) and upload this file to the COL site.  The .zip file should be called yourLastName.zip where yourLastName is your last name.

Late assignments are accepted but will be penalized daily.  See the syllabus for grading information.

Grading

The assignment is worth 100 points.  The points for each part are indicated above.