COS UCA Job Catalog

This page provides a general description of the responsibilities of all the jobs that are available to UCAs in Princeton University’s Department of Computer Science. It also provides a description of the different job categories.

General Job Categories #

The department employs undergraduates to assist with many COS courses. The jobs are divided into three categories (most paid $18/hr):

  • Lab TAs who help students in undergraduate-staffed office hours
  • Graders who grade assignments and (in some courses) exams
  • In-class TAs who help students in the classroom (these positions are called facilitators or precept assistants)

Some Independent Work (IW) seminars also hires 1-2 UCAs to do a combination of all three jobs (assisting in class to provide feedback to student presenting their projects, grading projects, and providing office hours for students to get help with their projects).

Finally, some courses also hire a higher-level position (paid $21/hr):

  • Managers who coordinate and supervise the work of other UCAs (typically managers have already worked in the course in a previous semester)

Specific Job Categories #

In addition to the general jobs, there are some specific jobs.

For instance, the Intro COS Lab (which centralizes the undergraduate-staffed office hours for COS 109, 126, 217, and 226) hires a Head Intro Lab TA or Team. The Intro COS Lab also hires a team of Interviewers, who interview prospective Intro Lab TAs.

Several courses may hire UCAs on an ad-hoc basis to help with course development or tool building.

Jobs #

Below is a description of all the jobs that are available, with a description of their responsibilities.

These jobs are not always hiring every semester, so please check TigerUHR directly for the list of jobs currently hiring.

Intro COS Lab TA Program #

Supervised by UCA hiring coordinators and the Head Lab TA Team.

Team communication: Slack ( central COS UCA Slack: #lab-announcements, #126-lab, #2xx-lab)

The Intro COS Lab, currently in Lewis 121 and 122, is a place where students taking introductory courses can go for help in debugging their programs. The Intro Lab TAs are those glorious individuals working on the front lines, providing that help. The lab is available to students taking COS 109, COS 126, 217, and 226. The Intro Lab TAs are coordinated by the Head Intro Lab TA (possibly with an Assistant), who is an undergraduate. Most of the shifts are on evenings or weekends, and they last 2 hours. Typically, a TA either has two shifts per week, or is a substitute TA.

For more information about the job, the conditions for applying, and the pay rate, please see this page about becoming an Intro Lab TA job.

The Intro COS Lab uses the LabQueue to manage the queue of students waiting for help.

Read specific information about the job responsibilities for:

COS 109: Computers in Our World #

For description and past ratings, see course page on Princeton Courses

Supervised by Prof. Brian Kernighan (Fall 2023)

Team communication: Email

Description:

Assist students in understanding problem sets and completing labs

Responsibilities (6-8 hours/week):

  • Assist in the scoring of 5 assignments spread out over the term

  • Assist in the scoring of lecture or guest speaker reflections or book reports

Requirements:

  • Must have taken the class and gotten B+ (by default),
  • Must have prior experience as a UCA (in this course),
  • Must be COS majors,
  • Must be specific applicant(s) that have contacted Prof. Brian Kernighan

COS 126: Computer Science: An Interdisciplinary Approach #

For description and past ratings, see course page on Princeton Courses

Grader position #

Supervised by Prof. Sebastian Caldas (Spring 2024)

Team communication: Slack ( central COS UCA Slack: #126-grading)

Description:

This position grades the programming assignments and programming exams, in Java.

Graders work through codePost to provide high-quality and supportive feedback to introductory CS students. A detailed rubric is included. The work consists of reading and understanding the student’s code, and providing feedback on the code’s correctness, efficiency and clarity.

Responsibilities (~4-5 hrs/week):

  • Attend weekly grader meeting (2-3h/week) to review the rubric and start grading synchronously.

  • Grade late and remaining assignments asynchronously (~1h/week).

Requirements:

  • Having taken COS 126 (B+ or better typically)
  • Strong empathetic skills

  • Good written communication skills

Precept Assistant position #

Supervised by Prof. Sebastian Caldas (Spring 2024)

Team communication: Slack ( central COS UCA Slack: #126-precept-assistants)

Description:

Precept assistants are responsible for helping students understand the solutions to a set of active learning exercises during precept (e.g., Java programming exercises, worksheets). You will work alongside a graduate student or faculty preceptor to help students work on these exercises and will answer questions regarding the course material.

A great precept assistant is enthusiastic and patient. They can connect with a wide variety of students, encouraging them to ask questions while explaining the course material in a variety of ways.

A precept assistant may also be hired as a grader or as a COS Lab TA.

Responsibilities (~2-4 hrs/week) :

  • Prepare by reviewing upcoming precept exercises before class (1h/week)

  • Attend two precepts per week and answer students’ questions (2-3h/week)

  • Work under the direction of a preceptor

Requirements:

  • Having taken COS 126

  • Being able to communicate effectively with a diverse group of students

Schedules (updated for Spring 2023):

Before applying to this position, please confirm you are available for one of the scheduled precepts for COS 126, which you can find here.

COS 217: Introduction to Programming Systems #

For description and past ratings, see course page on Princeton Courses

Supervised by Prof. Christopher Moretti (Spring 2024)

Team communication: Slack ( central COS UCA Slack: #217-grading)

Description:

The COS 217 grader evaluates COS 217 assignment transcripts and code to grade and provide high-quality, supportive feedback on students’ submissions. Grading is done via codePost using primarily pre-defined rubric notes and deductions.

Responsibilities (~6-10 hours/week):

  • Attend weekly grader meeting ~1 hour per week (Spring 2024: likely to be Thursdays 5:00-~6:00pm). During weeks an assignment is due, this meeting will refresh your memory of that assignment, describe common errors, and review the rubric and codePost items to prepare for grading. During weeks between assignment due dates, this meeting will serve as a grading session to do some synchronous grading and get questions answered.

  • Grade 8-15 submissions asynchronously. Typically this accounts for 4-8 hours per week, though some assignments may grade faster or slower than others.

Requirements:

  • Having taken COS 217 and earned an A- or better. (Lower grades will be considered on a case-by-case basis.)

COS 226: Algorithms and Data Structures #

For description and past ratings, see course page on Princeton Courses

Grader position #

Supervised by Prof. Pedro Paredes (Spring 2024)

Team communication: Slack ( central COS UCA Slack: #226-grading)

This position grades the programming assignments in Java, which happen about once every two weeks. It involves reading complex code, with the need to understand errors in the running time or memory efficiency of the code.

Responsibilities (~4-6 hrs/assignment) :

  • Attend weekly grader meeting (2-3h/assignment) to review the rubric and start grading synchronously.

  • Grade late and remaining assignments asynchronously (~2-3h/assignment).

Requirements:

  • For Freshman/Sophomores: Having taken COS 226 (B+ or better typically)

  • For Juniors: Grading experience in any course (or being a lab TA)

  • For Seniors: Grading experience in COS 226

Grading Manager position #

Supervised by Prof. Pedro Paredes (Spring 2024)

Team communication: Slack ( central COS UCA Slack: #226-grading)

Description:

This position is for students that are interested in contributing to improve the class and can involve multiple things depending on your interests (see responsibilities below for examples), some of which don’t necessarily involve grading (despite the title name).

Grading managers will work closely with Prof. Paredes

Responsibilities (time commitment variable):

  • For students interested in grading it can be any of the following:

    • Supervising the COS 226 graders (e.g. answering their questions, grading tougher submissions).
    • Creating new materials to support the grading mission (such as the style guide, automation scripts, preparing grading briefs).
    • Audit a subset of submissions to ensure quality of grading.
  • For students interested in interacting with other students, responsibilities might include holding office hours, assisting in precepts and attending staff meetings with the course instructors and graduate preceptors.

  • For students interested in creating new material for the course, responsibilities might include revising assignment statements, revising precept handouts, beta testing new assignments, creating supplemental material.

Requirements:

  • Having been a COS 226 grader for at least one semester

  • A vision on what can be done to do to improve COS 226

  • Candidates will be asked a few questions about what they are interested in doing for the course as well as their past experience with the course

COS 240: Reasoning About Computation #

For description and past ratings, see course page on Princeton Courses

Grader position #

Supervised by Prof. Iasonas Petras (Spring 2024)

Team communication: Email

Description:

The COS 240 grader grades COS 240 students’ work and provides feedback.

Responsibilities:

  • Grade (asynchronously) students’ work and provide feedback for ~5-7 hours a week (on weeks when grading takes place, which is more or less every 2 weeks).

  • Attend (and participate in) grading consistency meetings (most likely online) taking place on Thursdays 4:30PM-5:30PM

  • Attend (and participate in) weekly status meetings (most likely online) taking place on Fridays 3:30PM-5:00PM

  • Meet grading deadlines consistently

Requirements:

  • Having taken COS 240 and performed well

  • Must have satisfactorily answered the supplemental survey

Lab TA position #

Supervised by Prof. Iasonas Petras (Spring 2024)

Description:

The COS 240 Lab TA holds office hours where COS 240 students can ask questions on and discuss the course material and the course’s assignments. "

Responsibilities (~6 hrs/week):

  • Hold 4 hours of office hours per week.

  • Attend (and participate in) weekly status meetings (most likely online) taking place on Fridays 3:30PM-5:00PM

Requirements:

  • Having taken COS 240 and performed well

  • Must have satisfactorily answered the supplemental survey

COS 302: Mathematics for Numerical Computing and Machine Learning #

For description and past ratings, see course page on Princeton Courses.

Supervised by Prof. Ryan Adams (Fall 2023)

Team communication: a course staff Slack channel

Description: This position grades assignments and exams. In both cases, submissions will be done through Gradescope. Generally there are two kinds of problems on the assignments: conceptual math problems, and practical work in Python. The Python is submitted as a colab notebook. Graders are expected to provide helpful and fair feedback that encourages understanding.

Responsibilities (~5 hrs/week:)

  • Graders are expected to be reasonably responsive after assignment submission in order to determine who will grade what problems and to ask for help as necessary. My goal is to provide grades and feedback within a week.

Requirements:

  • Familiarity with the material

COS 324: Introduction to Machine Learning #

For description and past ratings, see course page on Princeton Courses.

Supervised by Prof. Sanjeev Arora and Prof. Elad Hazan (Spring 2024)

Team communication: Slack ( central COS UCA Slack: #324-uca)

Description:

This position is a joint grader and office hour position.

For grading, you will be part of the team that grades our weekly assignments, which typically alternate between a written homework (i.e. pen-and-paper pset) and a programming assignment (i.e. IPython notebook). Typically, you will grade one problem or sub-problem most weeks according to a rubric as well as handle regrade requests for your problem. Depending on the number of UCAs on the course, you may not be assigned grading every week (though you should be prepared to grade each week).

For office hours, you will host a weekly 2-hour office hours (either in-person or virtual, we try to offer roughly 50%-50% options) primarily for helping students get unstuck on our weekly assignments. Office hours will also provide prep support before our midterm and final.

Responsibilities (~5-10 hrs/week, depending on whether you’re assigned grading in a given week):

  • Attend and actively participate in 1-hour staff meeting each week (Mon 4:30-5:30pm for Fall 2023, most weeks on Zoom, ~1/month in-person)

  • Prep for hosting office hours each week (i.e. do assignment yourself, ~2 hours/week)

  • Host 2-hour office hour block each week

  • Grade asynchronously one problem or sub-problem (~3-5 hours/most weeks) for the entire class (weekly grading period starts Saturday and is due Tuesdays EOD for Fall 2023)

Requirements:

  • Having taken COS 324 and received a B+ or better

  • Strong written communication skills (for grading)

  • Strong oral communication and relational skills (for facilitating office hours)

Preferred:

  • Prior experience as a UCA (in any course)

COS 326: Functional Programming #

For description and past ratings, see course page on Princeton Courses.

Supervised by Prof. Andrew Appel (Fall 2023)

Team communication: a course Slack

Description: The “COS 326 UCA” position includes grading homeworks, holding in-person office hours (typically focused on homeworks), and answering questions on Ed.

Responsibilities (~6 hrs/week:)

  • You should regularly monitor the COS326 slack where the course staff (including UCAs) will communicate.

  • Grading is asynchronous and on-line; there are 7 homeworks and for each one theres a 2-3 day window in which it ought to be graded. Since you’ve taken the course, you have a pretty clear idea what those homeworks are.

  • If you are assigned certain days/times to cover Ed, you should monitor Ed from time do time during those hours.

  • If you are assigned in-person office hours, you should be there and be helpful.

Requirements:

  • Must have taken the class and gotten B+ (by default), Must pass an interview

COS 333: Advanced Programming Techniques #

For description and past ratings, see course page on Princeton Courses

Supervised by Prof. Bob Dondero (Spring 2023)

Team communication: Email, and staff mailing list cos333instructors@lists.cs.princeton.edu

Description:

A COS 333 UCA works with a graduate student TA to grade some semester-long projects.

Responsibilities:

These responsibilities refer to “Reading Period” and “Dean’s Date” as defined in the Registrar’s Office’s academic calendar.

  • Each UCA will participate in a ~2 hour Zoom pre-grading meeting with the lead instructor and graduate student TAs. During that meeting they will discuss the project grading rubrics. That meeting will occur sometime during Reading Period.

  • After Dean’s Date each UCA will grade 4-to-6 projects, approximately one per day. Some slippage of that schedule will be fine. The grading will be mostly asynchronous, but could involve some synchronous interaction with the members of the teams whose projects are being graded. An UCA will devote ~5 hours to grading each project.

  • Finally, each UCA will participate in a final ~4 hour Zoom meeting with the lead instructor and graduate student TAs. During that meeting they will finalize the project grades. That meeting will occur shortly before the day when course letter grades are due at the Registrar’s Office.

Requirements:

  • Having taken COS 333 and gotten an A- or better

COS 343: Algorithms for Computational Biology #

For description and past ratings, see course page on Princeton Courses

Supervised by Prof. Ben Raphael (Spring 2023)

Team communication: Slack ( central COS UCA Slack: #343-grading)

Description:

The primary responsibility of this position is to grade 5 homework assignments, midterm, and final exam. HW assignments consist of written exercises and short programming exercises. The written exercises are graded for correctness and clarity using a detailed rubric that will be provided. Programming exercises are graded for correctness, but not for quality of code.

UCAs who are interested in other tasks such as helping answer questions on Ed, holding office hours to answer student questions, or contributing to the development/debugging of new assignments are welcome to do so, and will be paid for time spent on these activities.

Responsibilities (~ 5-8 hrs/week):

  • Attend bi-weekly in-person staff meeting (<1hr)

  • Consistently meet grading deadlines

Requirements:

  • Must be COS or ORFE/MAT majors (other majors acceptable with relevant experience)

  • Must have taken COS 226 with a grade of B+ or better

  • Must be interested in course topics (computational biology)

PSY/COS 360: Computational Models of Cognition #

For description and past ratings, see course page on Princeton Courses.

Supervised by Prof. Tom Griffiths (Fall 2023)

Team communication: a course Slack

Description: This position is for a grader who will help with grading of problem sets involving programming problems and written answers. The programming problems are in Python. An auto-grader will be used, and you will interpret ambiguous cases flagged by the auto-grader and provide feedback on the code. You will also help to test problem sets and develop questions.

Responsibilities (~10 hrs/week:)

  • Attend weekly meeting (1 h/week) to coordinate on grading and course goals for the week
  • Read rubric for grading assigned problems
  • Test solve assigned homework problems
  • Grade asynchronously for about 6-8h/week, flexible timing

Requirements:

  • Must pass an interview, Prefer students with experience in ML, e.g. COS 324

COS 375: Computer Architecture and Organization #

For description and past ratings, see course page on Princeton Courses.

Supervised by Prof. David August (Fall 2023)

Team communication: a course Slack

Description: This position involves helping students with the course and grading the programming assignments.

Responsibilities (Flexible 4~10 hrs/week:)

  • Once a week office hours or on request, and
  • grade a few times over the semester.

Requirements:

  • Must have taken the class and gotten B+ (by default),
  • Strong performance having taken COS/ECE375.
  • Must pass an interview

COS 418 Distributed Systems #

For description and past ratings, see course page on Princeton Courses.

Supervised by Supervised by Prof. Michael J. Freedman and Wyatt Lloyd (Spring 2024)

Team communication: a course Slack

Description: As a LabTA for COS 418 you will provide students with support working on our challenging programming assignments.

Responsibilities (~5.25 hrs/week:)

  • 4 hours of office hours per week, typically in 2 separate 2-hour chunks
  • 1 hour of answering questions on EdStem per week (in a defined 1-hour window)
  • course staff meeting to initially discuss responsibilities and later to discuss office hours for 1 hour roughly once a month

Requirements:

  • Must have taken the class and gotten B+ (by default)

COS 423 Theory of Algorithms #

For description and past ratings, see course page on Princeton Courses.

Supervised by Supervised by Prof. Robert Tarjan (Spring 2024)

Team communication: TBA

Description: In this course, UTAs help students complete their coursework. They hold office hours, help in precept, answer questions on Ed, and participate in the grading team. .

Responsibilities (10 hrs/week:)

  • Attend a weekly staff meeting to plan the week.
  • Solve this year’s version of the assignments, which will differ a bit from those of previous years.
  • Hold office hours.
  • Help answer questions on Ed.
  • Help the grading team.

Requirements:

  • Must have taken the class and gotten B+ (by default),
  • Must pass an interview

COS 426 Computer Graphics #

For description and past ratings, see course page on Princeton Courses.

Supervised by Prof. Adam Finkelstein (Fall 2023)

Team communication: centralized Slack if available

Description: In this course, UTAs help students complete their coursework. They hold office hours, help in precept, answer questions on Ed, and participate in the grading team. .

Responsibilities (10 hrs/week:)

  • Attend a weekly staff meeting to plan the week.
  • Solve this year’s version of the assignments, which will differ a bit from those of previous years.
  • Hold office hours.
  • Help answer questions on Ed.
  • Help the grading team.

Requirements:

  • Must have taken the class and gotten B+ (by default),
  • Must pass an interview

COS 429: Computer Vision #

For description and past ratings, see course page on Princeton Courses

Supervised by Prof. Felix Heide and Prof. Vikram Ramaswamy (Spring 2024)

Team communication: a course Slack

Description:

We are looking for students with strong background in computer vision to help in this next iteration of the course.

All UCAs will be expected to assist with grading of assignments and exams.

Beyond that, we would welcome help with:

  • UCA-run office hours

  • UCA support to help guide the final projects

  • UCA support with debugging any new assignments

  • UCA support with grading the poster session and/or the final project reports

  • UCA support with the two exam review sessions

Responsibilities (~5-10 hrs/week, depending on whether there is grading in a given week):

There are 4 assignments and 2 exams. These will be due approximately every 2 weeks and need to be graded within a week. UCAs will be expected to be available to turn the grading around within about 5 days, and to work closely with the grad TA responsible for each assignment.

Requirements:

  • Having taken COS 429 and gotten an A- or better

COS 433: Cryptography #

For description and past ratings, see course page on Princeton Courses

Supervised by Prof. Zeev Dvir (Spring 2023)

Team communication: Email

Description:

The position is for helping grade problem sets (about one Pset every other week). In addition, if the applicant is interested, they can also hold weekly office hours for additional pay.

Responsibilities (~6-10 hrs/week):

  • Attend grading meetings (about once in two weeks) to agree on grading rubrics.

  • Grade about one problem in each Pset (for all ~60-70 students of the course in Spring 2023) on Gradescope. There will be about 4-5 Psets in the semester.

Requirements:

  • Having a strong mathematical background.

COS 435: Introduction to Reinforcement Learning #

For description and past ratings, see course page on Princeton Courses

Supervised by Prof. Benjamin Eyesenbach and Prof. Mengdi Wang (Spring 2024)

Team communication: A course Slack

Description:

This position grades written and coding assignments. The coding assignments will be written in Python + PyTorch. You will work together with the graduate TAs to come up with a rubric for grading each problem. If time permits and if interested, you’re welcome to also help out in writing and testing assignments

Responsibilities (10 hrs/week):

  • We aim to have all assignments graded within 24 hrs of submission. This means that you’ll have to block out some hours in the day after the submission for grading.
  • Clear communication (i.e., staying on top of Slack messages from the rest of the course staff, letting us know if you’re unable to grade for some week)
  • You won’t be expected to join the weekly staff meetings (though are welcome to if interested).

Requirements:

  • An “A” in COS 324 (or equivalent). Some experience with RL.

COS 445: Economics and Computation #

For description and past ratings, see course page on Princeton Courses

Supervised by Prof. Matt Weinberg and Dr. Marcel Dall’Agnol (Spring 2024)

Team communication: Email + a course Slack

Description:

UCAs for COS 445 are primarily responsible for grading (PSets, midterm, and final). That is, every UCA must grade assignments, and it is common for most UCAs to only grade assignments.

UCAs who are interested in other tasks (such as helping answer questions on Ed, providing advice on course policy, etc.) are definitely welcome to do so (and be paid to do so, and appreciated for doing so), but the primary need is grading.

Additionally 1-3 UCAs can instead volunteer to be the “Strategy Design Czar(s)”. The Strategy Design Czars do not grade assignments, but are responsible for maintaining the codebase for strategy design assignments. This role requires significant independence in comparison to grading, but would be fun for students who enjoyed the strategy designs more than the PSets. If you are interested in this, you should email Matt ( smweinberg@princeton.edu) and Marcel ( dallagnol@cs.princeton.edu) to discuss.

Responsibilities (~3-4 hrs/week):

  • Attend weekly in-person meeting Thursdays 4:30PM-5:30PM. These meetings will tee up grading for the most recently submitted assignment, and we will ask you to stay for the entire hour to grade assignments with other course staff in the room.

    Note:

    • We will always be as efficient as possible with these meetings (e.g. we won’t force you to show up if you’ve already finished grading). However, we do ask that you think of in-person attendance every week as the default, and block this time off on your calendar.

    • Many weeks, Matt and/or Marcel will take a subset of interested staff out for bubble tea at 5:30PM.

  • Grade asynchronously ~6 hours every 2 weeks. PSets are due every other Monday. Grading tees off on Thursday, and is due 10 days later on Monday. Because the next cycle starts soon after, we do need to be sticklers about deadlines.

  • Be available for ~6-8 hours (total) of grading the final on May 16/17 (the two days right after the university take-home final deadline). If you’re on-campus, we’ll ask that you grade in-person (and provide food/bubble tea). If you’re off-campus (which is completely fine), we’ll ask that you grade remotely. If your travel plans prevent you from grading (even remotely) during this period, please let Matt/Marcel know this in advance (but you do not need to change your travel plans to be available).

  • There will be no staff meeting during Spring Break, and it is entirely feasible to complete your responsibilities without working at all over Spring Break. However, some UCAs prefer to grade the midterm over Spring Break, and we will have an optional remote tee-off meeting for those who want to do so.

  • Be prepared to give actual feedback on written PSet submissions to help students improve. We will try our best to make this as efficient as possible, but you should be prepared that any assignment that doesn’t receive full credit does typically require you to write something specific to that submission (copy/pasting comments across solutions historically leads to confusion by the students and results in appeals that we have to resolve anyway).

  • [For Strategy Design Czars only] There is a codebase for strategy designs on github that, afaik, is complete, bug-free, etc. However, every SD still requires an initialization (TigerFile submission needs to be set up for every SD, sample files need to be uploaded for students, files need to be downloaded from TigerFile), and a run (some submissions have bugs and will crash the execution, you’ll need to figure out which ones and edit/remove them, etc.). You will also be responsible for answering any questions about the coding portion of the SDs (because Matt/Marcel may not know the answer). This requires more independence than a typical UCA role, because this has always been designed/maintained by UCAs (there is a detailed SD czar onboarding document, and previous years’ czars are often happy to answer quick questions).

  • [For Strategy Design Czars only] You are free to do more interesting things with the SD codebase, if that interests you. For example, you are free to add more ‘check submitted files’ test cases so that there’s fewer buggy submissions, write more efficient code, write new ‘staff solutions’, or develop any new infrastructure that you think would be beneficial. But this is entirely optional–your ‘responsibility’ is just to make sure that SD files are uploaded in a timely fashion, and grades are computed in a timely fashion as well.

Requirements:

  • Must have taken COS 445 and gotten an A- or better. (If you have taken COS 445 and are interested in being a UCA, but did not earn an A- or better, feel free to reach out to Matt and/or Marcel to discuss).

  • Must be available for a weekly 4:30PM-5:30PM staff meeting on Thursdays, in-person.

If you apply for this position, we will assume that you’ll block off every Thursday 4:30PM-5:30PM for an in-person meeting. Exceptions are possible (and we understand there will be sporadic absences), but you should email Matt ( smweinberg@princeton.edu) and Marcel ( dallagnol@cs.princeton.edu) with your situation before applying for this position.

COS 448: Innovating Across Technology, Business, and Marketplaces #

For description and past ratings, see course page on Princeton Courses.

Supervised by Prof. Robert Fish (Fall 2023)

Team communication: centralized Slack (TBD)

Description: Students will assist the class AI’s in scoring assignments and speaker reflections based on a rubric. They will also be able to attend class and listen to the lectures and guest speakers in this new and highly sought-after class. .

Responsibilities (6~10 hrs/week:)

  • Assist in the scoring of 5 assignments spread out over the term

  • Assist in the scoring of lecture or guest speaker reflections or book reports

Requirements:

  • Must be interested in the course subject matter

  • Good written communication analysis skills, must be better than ChatGPT.

  • Any applicant will be interviewed by the course staff prior to hire and we would like to see a writing sample.

COS 461: Computer Networks #

For description and past ratings, see course page on Princeton Courses

Supervised by Prof. Kyle Jamieson (Spring 2023)

Team communication: Course Slack

Description:

This position supports and grades the programming assignments for COS 461 (see https://github.com/kyleatprinceton/COS461-Public), supports precept content development, and other miscellaneous course duties.

Responsibilities (~2-10 hrs/week):

  • Attend weekly grading meetings

  • Hold supplemental office hours before programming assignment deadlines

  • Hold supplemental office hours before exams

Requirements:

  • Having taken COS 461 and gotten an B+ or better

COS 471: Blockchains, Decentralized Trust, and Their Applications #

Supervised by Prof. Rob Fish and Prof. J. P. Singh (Spring 2024)

Team communication: Slack ( central COS UCA Slack: #471-uca)

Description:

Students will assist the class AI’s in scoring programming assignments and speaker assignments based on a rubric. They will also be able to attend class and listen to the lectures and distinguished guest speakers in this class.

Responsibilities (~6-10 hrs/week):

  • Assist in the scoring of 2-3 programming assignments

  • Assist in the scoring of lecture or guest speaker-based assignments

  • Assist in the scoring of projects

Requirements:

  • Must be interested in the course subject matter

  • Good written communication analysis skills, must be better than ChatGPT.

  • Any applicant will be interviewed by the course staff prior to hire

COS 484: Natural Language Processing #

For description and past ratings, see course page on Princeton Courses.

Supervised by Prof. Karthik Narasimhan (Spring 2024)

Team communication: Course Slack

Description:

This position is a joint grader and office hour position.

For grading, you will be part of the team that grades our assignments: there are 4 + 1 assignments throughout the semester (including one warm-up), and each assignment has a written component, and a programming component based on Colab. Typically, you will grade one problem (or part of a problem) a week according to a rubric.

For office hours, you will host a weekly 1-hour office hours primarily for helping studying get unstuck on our assignments, or provide prep support before midterm, or provide guidance on their final project.

Responsibilities (~4-8 hrs/week, depending on whether there is grading in a given week):

  • Attend and actively participate in 30-min staff meeting each week (Thursday 4:30-5pm in COS 401)

  • Prep for hosting office hours each week (0.5~2 hours; this really depends on your familiarity of the course materials. For the weeks that have an assignment due, you are expected to do the assignment yourself and it will take longer)

  • Host 1-hour office hour block each week

  • Grade asynchronously one problem/sub-problem (~4-6 hours for each assignment; there are 4+1 assignments in total throughout the semester) for the entire class.

  • Responsible for regrade requests after the grades are released (0-3 hours for each assignment; really depends on how many issues we may have).

  • Help with answer questions on Ed together with graduate TAs

Requirements:

  • Having taken COS 484 and gotten an A- or better

  • Ideally have prior experience as a UCA (in any course)

  • Strong written communication skills (for grading)

  • Strong oral communication and relational skills (for facilitating office hours)

External Courses Jobs #

Occasionally, the Department of Computer Science will hire UCAs for courses outside of the COS department. These positions are listed below, and may not recruit every semester. Please check the TigerUHR application for confirmation.

EGR 154: Foundations of Engineering: Linear Systems #

For description and past ratings, see course page on Princeton Courses.

Supervised by Prof. Bernard Chazelle and Kritkorn Karntikoon (Spring 2024)

Team communication: Email

Description:

UCAs, working under the direction of the instructor and head TA will do one of the following three tasks (based on their preference): helping craft homework problems, grading, and facilitating help sessions.

Responsibilities (~3-5 hrs/week):

  • UCAs work from the second week of classes to the last day of classes. UCAs will not have to work during midterm week, spring break, or after Dean’s Date.

  • UCAs can work in person or entirely remotely depending on their preference.

  • UCAs will work about 3 hours per week and not more than 5 hours.

  • There is a weekly 30-minute meeting via Zoom (based on everyone’s availability)

  • UCAs can pick from among three different tasks depending on their preference:

    1. Grading, which happens remotely every Friday via Gradescope with a rubric provided by the head TA. Assignments are submitted on Thursday and we always return grades within 24 hours. UCAs will not be responsible for grading the midterm exam or final exam.
    2. Facilitating help sessions, which are on Monday and Wednesday from 4:30PM-7:30PM in COS 301. UCAs can help with all or part of one or both of these help sessions.
    3. Working with the head TA to create the homework, which must be done by each Wednesday, so we can post the assignment on Thursdays.

Requirements:

  • Must have taken EGR 154 and gotten an A, or have taken MAT 202/217 and having gotten a B+ or higher

  • Must be reliable and consistent

  • Must be communicative via email, and respond to emails within a few hours

IW Seminar Jobs #

The Department of Computer Science offers “IW seminars” for its majors, in which a faculty advises a group of 8-10 students each on their own project around a theme of the faculty’s choosing.

Generally, the faculty member is responsible for the overall theme of the seminar, and the UCA(s) is/are responsible for the logistics of the seminar. The UCA(s) is/are expected to be available to answer questions from students, to help students with their projects, and often to provide feedback during the group meeting time.

The meeting times as well as the specific themes of each seminars are updated every term on the IW seminar page of the Department of Computer Science.

➡️ Please note that a UCA for a seminar is expected to be able to make the class meeting time for the seminar. It is your responsibility to check that you are available for the IW seminar for which you apply to be a UCA.

Prof. Ryan Adams #

See academic website.

Team communication: Course Slack

Description:

This position is to provide support for students taking the IW seminar. UCAs will be expected to attend some of the weekly class meetings, hold office hours, and provide support for students on, e.g., Slack. The primary aim will be to offer guidance, conceptual help, and troubleshooting.

Responsibilities (~5-6 hrs/week):

  • Attend the weekly class meeting at a frequency jointly determined with the instructor.

  • Hold 2 hours of office hours a week, with extra before significant deadlines.

  • Be responsive on Slack to issues raised by students in the class.

Requirements:

  • Must pass an interview,
  • Must have previously completed an IW.

Prof. Suma Bhat #

See academic website.

Team communication: Course Slack

Description:

This position primarily assists students in the seminar course.

A UCA attends (most of) the weekly seminars, listens to the students’ project updates and holds office hours.

Responsibilities (~3 hrs/week):

  • Attend the weekly seminar (Spring 2023: Fridays 11AM-12:20PM) and listens to the students’ project updates and action items

  • Hold office hours for ~3 hours/week for students to stop by around key deadlines (beginning of semester, midpoint checkpoint) and clarify conceptual questions and troubleshooting implementations

Requirements:

  • Must have been an UCA for an IW seminar or COS 333

Prof. Chistiane Fellbaum #

See academic website.

Team communication: Email

Description: This position requires assisting seminar participants in conjunction with the instructor. The UCA should attend some of the weekly seminars, specific dates to be agreed upon with the instructor. The UCA is expected to familiarize themselves with the students’ projects and to hold office hours addressing the students’ questions.

Responsibilities (Approximately 5-6 hours/week):

  • Attend approximately half of the weekly seminar meeting (Fridays 11AM-12:20PM) , give feedback in class, and review the students’ project updates and action items presented there.
  • Hold office hours for ~3 hours/week for students to stop by esp. around key deadlines (beginning and end of semester, midpoint checkpoint) and clarify conceptual questions, troubleshoot technical problems.
  • Approximately 5-6 hours/week. There’ll be less in the middle of the semester and more at the beginning and the very end.

Requirements:

  • Some familiarity with NLP and ML.

Prof. Felix Heide #

See academic website.

Team communication: A course Slack

Description: This position supports training job running and bringup of the base IW codebase on research clusters.

Responsibilities (Approximately 5 hours/week):

  • Attend weekly sync up meetings.

  • Support in environment bringup and testing of base code structure for IW projects.

  • Aid in IW code architecture bringup.

Requirements:

  • Must have prior experience as a UCA (in any course),
  • Must be COS majors,
  • Strong communication skills.

Prof. Robert Fish #

See [academic website]( https://www.cs.princeton.edu/courses/archive/fall23/cosIW04/ https://www.cs.princeton.edu/courses/archive/spring24/cosIW03).

Team communication: Email

Description: This position provides near-peer support for students in IW seminar, particularly those who have never done an IW before. UCA should be available to come to the seminar and find out what projects the students are doing. They should also have some office hours at convenient times to work with students to overcome barriers to success, particularly programming issues.

Responsibilities (Approximately 6-10 hours/week):

  • Come to seminar
  • Have office hours at convenient times and be flexible about meeting students
  • Able to check a GitHub or similar repo
  • Willing to help with programming issues

Requirements:

  • Must pass an interview,
  • Should have completed an IW project before

Prof. Xiaoyan Li #

See academic website.

Team communication: Email

Description:

This position holds office hours to help answer students’ questions on using ML packages or coding with Python. The UCAs are also expected to help organize students’ project presentation in class and check their weekly progress.

Responsibilities (~7 hrs/week):

  • Attend weekly class meeting ~1.5h/week or 3h/week (Fall 2023: Wednesdays 1PM-2:50PM or 3:00PM-4:20PM)

  • Hold office hours 1h or 2h/week

  • Read students’ weekly progress report 2h or 3h/week

Requirements:

  • Passing an interview with Prof. Xiaoyan Li

  • Having completed an IW in machine learning or data science

  • Good programming skills with Python

  • Good verbal and written communication skills

Prof. Mae Milano #

See academic website.

Team communication: Slack

Description:

This position supports the course infrastructure and assists students in using it.

The course infrastructure consists of virtual machines and services hosted by Amazon, Microsoft, and Google. The purpose of this course is to gain experience using and configuring distributed systems. Experience with kubernetes, S3, EC2, Azure, or any other cloud-hosted services and cloud providers will be helpful. TAs will ensure virtual services remain available, help configure them correctly for the course, and help students effectively use these resources.

Responsibilities (~8 hrs/week):

  • Attend weekly 30min/week sync-up meeting to check on status of course infrastructure and assign action items

  • Take direct responsibility for a particular cloud service or vendor

  • Configure networking and services on virtual machines

  • hold 2-4 hours / week of office hours for students attempting to use these services

  • communicate availability and summarize expected progress with cloud-specific tasks

  • monitor course email and slack

  • monitor assigned cloud services

Requirements:

  • experience using linux-based systems

  • comfort on the command line

  • familiarity with at least one cloud service

Prof. Huacheng Yu #

See academic website.

Team communication: Email

Description:

UCAs participate in in-class discussions, give quick feedbacks to the student presentations in class and project proposal and mid-term reports, and hold office hours.

Responsibilities (~3 hrs/week):

  • Attend weekly class meetings (80 minutes)

  • Hold a 1-hr office hour every week

  • Attend TA meetings before “grading” the proposal and mid-term report

Requirements:

  • Must be COS or ORFE/MAT majors

  • Must have taken a COS 4xx (and gotten an A- or better) or a 5xx-level theory course