Homework 2
CS520, Fall 2011

Due: Thursday, October 13

Please upload your files to CSNS. The files should include all the source code, documentation (optional), and an HTML file hw2.html, which contains a link to your application deployed on the CS3 server. Note that file uploading will be disabled automatically after 11:59PM of the due date, so please turn in your work on time.


[Rubrics]  A rubric, according to Merriam-Webster, is a "guide listing specific criteria for grading or scoring academic papers, projects, or tests". For example, the department  program assessment page lists five rubrics that are used to evaluate the students in several areas. In this assignment, you are going to implement a web application that allows users to create and display rubrics. Your implementation must use servlet/JSP and the MVC architecture. The rubrics can be stored in application scope, i.e. you do not need to use a database for this assignment. Note that no scripting elements are allowed in JSP pages, and no JavaScript is allowed either.

1. (10pt) The default page of the application lists the names of the existing rubrics. For example:

CS520 Rubrics


Create New Rubric

2. (20pt) If a user clicks on the name of a rubric, the application displays the rubric as follows:

CS520 Rubrics

Rubrics - Teamwork
Criteria 1 2 3 4 5
Participation Does not provide any ideas when participating in the group and in classroom discussion. Refuses to participate. Rarely provides useful ideas when participating in the group and in classroom discussion. May refuse to participate. Sometimes provides useful ideas when participating in the group and in classroom discussion. A satisfactory group member who does what is required. Usually provides useful ideas when participating in the group and in classroom discussion. Routinely provides useful ideas when participating in the group and in classroom discussion.
Problem Solving Pretends to solve problems; Causes disruption to others work. Does not try to solve problems or help others solve problems. Lets others do the work. Does not suggest or refine solutions, but is willing to try out solutions suggested by others. Refines solutions suggested by others. Actively looks for and suggests solutions to problems.

Note that clicking on the link "Rubrics" should take the user back to the rubrics listing page.

3. (50pt) A user may click on "Create New Rubric" to create a new rubric. Rubric creation takes several step, as illustrated below:

CS520 Rubrics

Rubrics - New Rubric

Rubric Name:
Rating Scale: 1 to


In the first screen, the user is asked to enter the name of the rubric and select a rating scale. The minimum rating is always 1, and the maximum rating could  be either 3, 4, or 5. After the user clicks the next button, the application displays the next screen where the user can add a criterion to the rubric. For example:

CS520 Rubrics

Rubrics - New Rubric - Add Criterion

Criterion Name: 

Rating Descriptions:
1 2 3

 

Note that the number of text areas for the rating descriptions should be the same as the max rating selected by the user in the first screen. A user can add as many criteria as they want - each time the user clicks the "Add Criterion" button, a criterion is added to the rubric, and the user is taken back to this screen to add another one. Once all ceriteria are added, the user can click the "Finish" button, and the application should take the user back to the rubrics listing page where the newly added rubric is listed.

For simplicity we assume that user input will always be correct, so you do not need to implement any input validation.