cs190 Project Requirements Doc: Virtual Teacher's Assistant Sort-of-silly premise: Before the creation of student TAs as hired labor, professors had to do much in the way of busywork in order to keep a class running smoothly and efficiently. With the institution of TAs, however, the professor is free to teach while the TAs handle the administrativa of grading smaller assignments, updating the course webpage, et cetera. However, the demands of today's society and various technological advances have allowed us to move forward in removing many of the burdens of work from the TA (or at least make them easier). To that end, this program is an organizational tool which allows for the more mechanical parts of the job to be done easier. Users: This program will be used mainly by the professors, TAs, and students of courses that have TAs, but it can run without the TA modules as well (as the professor has all the capabilities of the TAs). Requirements: GUI: The program will have a different look-and-feel for students, TAs, and the professor. Authentication System: This program will have different levels of permission for the 3 groups as well. Therefore, based on your login and password you may/maynot be restricted in your capabilities. Database/Filesystem Access: The program will provide a mechanism for electronic handins and will have a database storing information linking handin files to student users of the system. Information Access: Students can upload handins and view grades. TAs can also edit grades, and professors can override decisions made by TAs. Students can also view messages delivered by professors and TAs. The professor and TAs will also be able to obtain basic statistical data, and be able to see grade distributions based on customizable curve/scale rules. Grading Assistant: The program will have options for assigning homeworks to the grading staff for corrections. This will include the ability to distribute the homeworks randomly or in alphabetical segments, as well as the ability to redistribute homeworks from students that specific TAs refuse to grade (for conflict of interest reasons?). Webpage Update: The program will also include support for delivering the student version of the site through a webpage (similar to the functionality of the cs016 website). It will allow the student to login and access the same information from a web browser. TAs and professors will still have to use the standalone client, for security reasons. Machine Specifications: The project will be initially coded for Debian Linux as installed on the PCs in the SunLab (MaxLab? TuxLab?) but may eventually be ported to Windows and Mac OS.