Project 2
CPE 437
Part 1, individual, due 8/4/09
Part 2, done in two-person teams, assigned by me, due 8/14/09
Part 1
1. Fix all IHS errors
There are roughly 10 errors in the IHS sample code you were given. Fix them. Most will be obvious, causing immediate faults. Some require more careful testing. Note the errors you find and fix; you’ll need to submit a summary of them.
Ultimately, you must have an IHS build that works just like mine, on the *student* side, including automatic grading.
2. Post your work
Post an “IHS” application, along the same lines as you did your Project 1 app, and with the same rules regarding points for finding bugs.
Part 2
1. Get a partner
Speak with me to get a partner assigned. I’ll take requests and will honor them as long as you and your partner are finishing Part 1 at about the same time. Partners must be grouped approximately according to Part 1 finish time.
2. Add a Teacher home page
a. Augment the Model so that a Teacher and Student may be independently (even simultaneously) enrolled. Break into two sub Models, one for Teacher activity, the other for student activity.
b. Add an option to register as a teacher, a student, or both. Route preferentially to the teacher home page if both are registered at once.
c. Add “Login as Teacher” option to login form. Route to teacher home page in this case.
d. Add Student.equals and Teacher.equals methods that will work even if a Student and Teacher entry share the same Person base data. These may be at most one line long.
e. Fill in #enrolled data per Wbk by special HQL doing just a count, not a load of all Enrollments.
f. The constants 40, 50, and 60 expressing limits on names, passwords/codes, and emails must appear only once, in ...dto.Person
3. Add the expanded Workbook page
Generate a Workbook page like mine. You will probably find you need to use straight JSP for this, due to the unpredictable number of Assignments.
4. Add Assignment History page
Add the Assignment page like mine. Again, you’ll need to use JSP for this.
5. Add Assignment/Student page
Using JSF, add a
page detailing a student’s attempts for a given assignment.
6. Demo your work for me.
Evaluation for part 2 is by demo. Have a working app ready, plus easily browseable source. Be prepared to answer questions on your partner’s work as well as your own.