GTA Assignment

Name: Prasad Tadepalli
Affiliation: Computer Science Professor
Phone: 541-737-5552
E-mail: tadepall@eecs.oregonstate.edu
Website: https://gtaassignment.herokuapp.com/
Knowledge Required: Programming, Web application development, software engineering, Databases., Algorithms. Optional: machine learning and AI. The previous team used Django, Postgres and Pulp (ILP solver).
Motivation: Every term we have to assign about 80 GTAs to various classes in CS and ECE. The GTAs need to meet certain qualifications, e.g.., must have taken relevant courses. They also have preferences of courses they want to TA. Professors have preferences of GTAs they like. The current system is somewhat slow and not hosted at OSU. The goal is to automate it make it fast so that the GTAs can be assigned quickly and the assignments can be adapted gracefully when changes are needed.
Description: The main objective is to assess, redesign, and re-implement a new system for assigning GTAs to courses. The current system is somewhat slow and not easily generalized to other schools and departments. Another enhancement would be to adaptation to changes such as new appointments, resignations, and increased enrollments. After the schedule is published, the adaptation should be graceful in that the amount of change must be minimized. The system must also respect any hard assignments or manual overrides as desired.
Objectives: 1. Decide the framework and software support needed to host the system at OSU. This might require reimplementing part of the code.
2. Take input from the GTAs, instructors, and other sources on what changes are needed and desired.
3. Implement graceful adaptation to changes, i.e., make minimal changes to the committed schedule.
4. Log all data and document the system.
5. Optionally implement a learning component that improves from experience by learning user preferences. This will be a stretch goal and requires expertise in machine learning.
Deliverables: 1. A web-based application which is easily used by the graduate coordinator, the instructors and the GTAs. 2. A project report including evaluation on real data. 3. User documentation. 4. Maintenance documentation.
Other comments: It is important for students to be able to build on what the previous team has done and take the system to the next level.

   D. Kevin McGrath
   Last modified: Fri Oct 20 09:31:13 2017