CSE 283 Introduction to Object Oriented Design
Barbara Nostrand, Ph.D.
CSE 283 Labs
Lab 5: Projects
1. Practice designing a solution to a problem;
Your instructor will assign you one of the following problems. To solve your problem, write a program that inputs the necessary information to compute and output the indicated values, as efficiently as possible. Use object-centered design, following the example in the lab exercise, and then employ stepwise translation to encode your algorithm in Java. Use methods and separate module classes where appropriate to make your code reusable. Then test your program thoroughly, using the facilities at your disposal.
5.1. Write a program called Grader that asks the user how many test scores they have, and then reads that many test scores, averages them, and displays the average and a pass/fail grade appropriate for that average (passing is 60 or higher, failing is below 60). Use a module method to average the input values.
5.2. Write a "password protection" method that you can use to guard your programs. When called, this method should ask the user for a password. It should allow the user N tries at entering the correct password, where N is a value received from its caller.. If the user enters the correct password, the method returns control to its caller, where execution proceeds as normal. If the user fails to enter the correct password after N tries, then the method should use System.exit(1) to terminate the program. Store your method in a separate module class, so that different programs can share it.
5.3. Proceed as in 5.1, but instead of displaying a pass/fail grade, the program should compute a "normal" letter grade (90-100 = A, 80-89 = B, 70-79 = C, 60-69 = D, ...).
5.4. Write two methods:
Your methods should check the value of n is positive; if not, they should display an informative error message and return 0.
Store them in a separately compiled module. Write a driver program that lets the user apply either of these methods to an input value, displaying the result.
Begining with this project, you should include a design document in your project directory. Ideally, your design document should be in PDF format. However, LaTeX and Nisus documents will also be accepted for this assignment.
You have already seen several examples of project designs. For example, the Software Engineering segment for this week contains the essential elements of a design document. Specifically, it contains the following elements:
Don't forget to clean up when you are all finished...
Last modified: 2007 OCT 28