An Overview Of How I Organize My Teaching Staff In My 200+ Student Class

Kristin Stephens-Martinez
4 min readOct 20, 2020

--

This is also posted on my personal blog where it will be freely accessible.

This is post #1 of 5 on how I organize and structure the teaching staff for my introductory computer science (CS1) class, CS101 “Introduction to Computer Science.” This class has over 200 students each semester, with the fall semesters typically having 30–50 more students than the spring semesters.

This post will be information on my background, context, teaching staff structure with a handy graphic, and organization generally.

Future posts will contain more details on teaching assistant (TA) roles and duties, how we communicate, how we track tasks, and how I run my meetings. The other posts in this series are as follows (I’ll update with links as I post):

  1. Overview (You are here)
  2. Teaching staff roles
  3. How I communicate with my teaching staff
  4. How I track the to-do list
  5. How I run the head staff meetings

Background

I learned a lot about how to organize TAs when I was in grad school at UC Berkeley. I was a teaching assistant at UC Berkeley’s CS1 class, CS61A “Structure and Interpretation of Computer Programs,” for John Denero and Paul Hilfinger. My experience with large classes is not typical. When I TAed, enrollment peaked at over 1,800 students in a single semester. I also got to observe the class transition from one professor to another, which I think made the “method behind the madness” a little more apparent. John had taught the class for multiple contiguous semesters and had built up the TA and class infrastructure to handle the large scale. Though Paul had taught the class before, he hadn’t taught it recently.

My CS1 class averages about 250 students. The peak was at 291 and a low of 224. So relatively paltry compared to UC Berkeley, but still considered a challenging situation to many. When I started at Duke, I co-taught the class with Owen Astrachan, who has experience teaching 400+ student classes. I’ve since solo taught the class for four semesters.

After co-teaching the class and seeing how Duke and Berkeley structured their teaching staff, I adapted Duke’s model with elements I liked from Berkeley. This has resulted in the following system that I have continuously refined as time passes.

Teaching Staff Structure

The organization chart for my class’s teaching staff

I have a hierarchy to keep things organized. I’ll introduce all the different roles here and then get into the nitty-gritty of who does what in a follow on post.

At the top is me, and I have a teaching staff support person that serves as my assistant. Her title is Teaching Associate, which doesn’t lend itself to a new acronym, so I’ll call her my TA+.

My direct reports are two graduate student teaching assistants (TAs) and three head undergraduate TAs (UTAs). The TAs share tasks and the head UTAs each have a specific responsibility: Lab, Office Hours, and Grader. The head UTAs then organize the rest of the UTAs under them.

All UTAs have shifts during our evening office hours (we call them consulting hours to differentiate from the TAs and my office hours). Most UTAs teach a lab in pairs with about 25 students per lab. There are one lab and two lectures per week. Some semesters I have two lecture sections, which means I teach lecture twice as often in a given week, but I still run the class like a single unit. The rest of my UTAs are graders, with about 35–45 students per grader. So this boils down to about 30 UTAs a semester.

Organization Generally

At the beginning of each semester, I tweak and send out separate responsibilities documents to my TAs and UTAs. These outline their responsibilities, time estimates, my expectations, and my responsibilities to them. I’m happy to share these documents on request. I also hold an all-hands meeting where I expect everyone to attend, if at all possible. This meeting coincides with the first lab training (more on that later) during the first week of the semester. The goal of the all-hands meeting is for everyone to meet each other, meet me, and the head staff, as well as set expectations.

During the semester, I meet with my head staff weekly, consisting of my TA+, TAs, and head UTAs. This meeting schedule does mean I do not interact with the rest of my UTAs as much as I would like. Scheduling a meeting with all of them during business hours is impossible, and I highly value spending the evenings with my family. My main interactions with the non-head teaching staff are at all-hands, communication channels, and exam grading parties on weekends.

Instead, the head lab UTA holds two training sessions in the evenings before lab that week. These trainings are right before consulting hours. All lab UTAs need to attend one of the sessions to learn about that week’s material. The head grader UTA meets with the graders when an assignment is due, about every other week.

Our primary form of communication is Slack. And the task tracking tool I have shared among the head staff is Trello. I will share more details about how I use these tools for communication and task tracking in future posts.

Summary

So that’s the general overview of the course, and I’m sure you have questions. Remember, the top of this post will have links to the other four posts in this series as they go live.

If you have a particular question you’d like me to address, please leave a comment! I have the other posts mostly written and plan to release one a week. This way, I can try to address any questions before I publish each post.

--

--

Kristin Stephens-Martinez
Kristin Stephens-Martinez

Written by Kristin Stephens-Martinez

Creator and host of The CS-Ed Podcast https://csedpodcast.org/ Associate Professor of the Practice in Computer Science at Duke University.