UTA Information

Laptop demo

Applications for the Spring 2019 semester will be open in November. 


If you have taken a CompSci course previously, then you know there are many other people helping the professor to support your learning in that course, e.g., returning feedback about your assignments, reviewing concepts in a recitation section. Most of these duties are done by undergraduate students just like you! Here, you can get a chance to take part in a rewarding job, allowing you to help your fellow students out as they go through the same journey you once did.

We select UTAs on a rolling basis, so please apply as soon as possible, especially before the last day of class (Wednesday April 25). Depending on which course(s) you applied for, you may receive separate emails with follow up surveys or questions. Students applying for 101, 201, and 250 will likely have to interview.

Our goal is to get back to you before finals are over or during summer break. However, keep in mind various faculty have different timelines for selecting their UTAs.

Contact the UTA program coordinator, Georgia Tse, georgia@cs.duke.edu if you have any questions about being a UTA.


Ideally, you loved the course that you want to UTA for! You should have at least taken the course before and have done well, or communicate with the professor that you feel confident that you grasped the materials covered in the course you would like to UTA.

Courses that need UTAs for Fall 2018

Course Expected Duties Consideration
CompSci 94: Programming/Problem Solving (Rodger)
  • Attend lectures
  • Grade
  • Hold office hours

You can apply if you have at least completed CompSci 101, you should be able to handle the concepts the students work with in this course.

This course has two sections: TUTH 8:30-9:45AM and 10:05–11:20AM.

CompSci 101: Intro to Computer Science (Stephens-Martinez):
  • Attend regular planning meeting
  • Grade assignments
  • Lead recitation session
  • Hold office hours
  • Grade exams

You can apply if you have at least completed CompSci 101 and you would be able to handle the concepts the students work with in this course.

Recitations are throughout W 11:45am-7:30pm and TH 10:05am–5:55pm 

CompSci 190: Foundations of Data Science (Forbes)
  • Attend lectures
  • Grade

You can apply if you have Python, stats, or data science experience.

Class meets MW 3:05PM-4:20PM.

CompSci 201: Data Structures and Algorithms (Astrachan)
  • Attend regular planning meeting
  • Grade assignments
  • Lead recitation session
  • Hold office hours in the evening
  • Grade exams

You must have availability to lead a recitation section, which are throughout M 10:05–5:55PM.

First time 201 UTAs are highly recommended to take CS 249 at T 6:15-7:30PM (0.5 credit)

CompSci 230 Discrete Math for CompSci (Donald)
  • Attend regular grading parties
  • Grade assignments
  • Lead recitation session
  • Hold office hours in the evening
  • Grade exams

You can apply if you have at least completed CompSci 230 or equivalent. You should be able to handle the concepts the students work with in this course.

Recitation is various times on FRI 11:45AM-4:20PM.

CompSci 250: Computer Architecture (Lee, ECE) Pick at least 2 of the following:
  • Lead recitation session
  • Hold office hours
  • Answer Piazza questions
  • Grade homework
Recitation is various times on W 1:25PM-5:55PM.
CompSci 260: Intro Computational Genomics (Hartemink)
  • Hold weekly office hours
  • Answer questions on Piazza
  • Contribute to timely grading, done as a group one day every other week
  • Must have taken CompSci 260 or otherwise be familiar with the course material (including Python)
  • If you have taken CompSci 260, you need not attend lectures
CompSci 308: Software Design and Implementation (Duvall)
  • Evaluate student projects
  • Attend regular planning meeting
  • Independently meet with students regularly
  • Grade student demos
CompSci 310: Intro to Operating Systems (Maggs)
  • Hold office hours in the evenings
CompSci 316: Intro to Database Systems (Yang,J)
  • Attend (short) weekly staff meetings
  • Hold evening office hours
  • Grade assignments and exams
  • Monitor the progress team projects and provide feedback on two project milestones
  • Attend demos/interviews for team projects at the end of the semester, and provide feedback on the final reports
CompSci 330: Design/Analysis Algorithms (Munagala)
  • Attend regular grading parties
  • Hold office hours
  • Grade exams
CompSci 371: Elements of Machine Learning (Tomasi)
  • Lead recitation section
  • Grade assignments and exams
  • Hold office hours

Previously taken a machine learning course (e.g., COMPSCI 571, STA 325, STA 561, or similar). Facility with mathematics. Familiarity with Python. Must be willing to either attend lectures or read notes to keep up with the materials.

Class meets MW 10:05AM – 11:20AM

If there is a course not listed here that you have been asked to UTA, or have heard needs UTAs, you may list the course number in the last free response question on the application. If you are willing to TA multiple courses, indicate that in the last free response question.

Duties and Commitment

Being a UTA is a serious obligation that requires a firm and substantial weekly commitment on your part. It requires timely checking and responses to communication (e.g. email, Slack, Piazza). It is a semester-by-semester job that extends from the first day of classes through the end of final exams. You must re-apply each semester.

All UTAs will be required to attend a training session at the beginning of the semester, before school starts.

Duties will vary between classes, but you can generally expect to do some of the following:

  • Grade – Responsibilities range from students’ assignments or in upper level courses, projects. Sometimes a professor may have UTAs grade student exams.
  • Hold office hours – Most courses will have office hours in the evening. Office hours are used to answer student questions about topics covered in lecture, homework problems, etc.
  • Lead a recitation/lab – Lower level courses such as 101, 201, 230, etc. have a discussion section where students will get more application problems on topics covered in class. UTAs will lead students through the problems and facilitate collaboration and discussion among students about the topic. UTAs will have to prepare beforehand by attending a lab meeting, and/or looking over the material, and/or doing the problems beforehand, so that they can come prepared for answering questions.
  • Answer Piazza questions – Most courses use Piazza as a tool where instructors can post course announcements, and communicate important information to students. Students can use this platform to ask questions about logistics of the course, get clarification on the homework, or a study problem. The professor cannot answer all questions in a timely manner, so UTAs will also respond to questions that students may have.
  • Attend planning meetings – Faculty will arrange a regular meeting to gather all their UTAs so that they can prepare UTAs for the upcoming week or address questions and concerns that UTAs may also have.
  • Meet with student groups – Some project based courses such as 308 or 316 will require that UTAs independently meet with the group of students that they are assigned to.
  • Administrative duties - If you are a Head UTA, you may have to send out emails and organize various UTAs for specific duties. The professor will be in close contact and instruct you.
  • Attend lecture - Some faculty need UTAs during regular class time because the course is structured like a lab.


The pay begins at $10 per hour with opportunities for promotions and annual increases based on length of service. You must detail your hours biweekly and fill out a timecard on time.