The Grader Tool is comprised of three separate systems to be accessed by the professor, student, and TA. The standard version, to be used by professors, provides full functionality to create classes, add/update grades and students, and upload grades to the department server or SIS. The TA version is limited to editing grades only, and the student version is an web-based system that allows the student to check his/her grades.
Professor VersionIn the professor version, the major object is the Gradesheet which contains the student roster and list of categories/graded items in the class. Its implementation will be fairly straightforward as the Gradesheet object will contain categories which contain much of the application's complexities. The Category object can contain another Category (a 'sub-category') and weight, among other attributes. It's implementation will need to provide access to the weights of one's parent and sub-Categories to organize and adjust them properly, which suggests the use of a tree. The other objects in the Gradesheet are fairly straightforward. The different forms of Gradesheet viewing (graphs and statistics) will produce dynamic objects that do not need to exist in persistent storage. Rather, the views are computed from the underlying Gradesheet data, displayed on user demand, and then discarded. The Gradesheet data structure will need to provide access functions to support the different views.
TA VersionImplementation of the TA version will be very similar to the professor version except many features will be removed. Implementation of editing grades in the Gradesheet will be the same as the professor version. Implementation of the graphs will be similar to the professor version, removing the ability to move pie pieces or adjust the cut-off on the histogram.
Student VersionThe student version is accessed online via some given domain and his/her department login and password. Its implementation will be in html and accesses the necessary data from the department server.
Server ConnectionThe class roster is downloaded/updated through Student Information Services (SIS), and some interface must be established between the Grader Tool and SIS to do this. At the moment, SIS has not granted us permission to connect to their servers, and so we are working on the assumption that there will eventually be a way to connect through some login. A similar assumption is made with the department server, where grades will be uploaded for students to access.