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