HTA Missive

Meta-TAs and The Director of Undergraduate Studies

January 6, 2024

About this document

This document outlines the role and responsibilities of head teaching assistants (HTAs) within the Department of Computer Science. It describes the tasks which are required of most, if not all, HTAs, and includes important information regarding administrative and technical practices. Some of the content found in this missive will not apply to every course, but it is a useful resource nonetheless. All HTAs, new and returning, are strongly recommended to read this document and refer to it as necessary.

To report corrections or request additions, contact the Meta-TAs or the Directors of Undergraduate Studies.

Aspects of this missive reflect the contract between TALO and Brown University. There is also a plain-language summary of the contract. For any issues covered in the contract, the contract is the definitive statement of rules and procedures.


1 Basic responsibilities

Congratulations on being hired as a head teaching assistant! We hope that you are excited for the coming semester and the challenges (and rewards!) it will bring.

Being a head TA is a large responsibility. You are entrusted with thinking of the “big picture”. What’s going on with the UTAs and students? What might be on the horizon from a student perspective that could impact course operations? You work with both the instructor and the UTAs to keep the course running smoothly. This includes (in coordination with the instructor) hiring a staff, planning TA camp, and making sure that assignments and grades go out on schedule.

In addition to these new responsibilities, you are still expected to adhere to the policies outlined in the UTA missive. Now more than ever, you must remain professional at all times. You set the tone for how your course’s UTAs will behave, which affects the experience that your students have, which in turn contributes to the reputation of our department as a whole. Be respectful of your students, staff, and of course, your instructor.

Some course tasks may NOT be done by HTAs. In particular, HTAs may not see or process accommodation letters or extension requests. HTAs may not prepare academic honesty cases (though they may assist in gathering information related to a particular case, including running MOSS and gathering submitted files).

2 Immediate tasks

The following tasks should be undertaken once you have been officially hired as a head TA:

The MTAs and the department will offer training for HTAs soon after you have your position in Workday. This session will cover many of the key logistics, and some guidance on managing your UTAs and course organization.

3 UTA Hiring

Before you begin interviewing UTA applicants, set up a meeting with your instructor to discuss what might changes are planned for the next semester, including course development needs.

3.1 Recruitment

Head TAs are encouraged to actively solicit applications from potential UTAs, especially for courses that have trouble getting enough applicants. How you do this is up to you and your instructor, but you may wish to consider e-mailing people who TA’ed the course or did well in it as students last year. Look beyond the most obvious or outgoing students when soliciting applications: this is a key step in creating diverse course staffs. Individual e-mails which address the recipient by name are much more effective than Bcc’d mass e-mails. At this point, you should start using a more professional tone in your e-mails as a head TA. You may use your new HTA mail alias as your Reply-To address if you’d like, but never send e-mail directly from that alias–many people consider this rude (especially when there are multiple HTAs).

3.2 Applications

The application process is administered by the Meta-TAs. The Meta-TAs will send out a preliminary list of applicants to instructors about half way through the application period. Once applications close, you and your instructor will receive a google sheet containing information on all your applicants.

3.3 Interviewing: the “Do’s”

It is department policy to consider all of your applicants equally unless you have some objective metric to rule someone out (such as them not having taken the course). Such metrics must be applied uniformly across all of your applicants. You can choose not to interview returning TAs but this should be consistent with all returning TAs, i.e you cannot interview some and not the rest.

In the past, this rule has been interpreted as offering face-to-face interviews to all candidates. As course populations and application pools have gotten larger, however, face-to-face interviews of all candidates is becoming too costly time-wise for some courses. Several courses now send surveys prior to scheduling interviews. A survey might ask students about why they applied to the course and about things that they felt the course did particularly well or poorly when they took it. A survey can ask applicants to write sample responses to discussion board posts (one form of a mock-hours check) or to indicate how they would respond to a specific student question during hours. Survey responses can then be used to determine initial clustering of applicants for the MTA algorithm, reserving face-to-face interviews to resolve cases where the clustering isn’t clear.

To clarify clustering: the MTA’s UTA-hiring algorithm takes an ordered set of clusters of applicants, randomizes the order of students within each cluster, then proceeds down the list to make offers (with a separate component used to deal with students who applied to multiple courses). The implication for HTAs is that your interview process only needs to be detailed enough to form good clusters. If you have many similarly-qualified applicants, the MTA’s algorithm will already randomize who is chosen from that pool. Your interview process therefore mainly needs to distinguish top tier applicants, acceptable applicants, and below-threshhold applicants (some courses that take a survey approach create four clusters: e.g., absolutely want, would love to have, acceptable, below threshhold). To preserve your own workload in hiring, consider how much detail you actually need in order to arrive at a sufficient hiring cluster for your course.

When contacting your applicants to schedule interviews, be sure not to accidentally publicize the list of applicants. Do not paste all their e-mail addresses into the “To:” or “CC:” fields, as this is equivalent to publishing a list of your applicants. You should either send e-mails directly to each applicant or use BCC.

If you do set up interviews, we suggest that you use some form of a scheduling tool such as Google appointment slots. It is up to you to determine how long you would like to spend with each applicant. While previous HTAs have noted that 20-30 minutes is ideal, that may be more than you can afford time wise in a course with lots of applicants (unless you have used surveys or some other means to trim the pool you need to interview). During your interviews, you may wish to do the following:

You should take notes from your interviews. You may wish to determine a set of criteria (e.g. “past teaching experience”, “understanding of course material”, “enthusiasm for topic”, etc.) and then give each applicant a 1-10 score for each category. Make sure to schedule time in between interviews to record your thoughts on each candidate. Spacing out interviews will also help your energy levels and recollection, and it will give you a buffer in case your interviews run behind schedule.

3.4 Interviewing: the “Don’ts”

Remember that you may not, under any circumstances, interview an applicant on your own. There should always be at least two representatives of your course present: you and your instructor, you and another head TA, etc. If this is not possible, contact the Meta-TAs with your interview schedule and they will arrange for one of them to be present at each interview with you.

HTAs/graduate TAs should not be present for or participate in interviews if their presence would compromise the professionalism of the interview. This includes having had a past intimate relationship with a candidate, being roommates, close friends, etc.

Additionally, department policy states that you are not permitted to ask your applicants whether they have applied to other courses, if they would accept a position if offered one, what their course preferences are, etc.

3.5 Ranking candidates

After you have completed your interviews, please note that you are not authorized to begin making offers to the applicants you would like to hire, as they may be in contention with another course. Instead, you should decide which of your candidates are “above threshold” (i.e., you would be willing to make them an offer) and which are not. You should then rank the above-threshold candidates in order of preference, with your most desired applicants at the top. Please do not attempt to game the system, as this will result in delays in the hiring process. You may include equivalence classes of candidates you would like to hire equally. If you are unable to properly rank your preferences, then we will not take them into account when resolving conflicts. By placing a candidate below threshold, you are indicating that you would not like to hire that candidate even if your course would otherwise be understaffed.

You will submit your preferences as a CSV of ranked logins with the threshold clearly marked. You can validate the format of your rankings by using the validation script provided by the Meta-TAs. You must include every applicant’s login on your preference csv even if they do not interview. It is important to get your preferences in by the deadline set by the Meta-TAs so that they can begin the hiring process promptly.

3.6 Matching UTAs to Courses

Many students apply to TA more than one course. The Meta-TAs resolve the conflicts which arise from the contention for these applicants.

3.7 Notifying applicants

After the Meta-TA’s resolve conflicts, they will send each course a list of candidates they may extend offers to. You should send notices to all the applicants you have been authorized to hire informing them that you would like to offer them the job and need to know whether they accept within 48 hours. You should not inform any applicants that they will not be getting an offer. Once each of your applicants has replied definitively, tell the Meta-TAs if all have accepted, or if not, how many declined. Do not send offers to any applicants who were above threshold but whom you were not originally authorized to hire. They may be in contention. The Meta-TAs will determine who else on your list is not in contention with any other courses.

Once you have successfully hired as many TAs as your course was allocated, please do not send notices to your remaining applicants informing them that you are unable to offer them a position as they may have received another position elsewhere. After all courses have been fully staffed, the Meta-TAs will post the list of all hires to announce. Until announce has gone out please ask your staff to refrain from talking about their offers with others. After this post is made, you are welcome to hold a preliminary staff meeting before the semester ends.

3.8 Hiring Additional TAs and Replacing TAs

Courses might need to hire more TAs after the usual hiring period, either because there weren’t enough TAs for the course size at the start of the semester or because a TA resigned (for any number of reasons) mid-semester. Let the MTAs know if a TA resigns. Requests for additional TAs go initially to Tom Doeppner. Both situations then follow the same process.

The MTAs will check to see whether your course had above-threshhold applicants who do not currently hold TA positions in other courses. If there are such students, the MTAs will tell you the next applicant to contact, just as during the regular hiring period. If an applicant accepts, tell the MTAs who will onboard the student logistically as soon as possible.

If there are no above-threshhold applicants still available, you can put the word out to try to find additional applicants. If this need arises before the first week of the semester, you can announce your need for additional TAs at the department’s Town Hall (often held on the first Thursday of the semester). While the MTAs might send a mass email for all courses at the start of the semester, after shopping period you will have to recruit on your own. You might approach a past course TA (who might be willing to chip in for a few hours each week).

Of course, there is always the chance that your course will simply have to operate with fewer TAs than originally planned. If this happens, don’t just pile extra work on the remaining TAs. Find something to cut, such as canceling an office hour, or changing how grading will be done. These are tough decisions to make mid-semester, so it is in your best interest for you and the instructor to have thought this through in advance: what will you cut if you have to operate short-handed in both temporary and permanent situations?

3.9 Identifying next offering's HTAs

Keep your eye out for UTAs who would make good HTA candidates for the next offering if course. Getting the current UTAs thinking ahead to the following year may also encourage them to put some extra thought into long-term goals and to write down ideas as they go.

4 Organization and Training

Congratulations! At this point, you have a staff of UTAs chosen by you, your co-HTAs, and your instructor. You will now want to begin preparing for TA camp and the coming semester.

4.1 Hand-off meeting

If possible, get together with the previous offering’s HTA(s) and the instructor. This is one of the best ways to get on-track with the myriad of course-specific details related to development, administration, and staff organization. You may wish to ask them questions about what they would change about last year’s curriculum or how the course was run, what issues they ran into, etc.

4.2 Pre-semester gathering

You may wish to get your UTAs and instructor together at least once before the end of the semester so they can meet one another and start discussing their goals for the course. You may also wish to use this time to go over general TA responsibilities, assign individual TA jobs, etc.

Note that this meeting cannot happen before your UTAs have positions in Workday. You may reach out to your UTAs for purposes of announcing and scheduling the meeting before they have positions in Workday.

4.3 Working during Summer or Winter Break

HTAs should get authorization from Tom Doeppner to do any course development or preparation in the time between getting on payroll and the start of TA camp. When requesting permission, you should have an idea of how many hours you will be working. After receiving authorization, you should log your hours as they are worked.

If you are interested in having your UTAs work over break you must first get approval for this from Tom Doeppner. When asking for approval you should list the number of TAs that will be working and how many hours they each will be working. TAs should logging their hours as they are worked and you should keep an eye on these hours to make sure they do not exceed the authorized number.

Neither HTAs nor UTAs may work on a course prior to being on payroll for it.

4.4 Before TA camp

Your course may or may not have a TA camp, depending on the size and experience of your staff and how much development needs to be done for the semester. Please make sure your staff knows to be back in time for the mandatory UTA Training even if there is no camp.

Develop a rough plan of what will need to be done at TA camp: will you be writing new problem sets and solution keys? Creating a new project (and new support code to go with it)? Adding a new unit or removing an old one? Once you have a rough plan for TA camp, pick a start date which will give you enough time to accomplish these goals. You and your co-HTAs may wish to return a few days before this start date to plan and prepare for TA camp.

Remember to budget half a day for the all-TA training and TALO orientation. The former is mandatory for all TAs, including returning TAs and head TAs! The Meta-TAs will let you know the earliest day your TA camp may start.

If you are having TA camp, choose dates once the Meta-TAs release information regarding early housing. Inability to attend TA camp is not grounds for turning down an applicant. Some people come from far away (and perhaps have already purchased plane tickets at great expense) and requiring that all staff members attend TA camp introduces bias into the hiring process. That being said, you may require a very good reason for not attending TA camp.

The absolute earliest date that students living on-campus can move in to their dorms is set by Residential Life and will be communicated to you by the Meta-TAs as soon as it is available.

The department will pay for TAs to move in early to on-campus housing beginning the day before the start of their TA camp (e.g., if your TA camp starts on August 30th, your TAs may move in as early as August 29th without having to pay any fees). The Meta-TAs will request certain information from TAs who are moving in to a dorm early, such as when they are moving in, what their Banner IDs are, etc. It is vital that you ensure your TAs supply them with this information as soon as possible, and certainly before the deadline they set. Failure to do so may result in your TAs not being able to move in early.

UTAs returning early for TA camp may be unable to use campus eateries. However, all TAs, including those who are TAing for course credit, will be paid hourly for time spent during TA camp. All TAs should be sure to log their hours promptly. The department will provide meals to TAs during TA camp.

4.5 Staff organization

There are many ways to divide up responsibilities among your UTAs. Here are a few of the classic methods used by past HTAs:

As a general rule, you should head into TA camp with a clear understanding between HTAs and the instructor as to which roles will handle which tasks. The department offers a planning worksheet that enumerates common course tasks and poses questions to make sure your staff and processes are ready to go.

4.6 TA Training (and TALO Orientation)

There are two forms of TA training: the training for new TAs occurs online via Canvas; instructions will be sent to TAs a few days before TA camp begins. During TA camp, there is also an in-person all-TA training, which everyone, including returning TAs and HTAs, is expected to attend. The head of TA training will announce how staff not yet on campus will be accommodated for all-TA training.

The all-TA in-person training lasts two hours and is generally offered at two separate times (of which you will attend one). In addition, TALO presents a one-hour orientation program, typically adjacent to the all-TA training sessions. This means you should block off a half-day in your TA camp schedule for this training. Dates will be announced well in advance of the start of camp by the MTAs or the head of TA training (currently instructor Kathi Fisler).

The topics for all-TA training are slightly different each semester. They are designed to help prepare your staff in aspects of assignment or handout creation, pedagogic strategies specific to CS, understanding student learning, and supporting students with diverse needs and backgrounds. Suggestions for topics are always welcome (email them to Kathi Fisler).

In addition, you will likely want to conduct some training for your staff on course-specific practices. This might include running labs, grading your style of assignments, running collaborative office hours, holding mock hours, and using course tools. Consult with your instructor as to any training topics that should work into TA camp.

When training your TAs on using tools and grading assignments, bear in mind that hands-on learning is more effective and memorable than slide-based presentations. Have your TAs practice any critical tasks during camp.

4.7 During TA camp

Many courses spend most of their time updating course materials including assignments, lectures, autograders, and labs if your course has them. In addition to updates, TAs often go through the assignments again to double check that they are ready for students and refresh their knowledge of the material.

A good rule of thumb is that you want to be sure you have all the material that will be covered in the first two weeks of school set to go by the end of TA camp so that you can focus on the start up logistics and other miscellaneous tasks that tend to come up during shopping period. For the material that comes after, you can still be working on updating that as the semester gets underway. (If you plan to do this, however, make sure adequate time for this work has been built into everyone’s average workloads).

As an HTA, you'll want to make sure that you have your system for grading and keeping track of grades ready to go by the end of TA camp. It's usually a good idea to do a short run through with your staff of the grading process so that they understand it and you can be sure it works as expected.

During TA camp, you will also want to figure out some course logistics, such as when you want to hold lab, and when/where your TAs will hold hours. A few things to keep in mind while scheduling TA hours:

For large courses, your instructor may have already set the lab times and had students sign up for lab sections when they enrolled in the course. In this case, you'll just need to have policies in place for dealing with lab switches as student schedules change during shopping period.

In general, the MTAs will coordinate allocating rooms for TA hours, labs, and grading meetings either before or during TA camp.

4.8 Designing for Unexpected Circumstances

Despite best intentions all around, a few UTAs might not be able to keep up with their assigned duties (due to illness, unexpected workload in their own courses, unexpected personal circumstances, etc). An assignment can end up harder to grade than anyone expected. EdStem may explode with questions on an assignment that wasn’t sufficiently clear. Issues such as these are a frequently source of stress for HTAs, as well as causes for many on staff to put in extra hours.

It is important to build some slack into your allocations for key course components such as labs, hours, and grading so that the course continues to run smoothly when (not if!) such situations arise. For example, you might discuss with your instructor how many staff hours are available for grading, then design an assignment feedback mechanism that fits that time (e.g., use autograders, grade only some questions in detail, do live code reviews instead of marking assignment files).

Some courses have tried to keep UTA work allocations fair by assigning each UTA specific students to grade, rather than assigning each UTA a number of grading hours. Any time you have a system that depends on a specific person needing to complete a specific task, figure out a backup plan in advance that you can use if that person becomes unavailable. On grading, for example, one UTA having a bad week could result in the entire class getting assignment grades back a week late if you don’t have backup plans thought out in advance. Building in slack time (say a few hours of time across the staff for dealing with unexpected situations) could save you, your UTAs, students, and the instructor considerable stress during the semester.

4.9 Putting Texts on Reserve

These will be determined by your instructor. If you would like to put your course text on reserve in the library, talk to your instructor and have them make a request via OCRA. If there are any questions about the reservation process, please contact Rock-Reserves@brown.edu.

4.10 Syllabus

Depending on the instructor you are working with, your course will put together some kind of syllabus with project/homework deadlines in it. Deciding who creates this document and sets these deadlines is between you and your instructor.

Major deadlines are sometimes discussed with other course’s HTAs at the beginning of the semester so that the labs aren’t overwhelmed by multiple assignments due on the same day. Also, keep in mind that it puts undue pressure on the consultants (and students, for that matter) when assignments are due after the lab closes. Be sure to double-check holiday schedules across a variety of faiths when considering due dates and late policies.

5 Compensation

Many of the rules regarding compensation, authorization, and procedures are detailed in the contract between TALO and Brown University.

HTAs are expected to work no more than 15 hours a week during the semester (you may work more during breaks and TA camp). UTAs should not be working more than 10 hours per week. Small additional time requests should be rare and sent to your instructor for approval. If you need more than an hour or two on a regular basis, (a) talk to your instructor about reducing your workload and (b) clear it with Tom Doeppner. If any of your UTAs repeatedly run over time, check in with them regarding their workload and whether they might need more training on how to complete tasks in a timely manner.

5.1 Pay Rates

HTAs are paid $22.00 per hour.

To be paid, you need to fill out an I-9 form and a W-4 form. If you have worked for Brown before, you have already been cleared and do not need to worry about this as long as you are an undergraduate student, not an international student, and have not taken a leave of absence or studied abroad since I-9’ing. You can contact the Brown Business Center for any queries. You can find instructions for filling out your I-9 here.

W-4s are now completed online. To complete it log on to Workday here, then click the "Pay" circle, then click "Withholding Elections". In both the "Federal elections" and "state elections" tab, click "Update" to fill out the form.

5.2 Logging Hours

All TAs who are working for pay are required to log their hours and submit timesheets using the university time tracking application, Workday. You can access Workday here.

Timesheets are due in Workday on a weekly basis: Lori Agresti (who oversees payroll) will send an email to all student employees weekly as a reminder of this deadline which is Monday at 11am.

Hours submitted late create significant paperwork and time demands on the CS department staff who handle payroll. As per the TALO contract, you are responsible for submitting your hours on time.

Note that during TA camp all TAs (those who are TA’ing for credit and those who are not) should be logging hours to be paid. However, all hours should reflect work that is being done on the course; no TAs should be logging hours for social events.

5.3 TA’ing for Credit

HTAs may choose to TA for credit rather than pay. The Meta-TAs will send out a form to indicate whether you will TA for credit or pay. If you TA for credit, you should stop logging hours after TA camp and register on banner for either the full credit course (cs0081) or the half credit course (cs0082). It is extremely important that you register for one of these courses before the last day to add a class as once that happens there will be no way to give you course credit for TA’ing if you are not registered.

Note that these courses do NOT count towards a CS concentration.

6 Facilities and Rooms

The following rooms are some of those that are available for reservation:

6.1 MTA Managed

Check availability on the CIT Resource Spreadsheet distributed at the beginning of the semester. Contact the MTAs (mta@cs.brown.edu)) with the day, time, room, and how many TAs to reserve:

6.2 Reception Managed

Check for rooms and their availability here. Contact the Meta-TAs to reserve.

If you’re booking on the weekend, especially, the room might be locked. MTAs have keys to these rooms so if you let us know in advance of when you’ll need the room unlocked we can come unlock it for you. Please don’t wait until the last minute to contact us! This creates chaos for everyone and may mean that your course won’t be able to use the room when you expect to.

6.3 25-Live Managed

Any other room you can think of is likely managed by 25 Live where you can view availability and make reservations.

Reservation Tips

7 Printing and Supplies

Courses are not permitted to use the fourth-floor copy machine. All printed materials should be printed from machines in the CIT. Only vital materials may be printed. Examples of vital materials include exams and collaboration policies. Examples of non-vital materials include course missives, syllabi, homeworks, and homework solutions. If you have questions about what constitutes “vital” material, direct them to the Meta-TAs. Your instructor’s administrative assistant may also be able to assist you.

All TAs have access to some necessary office supplies for TA-related work. They are kept in the copy room on the 4th floor. These supplies include pens and pencils, notepads, and whiteboard markers. If you need help with supplies, contact the Meta-TAs.

8 Discretionary Funds

Each course is allotted a small amount of money to use on food for its TAs during long grading meetings. The standard amount is $3 per student enrolled in the course via Banner after shopping period. You may access this money through your instructor’s administrative assistant, or if they don’t have one, through Lauren Clarke (lauren_clarke@brown.edu). Whenever you want to order pizza, buy sodas, or go out to dinner, you should go see your instructor’s admin or Lauren first. If you or one of your UTAs purchases food for your staff and wishes to be reimbursed for it, the receipt must be kept. If you do not have the receipt, the department will have no way to reimburse you. ### 5.7 Miscellaneous Reference

9 System Resources and Details

9.1 Mail aliases

Mail aliases (not to be confused with groups) control where mail addressed to csXXXX(head)tas@lists.brown.edu gets sent. The HTAs should be in the csXXXXheadtas alias and all UTAs and HTAs should be in the csXXXXtas alias. The members of these aliases are determined by their corresponding groups.

9.2 Groups

Each user is a member of certain groups which determine which files they have access to on department machines. You can check which groups a user is in by running “groups <user>”. To list all users who are in a certain group run “members <group>”. 
Each course has a TA group (csXXXta), and an HTA group (csXXXhta) The Meta-TAs will set up the TA and HTA groups once hiring decisions have been announced. If you need any corrections made, you can request changes by mailing problem@cs.brown.edu.

In addition to file permissions, groups are also used by the the handin program (handin) to determine if a user is allowed to hand in assignments for a class (users must be in the TA group or student group for a course in order to hand in) and by the groups hook to load course hooks during shell initialization. A few other tools rely on groups for determining enrollment in a class. 


9.3 Test accounts

All courses are entitled to a test account. These are accounts which are set up to have the same permissions as a student of your course to allow for testing course programs and scripts without TA permissions.

To see if your course already has a test account run “groups qaXXXX”, this should show that the user is in the csXXXXstudent group. If you receive an error message stating that there is no such user you can email problem@cs.brown.edu to request the account be created. If the account exists check your course directory for a file containing the account’s password (typically in /course/csXXX/admin/csXXX000.kerbpass). If you cannot find the password, please call 401-863-4357 or use the online chat system, here, to work with a "Pro-Staff" person. The "Pro-Staff" members at the Helpdesk have full access to work with in setting/resetting the passwords for the QA Accounts. Once you reset the password, please record the password in a place where it will be easy for future TAs to find.

Some things you should always try using a test account:

9.4 Course Directories

Each course has a directory to store course-related materials, including grades, course development work, student handins, project support code, etc. Non-course related files should never be stored in the course directory. Before the semester begins at least one of the HTAs for your course should go through the course directory, cleaning up, checking permissions and organizing as necessary.

Many course staffs now choose to use shared Google drives for storage rather than the Unix course directory. That is fine. You may still want to store some long-term items in the course directory, however, as that will be accessible across course offerings. Some courses archive their websites in the Unix directory at the end of each semester.

9.5 Permissions

Every file in your course directory should be owned by either the TA group or HTA group and be group writable, otherwise other TAs (and future TAs) will not be able to edit the files. If your files are stored in Unix, you should make sure that the setgid bit is set on all directories. This bit will force all new files within that directory to be created with the same group as the directory itself. To set this bit run “chmod g+s dir”. To give students access to files make them globally readable (but not writable).

Make sure that any lists or documents relating to TA hiring are readable only by HTAs and old grades are only readable by the instructor who assigned those grades.

It is important for files in the course directory to be organized in an intuitive way based on their permissions. Files with permissions other than TA-only (e.g. world-readable assignment handouts and the HTA-only documents) should be isolated in their own directories (e.g. handout for assignment handouts and admin/hta for HTA-only administrative files). This makes (manual and automated) permissions checking much easier.

If a file accidentally ends up with incorrect permissions or groups HTAs can use the chmod! and chgrp! commands to fix them. These commands are similar to the standard chmod and chgrp commands.

9.6 Unix Directory Structure

Exact layouts vary from course to course, but normally they include a bin/ directory for course-specific binaries and scripts students will run, a tabin/ for TA-only scripts and binaries, an admin/ directory for administrative files (grades, student list, test account password, a TODO for the next year, etc.). The startups, handin, and www directories are dedicated to special purposes described elsewhere in this document.

You should also include a README in the root of your course directory describing its layout.

It is a good idea to keep TODO files associated with projects and handouts listing things which should be fixed in future years. This is where you should list complaints and suggestions from students as well as any good ideas you come up with which cannot be implemented immediately.

9.7 Snapshots

The department file server features snapshots. This means that every few hours a ’snapshot’ of the current state of all files is taken. This snapshot can be accessed through the .snapshots directory (it exists within every directory on the file system, but will not be listed by the ls command or shown when using your shell’s tab-completion functionality, however any command which uses it will succeed, try running ls .snapshots within your course directory). The snapshots directory contains subdirectories named with the GMT timestamp of the time the snapshot in that directory was taken, for example /course/cs1670/asgn/.snapshots/@GMT-2017.08.04-08.00.02 contains a snapshot of the /course/cs1670/asgn/ directory taken at 8 AM on August 4th, 2017.

The contents of the snapshots directory are read-only; however you can restore your files by copying them back in to the regular file system.

The department information page on snapshots is available at http://cs.brown.edu/system/snapshots/

WARNING: No one (not even root) can modify snapshots. This means that if a file is left world-readable long enough for it to become part of a snapshot, it will remain world-readable in that snapshot until the snapshot expires (at worst this can take several weeks). Therefore, it is very important to make sure that permissions are set correctly on sensitive materials such as grades, solutions, and handins.

9.8 Web

Each course has a web directory at /pro/web/web/courses/csXXXX, which should be symlinked from /course/csXXXX/www.

This directory should contain a home.html or index.html file, which will be the home page for your course website. You can access your course website by going to: http://www.cs.brown.edu/courses/csXXXX/

Some courses have shifted to using github.io or other services for hosting course sites. If your course chooses to do this, find out whether the instructors that teach the course want to keep materials from previous offerings accessible online. If so, the site organization needs to support that (say with a subdirectory per offering, under a fixed github.io infrastructure for the course overall). Do not invent infrastructure without discussing long-term site needs with your instructor.

If your site is hosted outside of the web directory, you should also alert t-staff (problem@cs.brown.edu) to set up a redirection from the CS default URL to your site, as there are pages in the CS department website that contain link to the CS default URLs.

You will probably want to limit accessibility to certain parts of your web page (e.g. solutions, online book, etc.). To restrict access to a file (e.g. based on client IP address), use an .htaccess file (httpd.apache.org/docs/current/howto/htaccess.html, http://cs.brown.edu/system/web/restrict.html). Keep in mind that anyone with a department account can browse your web directory, using .htaccess files will not change this.

9.9 Other Common Tools and Interfacing Across Them

With the suite of online tools that Brown now offers (EdStem, Gradescope, Canvas, Google forms, etc), you may find that your course needs to merge information across multiple tools. It is critical that you think about unique identifiers to use to connect information across these sources. Banner IDs, for example, are not present in all of these tools. Brown CS logins are present in almost none of them.

Whenever you create a Google form (say for pairing partners) or set up a new tool, check what information exists to link that information to other digital tools as needed for grading, communications, etc. Some things to consider here:

As a general rule, if your course is going to merge and move data across services via spreadsheets and CSV files, you will want to set up a master file early in the semester with the student keys that get used across services (Brown email, Banner ID, cs login, etc). Do this as soon as enrollments settle at the end of shopping period (else you will scramble late in the semester). Think carefully about which keys you will use for internal spreadsheets (extension requests, etc) as you set them up.]

9.10 Unix Filesystem Startups

The department provides special startup hooks which are executed by every user on login based on the groups they belong to. Users in the student group for a course will run the /local/projects/hooks/ courses/csXXXXstudent hook. Users in the TA group for a course will run the /local/projects/hooks/courses/csXXXXta hook. In order to make changes to your course’s hooks, contact problem@cs.brown.edu.

Remember that hooks must be run by the user’s shell, so the hooks file must only contain shell- independent commands. Hook files also should not be very invasive, they should not modify any of the student’s files, including configuration files (directly or indirectly).

The default hook file adds the /course/csXXXX/bin directory to student’s paths and the /course/csXXXX/tabin directory to TA’s paths.

9.11 Tech Support

The Meta-TAs are available for a reasonable amount of tech support on startups, scripting, software maintenance, web maintenance, permissions and course directory organization, user applications, and of course, the supported software. This is available to HTAs, plus any UTAs who are working on the more technical aspects of the course.

Note that, while you are not required to use any of the supported software, the MTAs might not be willing to provide much support for an alternative solution if there’s a supported solution you’re not taking advantage of.

Courses may also submit general technical requests to tstaff by emailing problem@cs.brown.edu.

9.12 Sharing Scripts with Other Courses

Over the years, courses have built up considerable infrastructure for managing things like labs, extensions, gradebooks, autograders and the like. Before you develop new infrastructure from scratch, check in with the MTAs and other HTAs to find out what already exists. We are working on compiling a more formal listing of these that all HTAs can access.

10 Supporting Students, TAs, and Yourself

10.1 Struggling students

The first thing to worry about is identifying students who are having trouble. There are many ways to do this, depending on how your course works. Low grades on homeworks or projects are useful, but sometimes indicate just bad time management skills rather than trouble with the material. Labs or other situations where TAs get to watch students working with the material directly are more useful. Note students who consistently don’t finish labs on time. Talking to students, whether during labs, on hours, in interactive grading, etc. is very useful also. Note who tends to have the most misconceptions about the material, and who tends to come to hours the most with very general questions and misunderstandings (as opposed to just clarifications).

After the first month or so of classes, it is possible to form an idea of which students are consistently having trouble and are in danger of failing if nothing changes. Do not wait until the middle of the semester to do something with this information. Try to act on it as soon as possible so that students have the greatest number of options available to them.

Meet with your instructor (if you don’t do that already) and talk about these students. Each TA is likely to know about only some subset of the students, so make sure everyone gets to talk. Mention examples of things that they asked on hours that you would not have expected anyone to ask. Talk about their performance in lab. Try to get a sense of why they’re having trouble (lack of time, bad time management, emotional issues, lack of effort, etc.) and make sure other TAs know about all of this so that they know what to expect from these students on hours and in labs.

Make sure the instructor is aware of students who are having trouble, and have him or her try talking to them as soon as possible. The easiest way to do this is to have the instructor send them an email asking them to come to office hours or set up an appointment.

Try to give some special attention to these students (within reason). Keep them interested in the class by acting enthusiastic and interested on hours and complimenting their work in labs. When trying to help them on hours, be sure not to assume they understand previously covered concepts, and be prepared to explain material from weeks ago, if they never really learned it then.

Students that struggle in a course often consider dropping it for one reason or another. There is not much you can do about this besides being understanding when students ask for extensions, but there will be students who struggle and do not ask. When a project is due, keep an eye out for students who hand in nothing. You or the instructor can then reach out as needed.

Some struggling students will demand too much of staff time, unleash frustrations on staff, or generally behave unprofessionally over assignment-related stress. HTAs (and UTAs) are not, nor are they expected to be, therapists or academic coaches. While you should generally offer a sympathetic ear and encouragement to a student in hours, there are limits. Once such behavior becomes a pattern, whether for an individual student or across several, bring the issue to the instructor. If student emotional demands are taking a toll on you or your work, bring the issue to the instructor. Dealing with such issues is NOT your job.

If the thought of this makes you feel guilty, try this perspective: TA burnout is real, and the emotional labor demanded by students has grown with our course sizes. TAs are highly dedicated to helping students, but there are limits. By passing such cases along, you are taking positive action to protect your TA staff, leaving student behavior management to others with more experience with the issue.

10.2 Supporting and Handling Issues with TA staff

If one of your UTAs seems to be struggling (evident either through how they handle their workload, whether they are missing or distracted in staff meetings, etc), reach out and check in on them. If someone needs a temporary reprieve from duties to deal with a routine situation, try to shift around others’ hours to support them.

If a situation with a UTA appears serious on lasts more than a week or two, bring the issue to the instructor. Depending on the situation, the instructor may reach out to the UTA directly, or the instructor and HTAs will jointly plan a course of action. Serious issues (e.g., repeated lapses in work, anything involving harrassment or significant unprofessionalism, concern for the health of the UTA) should always be brought to the attention of either the instructor or a Director of Undergraduate Studies (should the instructor not be an appropriate contact). They can help support the UTA or connect the UTA with appropriate campus resources.

If an issue feels bigger than you should be handling, send it up. An HTA’s main role in such situations lies in having an eye on the UTAs and what’s happening in the course, and often being a good first point of contact as a fellow student. If a UTA’s needs interfere with your ability to handle your other course responsibilities, definitely ask someone higher up for help.

Sometimes, a UTA will be facing a logistical issue (such as payroll problems). The MTAs are your first point of contact for such issues. Any issue that remains unresolved after a week should be brought to the attention of the instructor (faculty can have more leverage with campus offices to get things done).

10.3 Getting Support if You are Struggling

The HTA role is demanding. You may well have times of feeling overwhelmed, especially if students or TAs are complaining about the course. Taking care of yourself is critical. You are not expected (nor is it healthy) to be on call 24/7 as an HTA.

If your HTA duties are getting to be too much, talk to someone. Reach out to the instructor to discuss the issues. If your instructor isn’t responsive, talk to the MTAs or a Director of Undergraduate Studies (Tom or Kathi). If there’s a systemic problem with how the course is running, absolutely reach out to any of these people for help. An HTA is not the dumping ground for work that neither the UTAs nor the instructors want to do (though you may feel like you are in that position). The department is committed to changing this common misconception of the HTA role. Do your part to help create this change by communicating about your circumstances. You’ll get both emotional support and the ears of people who will help address the problems.

Your raising concerns about how things are running in your course—whether to the instructor, the director of undergraduate studies, etc—will NOT affect your current or future employment as a TA. The MTAs and Directors of Undergraduate Studies strongly request that you raise problems directly with an appropriate person (rather than jumping to the BDH, Blueno, or other venues). Brown’s Code of Conduct applies to everyone at Brown (UTAs, MTAs, faculty, administration, etc). It clearly states that we must all treat each other with respect (section 3.2) that you should raise issues with the supervisor of the person or course component where the problem lies (section 3.3.8). If that proves ineffective, raise it one level higher. The supervisory chain for HTAs is course instructor, Director of Undergraduate Studies, the Department Chair, then the College. In addition, the TALO contract describes a grievance procedure.

We understand that you may be uncomfortable doing this. That said, learning how to navigate reporting structures is an important professional skill, and at Brown CS we offer a supportive and non-retaliatory environment in which you can do so (backed by the Code of Conduct). If you need a third-party sounding board to help you figure out how to approach raising an issue, the CS Health and Wellness advocates, CS Diversity advocates, and Christina Smith in the Sheridan center (who helps with TA training) are all available for this. Note, however, that none of these people are in a position to address any issues, so issues should eventually be brought to an appropriate person with authority over the issue.

10.4 Dealing with Harassment or Harassment Complaints

If a student or TA comes to you and complains of or reports harassment, whether sexist, sexual, or otherwise, they should be reminded of the department’s zero-tolerance policy on harassment. Other than that, you should refer the complainant to the instructor, a director of undergraduate studies, the chair, or an appropriate university office (the Title IX office for sexist and sexual matters). You are not expected to deal with these situations yourself. Note that by Title IX law, the instructor, DUSes, and chair are legally considered to be “responsible people”, which means that if they are told of such incidents, they must report it to the appropriate university officer.

10.3 Technical Support for your Students

Students can receive technical assistance not directly related to course-specific software (e.g. remote login issues, limited shells, etc.) from the Sunlab consultants. Introductory-level courses should acquaint their students with the basics of Linux if they intend to use it during the semester, but after that, students should direct their questions to the consultant on duty. In addition, consultants can do a systems presentation at an introductory course’s first labs; please contact the head consultant for more information.

Courses below the thousand-level using Linux are encouraged to evangelize remote login to their students to avoid crowding in the Sunlab. Students can use SSH to connect to department machines.

11 Suspected Collaboration Beyond Course Policies

Situations of suspected collaboration are among the most stressful and frustrating situations experienced by TAs, instructors, and the students suspected of policy violation.

TAs should be proactive in alerting their HTAs and instructors to cases of suspected inappropriate collaboration. HTAs may be asked to run MOSS or the equivalent on all handins. HTAs may be asked to assist the instructor “off-line” in documenting the grounds for a code violation charge but should under no circumstances be present if students are confronted on a charge. Only course instructors should be involved in handling or advancing cases once they have been flagged and information gathered.

Inappropriate collaboration observed in the lab or in other public spaces should be brought to the attention of a HTA, who should, if possible, confront the individual at the time of the occurrence, then bring the incident to the attention of any other HTAs and the instructor. As a HTA, you should instruct your UTAs as to what course of action they should take when encountering collaboration in the lab. There should be no improvisation: tell your UTAs exactly what they should do and say in these situations.

All information relating to collaboration policy infractions is extremely confidential and only released on a need-to-know basis. Once a case has been handed off to the instructor, TAs should not have any knowledge of outcomes beyond instructions regarding grades to enter on a given assignment. This is a university policy, designed for the students’ protection, which we take very seriously.

The Directors of Undergraduate Studies and the Department Chair are the only other people who may be involved in these cases.

Students who have been convicted of academic code violations must wait at least a year after the offense and then must petition the Director of Undergraduate Studies to get permission to serve as a UTA or HTA. Permission is not granted automatically, but depends on the severity of the violation. Students must be in good academic standing to serve as UTAs or HTAs. Thus, students on academic warning may not serve.

12 Institutional Memory and End of the Semester

Future iterations of the course can benefit greatly from constructive advice left behind by former UTAs and HTAs. The instructor can do a lot in this role as well. Without recording your history, you really will end up repeating it.

You may wish to implement any (or all!) of the following suggestions in order to help your course improve for future generations of TAs and students:

End-of-semester tasks

Before you shake off the burden of responsibility for your course, please remember to take care of wrapping up your course at the end of the semester.

13 Conclusion

Phew! That is quite a lot of information. If you have questions about anything covered in this document, or feel that something has been left out, or are just puzzled about what to do as a head TA, do not hesitate to contact the Meta-TAs at mta@cs.brown.edu or one of the Directors of Undergraduate Studies (Tom Doeppner and Kathi Fisler).