CS-360 Final Project (15% of the final grade)
Due Date: Tuesday, 12-11-07, 10:30 A.M.
NO PROJECTS WILL BE ACCEPTED AFTER THIS DEADLINE


GUIDELINES:

The project can be any Microsoft .NET windows form, ASP.NET web form, 
ASP.NET web service/client, or ADO.NET data base application that you 
have written. It can be an application that is completely different from 
any of the earlier class assignments or an extension to any of them that 
used .NET. It can also be an alteration/extension of a program from the 
text book or from any other source. If it is a modification of some 
other program or earlier assignment, the modification should be SUBSTANTIAL, 
NON-TRIVIAL. If you are extending or changing a program from another 
source, you should document where the original program came from and how 
it is being altered.

You must document EXACTLY which compiler (including version) and what 
operating system you used. You must give PRECISE instructions (including 
compiler options and required libraries, if relevant) as to how to build 
the project. You must submit the entire project with ALL the files necessary 
to build it as on a diskette or CD-ROM on or before the deadline. You must 
also give precise instructions on how to  use the application. IF WE ARE 
UNABLE TO COMPILE YOUR PROJECT OR DON'T KNOW HOW TO USE IT, YOU WILL RECEIVE 
VERY LITTLE, IF ANY, CREDIT!
The source files should be well documented. There should be a README file 
that explains how to build the project and gives the user instructions on 
how to use the program and on its limitations.

GRADING CRITERIA FOR THE FINAL PROJECT. (Not in any specific order)

General originality and creativity in the choice of project. Is it an 
"interesting" application? Does it make use of concepts learned in this 
class?

The general level of difficulty. How challenging was the application?

Good, friendly, intuitive user interface.

Implementation. Does the application build and run correctly? Does it do 
what it's supposed to do in the way it should? Many points will be taken 
off if the program crashes unexpectedly or has an undesirable behavior.

Aesthetics. Is the application aesthetically pleasing? Does it give the
user pleasure to use? This is a very nebulous criterion, but some points
will be taken off if the application gives the user an unpleasant or
sensation when he/she runs it.

Ease of use. Applications that are hard to use generally will NOT be
used--even if they are interesting. How intuitive is the interface? This
is very important in the real world. Points will be taken off if at any 
time the user feels "lost" when he/she is using the application.

Error handling. Is the application "bullet proof"? Does it handle bad 
input from the user in a suitable way? Is it robust?

Documentation. Does the README file really explain how to build and use
the project? Is the code readable, understandable, and well commented?

Program Limitations. Are there situations that the application doesn't
handle? How does gracefully does it respond to those situations? At the
very least program limitations should be explained in the README file.

Program style. Are sound programming practices used? Is the code
efficient, logical, readable, and well structured?


Projects that don't compile (after the README instructions have been
followed) will be severely penalized. Projects that don't run will also
receive a large penalty.


Any project found to be copied (from another student, from a book, or any
other source) is grounds for an F in the course!


Specific Grading Key for the CS-360 Final Project:

1. Project builds (compiles, links, etc.) correctly.....................05

2. Program Runs and does what it's supposed to do without crashing or
   other "strange" behavior.............................................25

3. Overall originality & creativity in the choice, design, & 
   implementation of the application....................................20

4. Overall Level of difficulty of the application.......................20

5. Correct & creative use of available tools for the type of project....05

6. Friendly, intuitive, pleasing, easy-to-use user interface............05

7. Error handling and program limitations...............................05

7. Documentation (internal comments and external README)................10

8. Program style........................................................05


9. Extra Points (maximum)...............................................10