UTA Information

Apply now to be a Spring 2020 UTA!

Apply Here


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 Undergraduate Teaching Associates (UTAs) on a rolling basis, so please apply as soon as possible, especially before the last day of class (Friday December 6, 2019). Depending on which course(s) you applied for, you may receive separate emails with follow up surveys or questions. Students applying for 101 and 201 will have to interview, so it is in your best interest to apply early.

Our goal is to get back to you during winter break. However, keep in mind different courses have different timelines for UTA selections.

Contact the UTA Program Coordinator, Georgia Tse, uta-program@cs.duke.edu, if you have any questions about being a UTA or your application.


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. You must fill out an application to be a UTA each semester, regardless of if you were a UTA previously.

New 101 and 201 UTAs will be required to take CompSci 249 next semester, Mondays 11:45AM - 1PM. The course uses problem based learning on topics such as learning how students learn, leading students to answers, group learning, inclusive environments and office hours. The course is by permission number only once you are hired as a new UTA. The course is a half credit and does not count as a course for the CompSci major or minor. The grade is Pass/Fail. Please apply even if you have a conflict. Preference will go to those that have room for this course in their schedule, but we are flexible.

For 101/201 -- If you choose one as a first choice and the other as a second choice, you will not likely be considered for the second choice course, regardless if you were a previous UTA for that course. For example, if you put 101 as your first choice and 201 as your second choice, you will not be considered for 201 because it is your second choice, and vice versa. This is only the case for 101/201 because of the number of applications we receive.

Courses that need UTAs for Spring 2020

Course Expected Duties Consideration
CompSci 94: Gentle Introduction to Mobile Apps (Lucic)
  • Must attend lectures
  • Grade
  • Hold office hours

Experience developing mobile apps or taking this version of 94. 

Must have availability to attend lecture sections TuThu 3:05-4:20PM 

CompSci 101: Intro to Computer Science (Stephens-Martinez)
  • Attend one lab training per week
  • Grade assignments
  • Lead lab section
  • Hold office hours
  • Grade exams and final

Labs are various times Thurs/Fri.

Lab training will be after 6PM on Tu/W.

Must also have availability to take CS 249 on M 11:45AM - 1:00PM

CompSci 102: Interdisciplinary Computing (Astrachan)
  • Grade assignments
  • Help run lab
  • Hold office hours
  • Grade exams and final 
  • Help evaluate final projects

Min requirements: CompSci 101 or 201.

Please add on your application any experience with third party python APIs (i.e. matplotlib and pandas), UI, psychology, neuroscience, humanities.

Preferred to have availability to attend lab F 1:25 - 2:40pm.

CompSci 201: Data Structures and Algorithms (Rodger)
  • Attend weekly meetings
  • Grade assignments
  • Lead discussion section
  • Hold office hours in the evening
  • Grade exams and final

Must have availability to lead a discussion section, which are throughout Monday.

Must also have availability to take CS 249 on M 11:45AM - 1:00PM

CompSci 216: Everything Data (Fain)
  • Must attend lecture/lab
  • Grade
  • Hold office hours in the evening

The course meets MW 4:40-5:55PM.

Strong preference for students who have taken CS 216. Other data science related courses (from CS, Stats, Math, etc) are also pros.

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

Min. requirement: 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.

CompSci 250: Computer Architecture (Lebeck)  
  • Lead recitation session
  • Hold office hours
  • Answer Piazza questions
  • Grade homework

Recitation is various times on Wed, Thurs, Fri.

CompSci 307/308: Advanced Software Design and Implementation (Duvall)
  • Evaluate student projects
  • Attend regular planning meeting
  • Independently meet with students regularly
  • Grade student demos
  • Hold office hours
Min Requirement: Completion of CompSci 307
CompSci 316: Intro to Database Systems (Roy)
  • Attend 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 323: Computational Microeconomics (Conitzer)
  • Must attend lectures unless have taken either this course or the graduate version
  • Grade
  • Hold office hours
  • Answer Piazza questions
  • Generally be part of the course team

If you haven't taken a version of this course/graduate version before, then you will also be expected to spend time keeping up with the material.  You may not fall behind relative to what is happening in class.

Other background that will help you be an effective UTA: strong math, algorithms, game theory, linear programming.  Not all of these are necessarily required but again, you need to stay ahead of the students in the class.

CompSci 330: Design/Analysis Algorithms (Ge)
  • Attend regular grading parties
  • Hold office hours
  • Grade exams
  • Run recitation sections
Recitation sections are various times F 10:05am-4:20pm.
CompSci 342: Information and the Internet (Astrachan) info pending  
CompSci 350: Digital Systems (Board) info pending  
CompSci 356: Computer Network Architecture (X. Yang)
  • Grade homework assignments, labs, and exams
  • Hold office hours to answer grading-related questions when needed
  • Attend teaching staff meetings when needed
CompSci 370: Intro to AI (Parr)
  • Attend regular grading parties
  • Hold office hours in the evening
  • Grade exams
CompSci 527: Computer Vision (Tomasi)
  • Hold office hours
  • Answer Piazza queries
  • Help grade assignments and exams (grading parties with Gradescope) 

Minimum requirements: Completion of CompSci 527 or equivalent. 

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 $12 per hour with opportunities for promotions and increases after each semester of serving as a UTA. You must detail your hours biweekly and fill out a timecard on time.

Work Study

Work study is not required for this job, but it is encouraged. You do not have to be on financial aid to be on work study. Please see the Duke Financial Aid Work Study section for more information on how to sign up for work study.

Apply Here