SDSU CS 596 Client-Server Programming
Assignment 6 Protocol Design

[To Assignment Index]
San Diego State University -- This page last updated March 28, 1996
----------

Assignment 6 - Grade Reporter Protocol
Due April 16
1) Design a protocol for GR, the Client-Server University's future grade reporter client/server system. GR is used by students during the semester to review their grades in the classes they are taking. All students are given unique login names and passwords when the enroll in CSU. After correctly login on, students can request to see their grades in one or all of their classes. A student's grades include the score and name of each grade event. For example Pete Chen's grades are given below.
namecoursehworkexam1exam2finalas1as2as3
Chen, Pete8992895779102029

A client can request a summary of the grades in the class. This information includes average score, maximum score obtained, minimum score obtained, total points possible for each item. This summary can be requested of a class without the user having to be in the class or even part of the university. Hence the user does not need a login or password to obtain this information. A summary might look like:
namecoursehworkexam1exam2finalas1as2as3
Points Possible1001009510085152040
Max score9599939885141838
Average score8489768472131320
Min score12553444133812

A client can request the grades of all students in a class. This information is provided without any student names. A student must be in a class to obtain this information about the class. This could look like:
coursehworkexam1exam2finalas1as2as3
8792855574101829
9298985578102030
839178517282129
8992895779102029
746859615510029
8095685546102029
7993675450101830
889285538492029
929286608592129

The protocol is not required to use the above formats.

Instructors are the only people allowed to add or change the grades. Each instructor has a login and password. Instructors need to be able to:
Enter a new class into GR
Add students to an existing class in GR
Remove a student from an existing class in GR
Change existing grades for a student in an existing class in GR
Add a new graded event (exams, assignments, etc. ) to an existing class in GR
Enter grades for all students for a new graded event
View all grades for all students in the class with student names displayed

Instructors can only change data for a class they teach.
What to turn in!

Three copies of the description of your protocol.
----------