CSE 115 - Fall 2006 - Banner
   CSE 115 - Fall 2006 - Introduction to Computer Science for Majors I
CSE 115 - Fall 2006 - Left Navigation CSE 115 - Fall 2006 - Lab 4

Lab 4

Introduction

We have spent this past week learning about methods and how to use them to communicate with our objects.  We have also learned that objects can have a common interface.  If objects share an interface, then we know something about the capabilities those objects had in common.  We might not know exactly how a particular object will react to a particular message, but have the important knowledge that an object CAN react to that message. 


Objectives

The high-level objectives of this lab are to have you,
  • use instances of classes that share a common interface
  • call methods on objects
  • implement a design which is provided to you in the form of a UML diagram.
The following are the new concepts covered in this lab:
  • calling methods,
  • passing parameters.

Assignment Specifications

The fields of DNA analysis and forensic science are exploding with interesting problems to explore.  From mapping the human genome to solving the crime of the century, these fields have taken over the spotlight in recent times showcasing where real cutting-edge discoveries are happening often.

For this lab, you will play the role of investigator, analyzing a set of unidentified cells and observing their behaviors to try to help determine how the cells react under certain circumstances. 

What do we know about cells?  Put away your Intro to Bio textbook, and instead, look here at the ICell interface.  All cells will implement this interface and have each of these methods defined on them.  Let's take a moment to discuss each of these methods now.

public void grow()

Given the right circumstances in a laboratory environment, cells can grow.  Luckily for us, the Applet class in Lab 4 provides such an environment for our cells.  Asking a cell to grow will enable you to see the unique way that each cell changes as it grows.

public void die()

We can also contribute to the death of our cells in the laboratory environment.  When we ask cell to die, you will be able to see the unique way in which each type of cell dies.

public void stain (cse115.graphics.colors.Color color)

When looking at our cells, it is often times better if we can stain or die them a particular color so we can see them better during observation.  This method will allow us to give a color of our choice to our cells.  Note that some cells accept stains and change colors, while other cells' behavior can be far more elaborate.

 


Helpful Hints

Read through the entire lab before you start working, so that you know what to expect. Make sure you save your work often, and keep track of what you are expected to submit.

Do not be afraid to refer to earlier labs to recall what things mean or what commands are available for you to use.


Reading

Make sure you have read chapter 2 and 3 of the book before coming to lab. Also make sure you have reviewed your lecture notes.


Lab set-up tasks (If you are working at home see these directions for this lab)

At your lab session your teaching assistant will briefly discuss how to carry out each of the set-up tasks below. She or he will also be available to answer questions you might have. Before you start work on the lab itself, you must carry out each of the following set-up tasks. Your teaching assistant will guide you through this process. Refer back to other lab assignments if you do not remember how to complete these tasks.

Step 1: Log in

Step 2: Start Eclipse

Step 3: Check out Lab4 project from LabSkeletons repository

Step 4: Begin work on your assignment 


Lab Design

Once again, the TAs will help you to develop the appropriate class diagram for this assignment in recitation. Your submitted lab must implement the UML class diagram discussed in recitation. When running this lab, you should set your size preferences to 750 wide by 300 tall to see the entirety of the cell observatory. If you do not remember how to do this, refer back to Lab 3.

In short, the Applet class provided for you will use a class called CellObservatory.  Inside the CellObservatory, you will get three instances of objects that implement the ICell interface and on each one call one of the methods that ICells have defined on them.  Note that you should make a different method call on each of the three instances of ICells in your CellObservatory.  The order in which you call the methods is up to you. 

Remember that if a method takes a parameter, you will need to pass the appropriate value for that parameter.

Getting the cells to call the methods on will be accomplished through the use of a RandomCellGenerator.  Take note of the class lab4lib.RandomCellGenerator.  This class has a method defined in it called randomCell().  Every time that method is called, it returns an instance of a cell that implements the ICell interface.  You will make three calls to this method to get your three cells.  Your TA will go over more about this in recitation this week.

You should be sure to check out all of the Javadocs for the Classlibs.jar, located here.

Build up the Code Incrementally

As we said in the last lab, it is important to build your code in small stages until you get to the finished product.  You should write the part of the code so that Applet uses a CellObservatory first, then run it.  Then, create one cell and call one method on it, and run your code again.  Continue in this manner until you have all three cells and have called all three methods.  Notice that each time you run your program, you will get a different set of cells in your observatory.


What you hand in

When you are finished, you need to export your solution from the Eclipse environment so that you can submit it.  You need to follow the same steps as you did for disconnecting from the repository and exporting as you did in Lab 2.  If you are not sure how to do this, please refer back to those instructions.  This time, you should name your Jar file Lab4.jar.

Then you can submit the Lab4.jar file using the electronic submission program.  If you do not remember how to use the the submission program, refer back to earlier labs.


Due dates

You have one week from the meeting of your lab to submit your solution.  The due dates are summarized in the table below. You are always welcome to submit early. If you submit more than once, the later submission will simply overwrite the previous one.

To check that your lab was submitted, you can always refer back to the Submit Inspector on the Resources page of the website. After you have entered your user name, your submissions will be shown. Clicking on the name of a file that is a zip file will show you the contents of the zip file so you can verify that you indeed zipped up all the correct files.

Date of lab Due date for electronic submission
Wednesday, September 27 Tuesday, October 3
Thursday, September 28 Wednesday, October 4
Friday, September 29 Thursday, October 5
Tuesday, October 3 Monday, October 9

 

CSE 115 - Fall 2006 - Footer

 

 
Last modified: Sun Sep 24 20:01:52 2006