The most important part of the course is your development of a fully working web application by the end of the term. It needn't be overly complex or pretty from a UI perspective, but it must show at least a minimum amount of functionality and use of enough of the technologies we cover during the semester (see below for more details) to prove that you absorbed the course material.
Please start to think about what sort of application you'd like to try to construct as early as possible in the semester. Hopefully it would be something interesting, fun, and/or actually useful to you, but it need not have a fancy interface or be overly sophisticated to still be successful and earn a good grade. At a minimum however it needs to combine multiple client-side and server-side technologies into a fully working system, e.g., using JSP pages as a front-end to a Java Servlet which uses database connection pooling to talk with back-end DBMS, or an Ajax-based application showing asynchronous updates on the client, or perhaps even a simple Web Service of your own design which provides some interesting capabilities to other WS clients. The minimum success criteria for undergraduates and graduate students can be found in the 'Grading' section below.
By Session #6 you should have a pretty good idea of what you're thinking of working on. You'll be writing this up as a 2-page, single-spaced Vision Statement.
What's expected from you and by when: Besides the Vision Statement due by Session #6, a copy of the working code for your Web application should be delivered as a NetBeans project directory (a ZIP file of the whole directory structure is suggested) along with any other files needed to make the application run (e.g., MySQL table definition files, test data, etc.) to the teacher (i.e., uploaded to your 'termproject' FTP directory) by the next-to-last session (Session #12). In addition, you'll be delivering an in-class slide presentation (in Powerpoint, OpenOffice impress, or PDF format) which lasts no more than 10 minutes to the class. The presentation's talking points should outline the application's goals, its design, what technologies were chosen and how they were used, what issues arose during development and how they were addressed. As part of it, this presentation must demonstrate your working application to everyone, who will be critiquing it during the final class.
This is what needs to be in your Vision Statement:
I will need to sign off on your Vision Statement before you invest a lot of effort in actually implementing it.
And these are the deliverables due at the end of the semester by Session #12 which is the next-to-last class session:
The coding part of the project should include both a client and a server-side component. It should try to involve most, if not all, of the following elements:
After each presentation, the other class members will fill out an evaluation form while the next presenter gets ready. These will be turned in at the conclusion of the session to the teacher.
Minimum scope for a C grade (graduate or undergraduate):
For a B grade: The project must include more complexity and more code in addition to what is required for a C.
It should also contain at least three of the following elements:
For an undergraduate A grade: Implement all of the features listed above for a B plus one of the features below.
For a graduate A grade: The project must include still more complexity and more code. Implement all
of the features listed above for a B plus two of the features below.
For a Masters student special project-out-of-a-course: The project must seem more complete and functional, and be about 25% longer or more complex than an A-level project. If you have done a joint project with another student, each one must do part of the design and part of the implementation, and you must make clear who did what.