Columbia Computer Science Instructional Assistant Page

Thank you for your interest in an Instructional Assistant position. Please refer to FAQ for answers to frequently asked questions.


Last updated: 08/16/2018

CA Fellowship Application for Fall 2018

August 20: applications for MS fellowships due, including reference letter(s). Only MS students who have previously TA’d for Columbia CS are eligible.

Application Form

TA/CA Application for Fall 2018

IA applications are open and assignments are underway. You are notified only when you are assigned.

Courses Seeking TA/CAs

Last updated: 09/12/2018

If interested and qualified, please apply on MICE. Contact the instructor for any questions.

TA/CA: ENGI E4800: Data Science Capstone and Ethics

Required skills: strong programming skills are required. The ideal candidate is MS student in Computer Science with a background in software engineering and machine learning or NLP.

Responsibilities: Assist 3-5 groups of MS students in Data Science with their capstone projects (each group consists of 4-5 students). Review midterm and final reports. Check submission of bi-weekly (every other week) ethics assignments.

This will be a rewarding experience offering the IA significant exposure to current trends and challenges in the field of data science and interaction with industry. Interested candidates who meet the qualifications please send your resume and cover letter to

TA/CA: COMS 4261: Introduction to Cryptography

Seeking a qualified CA/TA for CS 4261 Introduction to Cryptography this fall! Ideally someone who has taken a cryptography course before, or has a strong background in mathematics or theoretical computer science. Responsibilities are relatively light - grading one homework problem for each of 4 homework assignments throughout the semester, plus holding weekly office hours for answering student questions.

Course Description

Instructors: Allison Bishop

TA/CA: COMS 4113: Fundamentals of Distributed Systems

The prerequisites are either (1) to have taken my COMS 4113 last year (or equivalent from somewhere else) and gotten an A, or (2) to have industrial experience with building large-scale distributed systems and programming in Go. Duties include grading the course's homework series ( and answering most of the students' questions about the homeworks through Piazza and office hours.

Course Description

Instructors: Roxana Geambasu

TA/CA: COMS 4771.002: Machine Learning

The second section (taught by Hsu) was added at a late date to MICE. Only students who select the 2nd section as one of their preferences can be considered for that section. So if you signed up for ML section 1 but are also interested in being considered for section 2, please add section 2 within your list of preferences in order to be considered.

Looking for qualified TAs for COMS 4771 (section 2; "Machine Learning"). Applicants (undergrads, MS students, or PhD students) should have received an A grade or better in COMS 4771 or equivalent course. Please apply on MICE _and_ fill out the following survey:

Course Description

Instructors: Daniel Hsu

TA/CA: CSEE 4140: Networking Laboratory

Qualifications: Students that took CSEE 4140 (or a similar class elsewhere) and received a good grade.

Course Description

Instructors: Gil Zussman

TA/CA: CSEE W4119: Computer Networks

Qualifications: Students who have taken CSEE 4119 (or a similar class elsewhere) or Operating Systems (e.g., COMS 4118) and received a good grade. Fluency in Python or C/C++.

This course was added late on MICE and we wanted to bring it to the attention of students interested in TA-ships who may have selected their preferences before its inclusion.

Course Description

Instructors: Ethan Katz-Bassett

TA/CA: EECS 6720: Bayseian Models for Machine Learning

Special consideration will be given to applicants who previously took and performed well in this course.

Course Description

Instructors: John W. Paisley

TA/CA: COMS W4460: Entrepreneurship

Qualifications: Startup or entrepreneurship experience preferred.

Course Description

Instructors: William Reinisch

TA: COMS W3101.003: Programming Language (Python)

Has just been added and is looking for additional TAs.

Course Description

Instructors: Lawrence Stead

TA/CA: COMS 4995.004: Intro to Data Viz

This course is a hands-on introduction to design principles, theory, and software techniques for visualizing data. Classes will be a combination of lecture, critique, and demos. Through readings, design critique and code assignments in D3, students will learn how visual representations can help in the understanding of complex data, and how to design and evaluate visualizations for the purpose of analysis or communication. Topics include visual perception, exploratory data analysis, task analysis, graphic design, narrative, etc. Ideal TA candidates will have previous experience with design, HCI, or similar field, and have significant coding experience with Javascript and D3. Candidates with portfolios in other visualization frameworks will be considered. Please send at least one visualization project as an example of your work. Your primary responsibilities will be to answer technical questions, give design feedback, and grade assignments. You'll be expected to complete readings and assignments ahead of the class, and assist with preparation.

Course Description

Instructors: Agnes Chang

TA/CA: COMS 4115: Programming Languages and Translators

There will be 2 sections, but there is only 1 section in which students need apply. The faculty will be responsible for partitioning assigned students among the sections.

Section 001

Section 002

Instructors: Stephen Edwards, Baishakhi Ray


A CA (course assistant) is an undergraduate or MS student who helps the instructor and students with tasks such as grading, office hours, proctoring, webpage maintenance, etc (this may differ depending on class needs). However, CAs do not perform any teaching duties. We also have a small number of CA fellowship positions for MS students who have proven themselves to be exceptional and needed to help for classes. More details on that below. Students can hold a CA position for at most two semesters, in order to allow more students the opportunity to CA.

A TA (teaching assistant) is typically a PhD student TA, although we also have a limited number of TAIII positions for undergrads who have proven themselves to be exceptional assistants (as CAs or TAIII in previous semesters) and are required for large classes. TAs can be assigned some teaching responsibilities in addition to other tasks.

We sometimes collectively refer to all types of CA/TA as "instructional assistants" (IA).


The Computer Science Department requires that you:

  1. Are a currently registered student at Columbia University
  2. Are in good academic and conduct standing with the University (For more information, refer to Columbia Engineering Policy on Conduct and Discipline and Columbia University Policies and Regulations)

Please note that by submitting your IA application, you grant permission to the Computer Science Department to inquire about your disciplinary and conduct history and also grant permission to the Graduate Student Affairs Office/the Office of Judicial Affairs to release relevant information.


Typically, compensation is $2500 per unit for the semester. The only exceptions are PhD students who are TAing towards their requirement, and those MS students who are assigned as CA fellows (see below).

Note that if an instructional assistant (of any type) is appointed late or submits their required paperwork late, their compensation will be prorated accordingly.

Application Process

You apply for an Instructional Assistant position using the Computer Science Department’s MICE system. If you do not have a MICE account, please email Please go to the Instructional Assistant menu and select “Instructional Assistant Application” to start the application process.

You may update your application and change your class preferences at any time (including after the deadline), and only the last version will be kept. However, this risks removing a class where an instructor had already rated you, or not being seen by instructors of new classes you just added (if those already rated their applicants). Since most assignments are based on instructor requests, I recommend completing your application by the soft deadline, and then changing only if you have a good reason to. We will maintain information on our webpage, including advertising classes where we are missing qualified applicants.

All assignments are done in "units", depending on class enrollment and needs. Each unit is up to 10 hours of work/week on average. Students will not be assigned for more than 2 units a semester, except under exceptional circumstances.

If you are selected to be an Instructional Assistant, you will receive an email from the MICE system. Please note that while most of the Instructional Assistant assignments are completed by the first week of classes, the selection process may continue until 2 to 3 weeks into the semester.

Anyone can apply, but all else being equal, we will give priority to students (grads and undergrads from CC, SEAS, GS, Barnard) who are majoring in CS or CE, over students from other departments.

Appointment Process

You will be notified by email when you are selected for an Instructional Assistant position. Once you accept the appointment, below are the forms you will have to fill out, depending of your hire/rehire status:

    1. If you are a new hire and never worked at the university before, or are an employee of Barnard College or Teachers College, you must complete an I-9 regardless of citizenship or visa status before the start of classes or within 3 days within 3 business days or prior to the beginning of the semester. The official start date to provide the I-9 Processing Center is the date you complete your I-9 form or the beginning of the month (Sept 1st or January 1st). You cannot start working without completing the I-9 process.
    2. If you do not yet have a Social Security Number, please come to CS457 as soon as you complete step a (I-9 verification at 210 Kent Hall) for further instruction.
    3. Below you will find the employment packets- please print out (single sided) and fill in the corresponding packet and bring it with you to CS457.
      1. CA
      2. CA Fellow
      3. TAIII
      4. Payroll Casual Calendar and Timesheets- Fall 18 (for CA and CA Fellows ONLY)
    1. If you have previously worked in the Computer Science Department as a CA or CA Fellow please click here for reactivation forms
    2. If you were previously a TA III no additional paperwork is necessary unless your I-20 has expired. If your I-20 has expired, take your updated I-20, I-94, visa and passport to the I-9 Processing Center to update your I-9. Bring the updated I-9, I-20, I-94, visa and passport to Jack Tomaselli ( so your personnel record can be updated. You cannot be placed on payroll without completing this process.

    Failure to complete the I-9 process within 3 days of accepting the position in MICE will result in a delay of the position and pay. Submission of employment paperwork is required before you begin your work.

    PAPERWORK PROCESS : Jack Tomaselli and Chantal Kadhi-Smith will be assisting with collecting and guiding you through the hiring process. Below are the steps:

    1. Access and fill out the appropriate employment package - (See above - PRINT SINGLE SIDED ONLY)
    2. Walk in hours will be held in room CS457 from 9:30am-3pm Monday, Tuesday, Wednesday, 2pm-6pm Thursday, 9:30am-4pm Friday beginning on September 4th until September 18th, then by appointment. If you cannot make the walk in hours, please contact Jack Tomaselli ( to make an appointment.
    3. Please make sure you have your I-9 and your SSN receipt - if needed and also bring all your documentation (Passport, Visa, I-94, I-20 and all other employment forms)
    4. For additional questions concerning the hiring documents or process please email Jack and Chantal at
  3. GRA's who also TA
    Students completing PhD teaching requirements do not have to complete any paperwork but are required to accept the position in MICE. All currently funded GRAs who will be paid for TA duties as add-comp must accept the position in MICE and complete the Add Comp Authorization form click here. Upon completion you must forward the form, via email attachment, it to your faculty advisor for electronic approval. The completed form with your faculty's approval must then be emailed to the Department Chair for approval. Please copy Maria Joanta ( on all Add Comp approval requests emails sent to faculty.


There are three different types of Instructional Assistant positions: Teaching Assistant, TAIII, and Course Assistant.

Teaching Assistants are mostly doctoral students. For a few first- and second-year undergraduate courses with large enrollments, high-achieving undergraduate students who have performed well in these courses may serve as Teaching Assistants (TAIII) for several semesters. Primary responsibilities include:

Course Assistants are high-achieving MS and advanced UG students who have performed well in the course or a course with similar content. Primary responsibilities are:

Course Assistants do not hold recitation sections or to give lectures. Specific duties may vary based on class and instructor requirements. Course Assistants are assigned as CAs for one or at most two semesters.

Code of Conduct

As an Instructional Assistant, you play a valuable and integral role in shaping the ethical direction of our students. You are ambassadors and role models. As such, the following four principles must be adhered to: respect, trustworthiness, fairness, and responsibility. An Instructional Assistant treats others with respect: An Instructional Assistant acts in a trustworthy manner: An Instructional Assistant treats students fairly: An Instructional Assistant acts in a responsible manner:


If you have any questions please contact me at and the IA coordinators at