The Role of Teaching Assistants in Introductory CS Courses


In introductory computer science courses it is common for students to get more one on one time with their Teaching Assistants (TAs) as compared to their course instructors, due to large class sizes. This kind of individual attention is extremely important for novice programmers trying to learn new and abstract CS concepts.
It would not be an overstatement to say that TAs, especially in these introductory courses, likely have more impact on the student’s learning, than they are given credit for. The quality of the TAs would greatly impact the quality of the course and directly or indirectly also impact the student retention rate and their interest in computer science for their academic/industry careers. In this project, I set out to investigate the role the TAs play in introductory CS courses.


Given the significant impact TAs can have on the learning outcomes in these course settings and having served as a Teaching Assistant myself, I really wanted to understand the role of TAs in Introductory CS Course settings.
Specifically, I wanted to take a closer look at the following:


I started with a literature review to identify previous research and inform my research process.
What I found in the Literature was that all the prior work was focused on utilizing TAs for effective course management, and some about how to train new incoming TAs. There had also been a lot of work on general teaching techniques.
There was not a lot of work on the actual culture of TAs was available, at least I could not find any ethnographic data on TAs.

To better understand the TAs roles, we recruited a total of 11 TAs (6 graduate TAs, and 5 undergraduate TAs) to participate in this research. The research took place over fall 2015 and spring 2016 at Virginia Tech. The fall 2015 session had a total of 269 students enrolled in CS 1114 and 263 students enrolled in CS 2114. The spring 2016 session had 372 students enrolled in CS 1114 and 300+ students in CS 2114. CS 1114 was led by 2 instructorsand 6 graduate teaching assistants and 6 undergraduate teaching assistants in the fall and 3 instructors, 7 GTAs and 7 UTAs in the spring. CS 2114 was led by 1 instructor and 5 GTAs and 5 UTAs inthe fall and spring

  1. I conducted contextual observations of interactions between TAs and students.
  2. I also conducted a couple of Focus Groups - one with TAs and one with Students - to understand their perspectives on the role of a TA.

Contextual Observations

I observed the Lab sessions and office hours held by their TAs, after seeking verbal consent from the students in the lab and from those who showed up at the TAs office hours.

I was available at the lab or the lounge where TAs hold their office hours and captured the interaction in writing. The hand written notes were then transferred to a worksheet online, for analysis.

About 100 individual interactions were recoded and analyzed.

The analysis itself mainly focused towards getting an understanding of the different kind of approaches that the TAs take to teaching a concept, the breadth of concepts that students generally find difficult and ask questions about.

Apart from the actual interaction, the data captured the date of the observation, the name of the TA involved, if it was a UTA or GTA, the course and the lab assignment.

Findings from Observations

Based on our observations , we found the following.

  1. The nature of interaction between the students and their TAs
  2. The interactions are almost always initiated by students
  3. Triggers for initiation are usually when the student gets stuck not knowing how to proceed solving the problem, running into compilation and run-time errors, not understanding feedback provided to them through the automatic grader (Web-CAT).
  1. Students’ problems can be conceptual or be at an implementational level.
  2. Students who are new to programming, typically in CS 1114, find it difficult to grasp concepts including- object initialization, using multiple constructors in a class, method invocation, parameter passing, using return values from a method, loops, access specifiers.
Distribution of interactions based on my coding of the notes from the observations.
  1. The approaches that TAs take to help students
  2. TA's employ various approaches to teach - Giving real life analogies, examples etc.
Student: "comparing string to integer"
TA : "what are you trying to do here (points at region of code) ? "
Student answers
TA : "what is the scope of this variable?"
TA explains the return statement, and how it would work inside an if- else construct.
Student had created an "appointment object " with null description inside double nested for loops.
TA explains how the student has created a new object , instead of adding it into a 2D array.
TA : "think of it as a slot in your wallet ",
TA also refers to previous lab for explaining object assignment.
S:"I am trying to understand inheritance"
TA uses a vehicle->car example. "are all cars vehicles?"
S: "no"
TA: "are all vehicles bikes?"
S: "no"
TA: "are all bikes vehicles?"
S: "yes"

Focus Group with TAs

I conducted a focus groups to hear first hand from TAs about their Teaching approaches and understand the decision process behind it.

I used the following prompts to guide the discussion.

Focus Group with Students

I conducted another focus groups session with 4 students. I wanted ot understand the student's perspective on what they expected from TAs. I used the following prompts to help guide the discussion, following up with specific questions whenever necessary

Overall Takeaways

TAs were in fact modelling the problem-solving process for the student to observe and imitate.
In my observations , I saw that the TAs seldom provide any direct help to the students instead push the student in the right direction by providing hints, or by making the student explicitly process his/her understanding of a particular concept by engaging in the act of asking leading questions. This was also confirmed in the focus group.
There is a clear gap in what the TAs aim to do and what the students expect. Time constrained lab exercises may be doing more harm than good since they keep students focused on simply getting the assignment done.
However, in the observations, I saw a tendency in the students to be very concerned with the immediate problem at hand, and seeing the TA as someone who holds the solution to that immediate problem. Once again, this was confirmed in the focus group meeting with students.
TAs are faced with many decision points, like deciding what help to provide, how to provide that help and how much help to provide to students.
sometimes TAs also are faced with a situation where they catch themselves explaining a concept that the student is unfamiliar with. Such concepts maybe related concepts that the students are yet to be introduced to or some low level details that might help the student understand the current concept better. In such scenarios, the TAs are forced to make a decision on how much they need to explain. At that point the immediate concern is the student feeling overwhelmed with new and unfamiliar, possibly more complex concepts.