Project and Presentation Grading Guide
If you do well in the project, you will do well in the class.
This is true for people trying to get an A or trying to get a C-.
So, work hard and have fun with it. The total points of the final
project is 250 and the project presentation is 100. And 40 extra
credit points will be given. Thus, by doing well in the project
... you can have 250 + 40 + 100 = 390 points !!!
General Project Grading
If you implement all the basic functions under our
project description, you will have a maximum of 200 points.
Points will be taken off when something does not work.
For the other 50 points, you can get them by providing extra
functions. Examples are using JDBC, priorty queue in scheduling,
very nice interface, shipping cart, agent indexing, etc. But
remember you have to write most of the code and docment down all
Notes to Remember
- Read the project
description over and over again and make sure you
understand it. If you "get around" a certain
feature in the project, document it down. For example, if
you implement your own Java server instead of using a web
server - Say so.
- Provide a quick checklist (not essay) for grading. List
all the functions implemented (Basic or Extra).
- Provide DETAILED test cases for me to run.
- Document everything you DO. Basic functions or extra
functions. Without documentation in the requirement
document, design document, and a check list, I might not
able to spot all the functions implemented.
- Write only what is needed. I need a project, not a phone
book .. use double size printing, better fonts, bind it,
- Test you code really really well and AVOID fatal mistake.
In other words, if you have a bug that will hang the
whole system ... fix it before you hand it in. For
example, in the phonebook exercise, a lot of people do
not use one line of code to check if PREV and NEXT walk
out of bound. In most cases, if the phonebook is out of
bound an exception will pop up and the whole thing hang.
... You really do not want to have similar scenario
happen in grading the project.
- Do not put it stuffs that DOES NOT work. If it does not
work, cut it out so it will not affect other features.
Again for example, in the phonebook exercise, a few
people put in a SAVE function that does not work and it
will hang the whole program if clicked on ... avoid this
kind of things in the project.
- MAKE SURE YOUR PROJECT IS GRADE-ABLE ... otherwise, what
can I do ?
- Remember to handin the requirement and design documents
again (use double size and better fonts, otherwise,
points off :(
- All documentations should be in hard as well as soft copy
- By the way, I will keep all the projects for audit
purpose (so, they will not be return)
Extra Credit (40 points outside of the 250)
- When sync up the Sales sites and the Main site in the
project. You actually copy stuffs from mutliple (at least
two) sale sites to the main site. And we called this
"copy" - Replication - in the industry. Since
we are doing that on the Internet, we could call it Internet
- In doing the project, all you need to do is to copy
everything in the sales sites to the main site. But can
you do it better ?
- What happen if your project is deployed in the Internet
and multiple users are accessing all the sites at the
same time ? Do you have a locking problem ? Can you keep
the sites data in sync ? Do you need a controller ?
- What happen if the data in the sale sites are so big
(millions of records) and replicating the whole site is
not an option ? Can you just replicate the changes ?
- What happen if the format of your data file or the
database schema changes in the sale sites, can you
replicate the format changes dynamically to the main site
- (You could think of more problem with replication on the
Internet ... )
In this extra credit part, you need to provide a design
as well as implementation for Internet Replication. You should be
able to use your project to test out your implementation. Your
design and implementation should address the above problems (data
format change, replicate changes and multiple users). All coding
must be in Java. A mini requirement, design and coding doc is
required. Grading on this parts depends a lot on whether your
idea as well as coding actually work.
(As pointers: 1. You might be able to use XML to
"implement" your sales site data, so internet
replication come with central control ... 2. You might be able to
use an Agent (a separate program) to do indexing on sales/main
sites and do replication based on the index ... 3. Think deep ...
- Style is free but group relatively grading will be used
(so, which ever group looks the coolest will be awarded
the most points in this catalog)
- Do somekind of demo or screen capture
- Show you architecture and design
- Discuss the advantages and disadvantages of your
- Compared the difference with other people (you could
- Show the cool extra features if there is any
- Discuss your replication theory/design/implementation if
- Put other interesting stuffs you could think of
- Handin a soft copy as well as hard copy to me
- Distribute handout to classmate if recommeded
- Survive Q&A from your classmates
- (We will schedule time later on)
As I mentioned in the beginning of the class, this is a tough
class with relatively easy grading. So, there is 110 points of
extra credit in a 1000 points course ... For people looking for
an A, work hard and get to the 90% mark. For people in the bottom
of the scale, work hard and get out of it ! I only like giving A
but not anything below C- ... YOU control your own grade !
(This page will be posted in the web site)