Teaching Assistant for Data Structures course

Aug 27, 2019 - Dec 12, 2019, and Aug 28, 2018 - Dec 6, 2018

Languages used: Java 

As a Computer Science student at The University of Texas at Austin, the first two courses that I had taken were CS312 (Intro to Programming) and CS314 (Data Structures). These courses are taught by, and have been taught by Professor Michael Scott for a really long time. He is one of the best instructors I have had and the fundamentals I learned from him have molded the approaches I take to problem-solving today.

As a student, I often spent a lot of time in the Gates-Dell Complex (GDC) lab where the office hours for the intro CS courses were conducted and a lot of other students also found themselves. I often helped other students in subtle ways to work on their projects while the Teaching Assistants were overwhelmed by the number of students seeking help. Once I completed these courses, I felt an urge to be a Teaching Assistant (TA) for the CS314 course myself.

I was a TA for the CS314 course for two semesters. This came with a few different responsibilities. I was fully responsible for a discussion section of around 25 students each semester. This included conducting a teaching recap session once every week, conducting mandatory quizzes during these sessions, and grading the quizzes and weekly programming assignments of this batch of students. Additionally, I was responsible for conducting three hours of office hours a week, which are first-come-first-serve help sessions for all the students enrolled in the course. Lastly, I helped grade the exams of the students three times each semester.

Grading the weekly programming assignments was a mix of automated scripts created by the professor and former TAs, along with manual inspection of coding style and approach.

The assignments were to be graded on the lab computers for consistency across all submissions. As a student who was now in upper level courses and more rarely visiting the lab, this was becoming quite an ordeal. One of the main contributions I made to the TA ecosystem while I was a TA was to create a set of scripts that could be used by TAs working with Unix-derivative personal systems to remotely execute the scripts on the submissions and then retrieve the results of the scripts back to their personal computer for manual grading. These scripts, which can be found here, were quite a useful tool and other TAs started using them as well. I have received messages from some of the more recent TAs thanking me for the scripts!

Overall, I enjoyed this experience, which kept my brain active with the data structures knowledge, introduced me to a lot of students, and acted as bonus prep for internship interviews!