"uuid","repository link","title","author","contributor","publication year","abstract","subject topic","language","publication type","publisher","isbn","issn","patent","patent status","bibliographic note","access restriction","embargo date","faculty","department","research group","programme","project","coordinates" "uuid:c8939ef4-40d8-49a9-9a2b-47a9d7ef7e24","http://resolver.tudelft.nl/uuid:c8939ef4-40d8-49a9-9a2b-47a9d7ef7e24","Teaching Assistant Management Platform: Automating the recruitment and scheduling of teaching assistants","Pigmans, Max (TU Delft Electrical Engineering, Mathematics and Computer Science); Keulemans, Ruben (TU Delft Electrical Engineering, Mathematics and Computer Science); Habben Jansen, Geert (TU Delft Electrical Engineering, Mathematics and Computer Science); van Deursen, Max (TU Delft Electrical Engineering, Mathematics and Computer Science)","Devroey, Xavier (mentor); Hugtenburg, Stefan (graduation committee); Delft University of Technology (degree granting institution)","2018","The majority of the courses in the Computer Science Bachelor at the Delft University of Technology use so called lab sessions to provide an opportunity for students to ask questions about course material and get feedback on their assignment. In order to optimally support the students, teaching assistants, or TAs, are appointed to assist the lecturer during the lab sessions. With the number of students in the Bachelor quickly growing, the process of manually recruiting students to become a TA and assigning the TAs to lab sessions is becoming infeasible.

This project aims to ease the process of gathering and scheduling TAs. In order to achieve this goal, the Teaching Assistant Management platform, or TAM, has been developed. All parties involved in the process of appointing TAs can use TAM to provide their input. Lecturers can register their courses on TAM, students are able to indicate their interest to help with different courses and representatives from Education and Student Affairs can validate the application of the interested students. Using this input, TAM is able to automatically create a schedule by assigning TAs to lab sessions. To provide an algorithm for the automatic generation of schedules, a model based on the minimumcost max flow problem is created. Due to complications with the implementation of the minimum-cost max flow model, the schedule generation is handled by a linear solver: Gurobi. By modeling the constrains for a schedule to be considered valid, Gurobi is used to process the input of the users into an optimized schedule.

TAM consists of three components: a MySQL database, a backend written using Spring, containing the business logic and the implementation of the scheduler, and a frontend website created with Vue to provide an interface to the users. The frontend and the backend are connected using a REST API.

A unique aspect of the project is the live deployment of TAM. At the end of the fourth week, the first version was deployed, allowing interested students to submit their course preferences. Subsequent features have been deployed iteratively. During the development, muliple problems have been encountered. The team underestimated the time required to learn the new technologies, as well as the time needed to maintain a system in production. Furthermore, configuring Single Sign-On required more time than expected.","Scheduling; Education Innovation; Automation; Teaching Assistants; Student Assistants","en","bachelor thesis","","","","","","","","","","","","Computer Science","Bachelor End Project",""