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:
-
To reinforce the software development method.
-
To give you practice writing a simple program from scratch.
-
To give you practice using a package that is not part of the standard Java
Class Libraries.
-
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.
-
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.
-
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.
-
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:
-
a cover page identifying the programmers
-
the statement of the tasks
-
a written description of the application of the software development method to
each problem
(e.g. identifying the data and method requirements, showing the refinement
process)
-
the Java implemenation for both solutions (e.g code for both the application
and worker classes)
-
a description of the sample runs you made (the input you gave and the resulting
output). Submit the screen snapshots of your execution showing the input and
output.
-
a summary analysis that includes
-
What you found easy about writing the solution,
-
What you found difficult about writing the solution,
-
Identifying who did what, and how working as a team helped or hindered your
ability to complete the assignment,
-
Whether you think the software development method contributed to finding a
solution .
Each partner should upload to SOCS all of the above. The code you
write should include:
-
A clearly defined header identifying
-
the programmers
-
the course
-
the date
-
and the lab assignment (2)
-
Clearly commented code
-
Class definitions that follow the style of the examples given in class
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.