Lab Assignment 2

CSC 220 


Posted: February 07, 2005

Due: February 14, 2005

DO NOT IMMEDIATELY ATTEMPT TO PRINT THIS OUT. YOU WILL SWAMP THE PRINTERS AND WASTE PRECIOUS LAB TIME. YOU MAY OPEN MORE THAN ONE WINDOW! KEEP THIS PAGE OPEN WHILE YOU WORK.

Introduction

This lab is intended to give you practice writing a complete program using the software development method. You should do this lab with a partner. Individuals who wish to work alone must get permission from their instructor. Only a single group of three will be allowed. Collaborate with some one in your section only.

Objectives of the Lab:

  1. To reinforce the software development method.
  2. To give you practice writing a simple program from scratch.
  3. To give you practice using a package that is not part of the standard Java Class Libraries.
  4. To foster collaboration and give you insight into how the development method can be used to parcel a task between people.

The Task:

Your friends are traveling in Europe and send you reports via the WWW that there are wild fluctuations in temperature. But you can't understand them because they are reporting Celsius rather that Fahrenheit. You and your partner are to write two programs. One converts Celsius to Fahrenheit, the other converts Fahrenheit to Celsius.

Requirements:

You and your partner are each expected to write a complete program. Do not write a single program that does both tasks described above. Use the software development method to develop your code. Write both an application class and a worker class and use the JOptionPane class to handle input and output. The TwoNumbers developed in class will provide an insight on how to do conversions from the String class to primitive data types.

Divide the work as follows, one partner is refered to a "A", the other as "B". If you are working in a group of three, then see your instructor for how to divide the work.

  1. Partner "A" should design the solution to the problem of converting from Celsius to Fahrenheit. Partner "B" should design the solution for converting the other way.
  2. Partner B takes A's design and implements the solution as Java code. Partner A takes B's solution and implements the solution as Java code. If either finds problems with the design of the other, provide appropriate feedback.
  3. Partner B takes A's implementation and tests it. Partner B takes A's implementation and tests it. Again, provide appropriate feedback to fix any problems.
Submit a paper lab report during your class meeting on the due date. Submit only one report per partnership. The lab report should be produced on a word processor. Staple the completed report in the upper left corner. Do not use a report cover. The lab report should include in order: Each partner should upload to SOCS  all of the above. The code you write should include:

Hints and Other Advice:

In order to use packages you must set the CLASSPATH environment to point to the package as well as your working directory. You do this by typing
setenv CLASSPATH ?????.
You will have to figure out the conversion formulas between Celsius to Fahrenheit. Have fun!

You will have to learn how to use the printers in the various labs. Ask your professor, you classmates, the consultants for help.

ASK!!!!!!! your professor questions, in class, in lab, during office hours and especially via email. Please do not phone.

You may get help from classmates, tutors and other students outside your team on system technicals, syntax bugs, and small issues related to the Java language.

You may NOT get help from the above groups to develop the solution or to initially implement your code. If you cannot get to the stage of implementing Java code, please see me during lab, send email or visit during my office hours.

The due date is considered the "last possible" moment to submit a report. You should be able to complete this project in a few days. A "down" system on the morning the lab is due will not cause an extension of the due date. Other universal calamities may be negotiated with the entire class. The point: hand SOMETHING of worth (e.g. the development process) in by the due date.