1. This project is worth 600 points Due on March 30th
2. The program must include the following 14 items. Each item is worth 25 points.

1. Wrapper classes – Integer AND Double ( with int Value(), double Value() methods )
2. Relational (==, !=, >, >=, <, <=) and Logical Operators ( &&, ||, !) - At least 5 total
3. One or more “if-then-else” statements
4. One or more “while/for loops”
5. At least ONE interface and THREE classes (one of which MUST be abstract), not including class Test in “Test. java” – which brings the total to FIVE.
6. Interaction between all four classes/interfaces (i.e. each class must interact with AT LEAST one other class (not-including class Test in “Test. java”)
7. An Inheritance hierarchy must be implemented with the student-designed classes (i.e. not
the action Listener interface)
8. At least one interface must be implemented with student-designed classes.
9. Polymorphism must be implemented with the student designed classes.
10. Class Array List must be used in at least ONE student designed class and it MUST be traversed through AND accessed via an Iterator.
11. Comments explaining logic and operation of program at “key points”
12. Animation OR Graphical Interface must be implemented
13. Meaningful variable names
14. “javadocs” must created for your project (n.b. each method should be commented according to javadoc specifications)

With pencil, place a box around each section of code that satisfies a requirement. Therefore, you should have 13 sections of boxed code that represent the 14 required sections of code. A hardcopy of the javadocs generated for your project should be placed after the source code printout.

Subtotal = 350 points

3. A TWO-page single-spaced TYPED description and computer generated UML class diagrams describing your project is due AT THE BEGINNING OF CLASS ON 2/5_____________. It should outline what your project will do (whether it be a game or some other program). At this time I will let you know whether the project is too simple or too complex for a final project. This does not have to be a final design; you may (and probably will) make design changes. The proposal is worth 50 points.

Subtotal = 400 points

4. A SECOND TWO page single-spaced TYPED description and computer generated UML class diagrams describing your project is due AT THE BEGINNING OF CLASS ON __2/13_________. This SECOND proposal should include any changes/additions/deletions that you make to your first proposal. Do not just submit the first proposal and few changes . This should be an enhancement to the first proposal. The second proposal is worth 50 points.

Subtotal = 450 points


5. Some ideas for projects are:

1-Program to Check a Sudoku Solution
2-Frequency Histograms*
3-How Many Letters and Histogram them?
4-Wild About Wildcards UNO
5-Parking Meter(Running @ violating) time left/5,10,25,1.00/
6-15-puzzle 4 x 4 array (1-15 + open index)
7-Bar Code genrator(POS)
8-ATM or CC - Card and transactions
9-Non attacking queen
10-3d Maze
11-Video rental store
12 -Calculator
13-Banking account
14-Ed-line like
15-Vending machine
16-Slot machine
17-Phone Book (310-generator or locator)
18-Hotel reservation
19-Air line ticketing / boarding
20-PVPHS library chick (in/Out)
21-Billing system
22-DMV registration (vehicle)

6. The Final Project is due on your assigned lottery date. ONE HUNDRED (100) POINTS WILL BE DEDUCTED FOR LATE PROJECTS (per week) .

7. A Powerpoint presentation should be given on your lottery date. The presentation will be worth 120 points. The presentation shall have, at minimum, the following slides:

a. Title
b. Description of program operation (or how game is played)
c. Demonstration of Program (Task switch from Powerpoint presentation to your program using Alt-Tab)
d. UML Diagrams for each class
e. Use of classes/objects in project - elaborate on how classes represent physical objects in your program (be prepared to justify class names, class data member names, class method names…)
f. Description of class interaction (be prepared to talk about which classes create each of the other classes)
g. Description of use of an inheritance hierarchy (be prepared to justify structure)
h. Description of use of an interface (be prepared to justify its use with other classes)
i. Description of use of polymorphism (include a code snippet that demonstrates polymorphism)
j. Special features implemented in program - elaborate on tricks/special things you did
k. Known bugs in program
l. Citation of “second-party” code used in program (be able to explain code)
m. Conclusion - Summary of what you thought of writing the program
i. Difficulty level,
ii. "Fun" level,
iii. Your evaluation of the final product,
iv. What you learned (be specific)
n. Questions? (this is simply a slide that says “Questions?” that keys the audience for any questions they might have)

Subtotal = 570 points

8. Source code and disks should be submitted in a 1” THREE RING BINDER (see example in class). The items that should be turned in are as follows:


A. Printouts
- Source Code with complete comments and javadocs (printed in landscape mode)
- Computer-generated UML Diagrams
- Powerpoint presentation slides (print 6 slides per page)

B. Disks - include TWO copies of your CD, both of which should include the following:
- Source Code with complete comments
- javadocs
- Computer-generated UML Diagram
- Powerpoint presentation

DO NOT INCLUDE ANY MISCELLANEOUS FILES FROM ANY OTHER CLASS ON YOUR DISKS. IF ANY OTHER FILES ARE LOCATED ON THE DISK, IT WILL RESULT IN A 50 POINT DEDUCTION.
Any deviation from these guidelines will result in a 100 point deduction in points.

Point Distribution
Project Proposal I 50 points
Project Proposal II 50 points
Requirements 1-14 350 points (disk and printout is required for full credit)
PowerPoint Presentation 120 points (disk and printout is required for full credit)
Progress sheet 30 points (this is a weekly check on your project by me)

Total points 600 points

Pointers for your final project:

1. START EARLY!! Don’t wait until the last week to begin your project!!
2. Make sure you have all printouts on the presentation day!!
3. Make sure you have MANY copies of your disk with PowerPoint presentation, source code and executable file (you can never have too many copies).
4. Test your program on the presentation computer before the presentation date.
5. Use of block comments ( /* */ ) for commenting large sections of code.
6. Using System.out.println statements to display values during the debugging process.
7. MAKE BACKUPS OF YOUR WORK!!
8. And, of course,…
HAVE FUN :-) !!