Blog Post

Engaging Teacher's Assistants in AP Computer Science Classes

This year I taught approximately 120 students AP Computer Science (both CSA and CSP) online and I could not have done it alone: I had the help of 16 teacher’s assistants (TAs) to support the classes. My TAs are former students who successfully completed my class and earned a “5” on the AP exam. Most of them are still in high school, although some still work as TAs during college, too. They are brilliant, communicative, hard working students who want to help others succeed in the class just like they did. 

How did I recruit and engage TAs in my classes? 


I recruit TAs from my class alumni. I wait until the AP scores are released in July each year, and then I compare the results of the top-scorers to my grades and notes from my course. Students must have earned an “A” in my class and a “5” on the exam to qualify. I also expect TAs to be class leaders, who work hard, communicate clearly and model integrity. I then send a recruitment email inviting any students that I think would be a good fit. After your first year of recruitment, you can always invite back TAs who have done a great job for another year of work. If the process is overwhelming, start small. Skip the formal recruitment process and ask a few students who you know would do an excellent job to help you to develop the program. 

Work Assignments

TA assignments can vary based on their interests and your needs. What tasks take up too much of your time? What tasks take the joy out of teaching? What tasks seem repetitive, mundane, tedious, or just plain boring? Give those to the TAs (if they don’t mind)! 

For me, over time, checking students’ program code against my checklists and rubrics gets tedious and takes up a LOT of my grading time. I do not really want to spend hours opening 60+ projects to look for functions with parameters, a certain number of nested for loops, or the correct use of test cases. So I ask my TAs to help with basic program testing and grading of homework code. (Check your school policies to make sure you are permitted to share student work before you do this). I can email a TA a Google Sheet set up with a rubric and place for comments, a file of projects, and ask them to review them for me. They comment on anything unusual and otherwise provide rubric grades and feedback to share with my students. My students are ok with work graded by TAs because they know they can get faster specific feedback on their code as a result. Also, none of my grades are final. Students who do not score as well as they had hoped can resubmit work any time for me to regrade. So there is no need to complain about a TA being unfair or out of line with how I might have scored the work. I handle work resubmissions myself. Ultimately, all students have an opportunity for frequent, fast feedback and a high grade in my class.

Debugging is a HUGE part of many computer science courses, and it can be very time-consuming. So I ask my TAs to help with debugging in three specific ways: (1) working with an assigned group all year, (2) maintaining an “unofficial” Discord channel, and (3) hosting office hours. 

In September, I divide all students in my class among the TAs, so that each TA has a group of four to six students to look after. They can check in with the students via email often or just be available for help when needed. Sometimes, if I notice a particular student is struggling, I ask their TA to reach out to them to give them more peer support, which can be less intimidating than asking me, their teacher, for help outside of class.

The “unofficial” Discord channel was started by a TA years ago and has become a key component with how TAs help students in my class. The TAs maintain the channel completely independent of me and think it functions best that way. It is a safe space for students to ask questions (they have a ticket system), post resources and (I’m guessing) commiserate about the challenges of my class. In the beginning of the year, they share a link for the channel with my class and then they manage it from there. 

Finally, I ask the TAs to host office hours to give additional support for students not on Discord who may need to work synchronously. I surveyed my class at the beginning of this year and found the seven most popular times for office hours. I asked the TAs to each commit to hosting one of those hours on Zoom every other week (14 TAs signed up, so we had 7 office hours each week and 2 TAs available to substitute). This gives students of the class a way to get help with coding and other coursework daily, even when they cannot reach me by email. I post a list of TA office hours on my class website and refer to it often before tests as a reminder.

When TAs host office hours and no one attends, I ask them to be creative with their time and develop other materials for the class to use. They may create materials using Kahoot, Quizizz, and Quizlet. Some have created how-to guides for Free Response Questions or specific coding concerns. Some have created AP Test Prep cheat sheets and videos. 

Sometimes, TAs even come to me with good ideas about how they would like to help their students to succeed. One developed a PowerPoint and hosted a session on how to destress and maintain good mental health during the pandemic when students still had to take modified AP exams. Another group of TAs worked together to create an AP CSP to AP CSA summer transition guide. Another still suggested the original idea of Zoom office hours rather than waiting for students to email to ask for help. I regularly encourage their initiative and creativity and do my best to manage them as student-leaders.


Some teachers look for TA volunteers. There are students who love computer science and want to stay involved in the subject and continue to review the material until they enter college. There are others who want or need volunteer hours for graduation requirements or other programs with which they’re involved. There are also some students who are happy to volunteer because it can be another accomplishment to note on college applications. For whatever the reason, some teachers do well with recruiting volunteer TAs.

However, I pay my TAs. This past year, they earned $16 an hour for their work, because I try to stay competitive with other high school jobs in my area. Their work and the time they save me is  invaluable, and I would pay them even more if I could afford to. Paying your TAs on a per assignment basis might end up demotivating them, if you’re not careful (see Pink’s Drive for more on this). But I’ve found that respecting their efforts with a paycheck feels right to me, and is within my budget, so I do so. I have them self-report hours (and how their time was spent) on a Google Sheet that I review monthly.

Note: I am not an accountant, however, be aware that if your students earn more than $600 during a calendar year, they may need to report that income to the IRS and pay taxes on it. This could become a concern if you choose to pay your TAs. Please check state and federal laws, or consult a tax professional if you have questions related to paying your TAs. 

If you want to learn more about working with TAs to teach AP CSP and AP CSA, check out our upcoming webinar, where four of my TAs and I will host a roundtable discussion and answer your questions, too!

Rebekah Lang is a lifelong teacher and learner who has taught in public, charter, private, and online settings for middle and high school students for the past 13 years. Now in her fifth year of teaching computer science online, Rebekah is teaching AP CSA, AP CSP, and Honors Computer Science Discoveries to about 120 homeschooled students online! Based on her own journey, Rebekah believes that with hard work, a growth mindset, humility and patience, anyone can learn to code!