From hanks@cs.washington.edu Thu Nov 6 23:35:31 1997 Date: Mon, 29 Sep 1997 16:02:32 -0700 From: Steve Hanks To: rose@june, dickey@june Cc: hanks@june Subject: TA database design spec ********************************************************************* THE UW/CSE TEACHING ASSISTANT DATABASE The CSE department hires a staff of some 50 graduate and undergraduate teaching assistants each quarter. Staffing the courses---matching available TAs with current courses---is a complex and time-consuming process that involves gathering and assimilating information from a variety of sources. Among the relevant information is: -- student preferences for which courses they would like to teach -- scheduling constraints that might prevent assigning them to a class -- faculty preferences as to which students should assist them -- language or other difficulties that would disqualify a student from teaching a particular class -- TA records that would establish a student's expertise, and would also prevent him/her from being assigned the same course too many times. Apart from the quarterly assignment problem, the database can play a number of other roles: -- keeping track of a student's teaching performance to facilitate writing recommendation letters, nominating for awards, and so on -- making sure certain administrative requirements are met -- all students are required to take a training course prior to their first TA assignment -- graduate students are required to teach at least twice during their career -- non native speakers of English are required to complete a language exam before taking a TA assignment that involves direct classroom contact -- generating lists of names and email addresses The database should thus: -- give easy access to information required to do the quarterly assignment process -- allow students and faculty to express their staffing preferences conveniently -- make sure that no administrative regulations are violated ============================================================================== ============================================================================== Sources of information: This is the information that must get into the database, and how it might get there. 1. Course schedule information 2. Student information and preferences 3. Faculty preferences 4. TA records 5. Tracking information for the current quarter 6. Actual assignments for the current and prior quarters ===================================== 1. Course schedule information This information includes for each class course number instructor date and time room TA requirement (I am using "class" to mean a single offering of a single course in a single quarter. A "course" is something like CSE378 which is in the catalogue and offered over and over. A class would be a particular section of CSE378 taught in Autumn Quarter 1997 by Professor Smith.) All of this can be obtained from University records, and as a first cut we will assume it is available in text format that can be imported directly into the database. Care must be taken to handle mutiple-section classes correctly. The "TA requirement" is a little different in that there are no official requirements for how many TAs should staff a particular class. One could assume that a _course_ has a nominal TA requirement which is inherited by the class. Even this isn't quite right, however, in that the requirement is at least partially determined by the current quarter's enrollment. Furthermore, there can be graduate and/or undergraduate TAs such that grads teach two sections and undergrads teach one section, thus grad and undergrad TAs can be traded against the other. Probably a first good cut is to have a class's TA requirement determined by the course, but let the scheduler alter that number as appropriate for the current quarter. ================================================================ 2. Student information and preferences This includes the student's name and Email address, along with TA history and preferences for the current quarter. I see this as a web page which gathers the following information. Since information needs for grads and undergrads is quite different, I will treat them separately. I see these as two forms that will ideally be filled out on the Web. In the short run they could be presented as a Web page that dumps information into a text file which is periodically exported into the database. ==================== Form for Graduate Students * Name * Email address * Year * For each class offered in the current quarter, a checkbox from which one of the following can be selected: -- I am qualified and eager to teach this class -- I am qualified to teach this class -- I am qualified to teach this class but would rather not unless in an emergency. -- I have a time conflict with this class. -- I am not qualified to TA this class. (Default should be the last one.) * Notes: there should be a big text block for free-form notes. * There are two TA options: full-time TA, and TA/RA. -- I am only interested in a full-time TA -- I am interested only in a TA/RA position -- I am interested in either a full-time TA or a TA/RA position -- I already have the RA portion arranged -- I do not have the RA portion arranged ==================== Undergraduate Form. Undergraduates are typically employed for 142 or 143. * Name * Email address * Major * Year in program * I am interested in TAing -- 142 -- 143 -- either 142 or 143 -- other (specify in notes below which class and what arrangements you have made) * I would like to be considered for a grader/lab assistant position if a TA-ship cannot be arranged * Relevant Coursework Class Instructor grade (several possible entries) * Who else should we contact for a reference * Notes (again a big text block) ================================================= 3. Faculty preferences For my class <> class <