The CS1951t TA Handbook

Written by Ross Briden, Spring 2022

Table of Contents 

Introduction 

Course Infrastructure 

TA Camp & Course Scheduling 

In and Out of the Classroom 

Introduction 

Welcome! This document serves as a comprehensive guide to TAing CS 1951-t. It outlines your core responsibilities throughout the various stages of the course, key course infrastructure, and provides some helpful tips and tricks. 

Course Infrastructure 


Much like the software you survey while taking the course, CS 1951-t has several fundamental dependencies. The course’s most fundamental dependency is the wiki, which is hosted on Google Sites. We use Slack to facilitate communication between students and the course staff. Paperspace is used for running HTC Vive and / or Oculus Rift apps. Since Spring 2021, we’ve used Oculus Quest 2 headsets for running software. A shared Google Doc, referred to as the Class Board (2023 version), is used for interactive class activities, to synchronize findings from course activities (e.g. screenshots), host student feedback, among other in-class functions. Finally, we typically use Google Sheets to record course grades. 

1 - The Wiki 

The course wiki runs on Google Sites, and contains: 


Though not exhaustive, this list indicates the importance of the wiki. As a TA, you will be responsible for generating the course homepage, refactoring the wiki, updating the course timeline, and serving as general tech support for any wiki issue. See the TA Camp & Course Scheduling section of the handbook for a more detailed overview of your responsibilities. 


You may wonder, why are we using Google Sites to host the wiki? Google Sites is easy to use (no HTML / CSS hacking required), supports a wide variety of embedded media (e.g. spreadsheets, videos, photos), and has a nice hierarchy for organizing pages. The downsides: it’s sometimes slow and supports only a limited set of version control features. As a TA camp project, you may consider migrating the wiki to another hosting service, but be warned that this is a non-trivial endeavor. 

2 - Slack 

We use Slack for course communication and announcements. While it’s nice to schedule activities through the wiki, students are much more responsive to Slack messages! We also use Slack to give students feedback on project proposals / presentations, resolve tech issues, and to schedule office hours. Here’s a nice template for setting up a course Slack workspace: 



As a TA, you’ll be responsible for setting up the course Slack workspace. The URL for the workspace should be of the form: cs1951t-<ADD YEAR>.slack.com. 


The logo for the Slack should also be updated with the new year. Here is the template for the logo in Canva. The font is Gotham and the font size is 154. I have also attached the class logo from 2025 below for reference. 

3 - Paperspace and Virtual Desktop 

Building, testing, and evaluating VR software is graphics-intensive and requires a specific suite of software. As expected, very few students come into the class already having access to a laptop with sufficient power. To resolve this, we rent gpu-accelerated virtual desktops for each student using Paperspace. Paperspace is a cloud computing platform, similar to AWS or Azure.  Paperspace's main advantage is that it supports a variety of machine templates designed specifically for gaming; this means that key software and drivers often come preinstalled with most machines! Paperspace’s main disadvantage is that it can be buggy and certain machine types may not be available during peak times. During TA camp, you might consider switching to a different cloud computing platform. 


As a TA you will be responsible for: 


Please see the Paperspace Guide for more details about how Paperspace works. 


To connect a VR headset to a Paperspace machine, we need Virtual Desktop. Virtual Desktop consists of two components: a client and a streamer. The client relays headset actions (e.g. controller and head movements) to the Paperspace machine. On receiving events from the client, the streamer responds to these actions and returns a rendered frame to the client. From the user’s point of view, they can control and run programs on their Paperspace machine using only their headset. This enables graphics-intensive games to run on the Oculus Quest 2 and other standalone VR headsets. Students are typically required to purchase Virtual Desktop in the Oculus store at the beginning of the semester. 

4 - Oculus Quest Headsets 

At the beginning of the semester, students receive a loaner VR headset to support their work over the semester. Since Spring 2021, we’ve used Oculus Quest 2 headsets. As of writing this, we have approximately sixteen Oculus Quest 2 headsets that students can borrow. You’ll be responsible for distributing these headsets to students; when checking a headset out, you should record the headset’s serial number along with the name of the student borrowing it. In the past, we’ve used the grading spreadsheet (see Section 6) to record this information. After receiving their headset, students will be required to go through the setup process. Detailed setup instructions can be found here. As a TA, you’ll be responsible for ensuring that these instructions are up to date. In addition, be prepared for students to ask you questions about the setup process (e.g. replacing batteries and installing updates). 

5 - The Course Board 

Throughout the semester, students will engage in discussions, participate in in-class activities, give feedback to other students, among other activities. In past semesters, we’ve found it useful to have a persistent space for recording these interactions, which we call “the Course Board.” The board is a Google Docs that’s shared with all students. The doc is ordered chronologically. See here for an example  As a TA, you’ll be responsible for refactoring the Course Board and ensuring that students add entries to the board, when appropriate. 

TA Camp and Course Scheduling 

1 - Core Responsibilities 

During TA camp and the months leading up to it, TAs will be responsible for hiring (HTA(s) only), refactoring the course wiki, planning course content, and building course demos. The following sections will review your responsibilities in more detail. 

2 - Hiring (HTA Only)

CS 1951t, by design and enrollment numbers, is a small course. Consequently, as an HTA, expect to hire at most one UTA; in past years, we’ve found that having only one TA on staff was sufficient, though you should discuss this point with Professor Laidlaw based on enrollment numbers. Due to the unique structure of the course, we recommend hiring UTAs who have previously taken the course, though this is a heuristic rather than a strict rule. 

3 - Refactoring the Wiki 

Before the semester begins, the course wiki needs to be updated to reflect any changes to the course. This entails: 

4 - Planning Course Content 

The first month of class is usually the most demanding. Ramping students up to start their first project is a non-trivial endeavor. As a TA, you’ll be responsible for (but not limited to): 

Consequently, you’ll want to fill out the course timeline with precision, outlining activities and homeworks for the first two months of the semester. Here’s a rough outline you can follow: 


Week 1

During class: 

HW: 


Week 2

During class: 

HW: 



Week 3

During class: 

HW: 

Week 4

During class: 

HW: 


This is, of course, only a template. You’re encouraged to look at the course timelines from previous semesters to better refine.

5 - Validating Course Demos 

Demos and in-class activities are a core component of CS 1951t. As a TA, you’ll be responsible for leading at least one in-class demo during the first month of the semester. Over the past several semesters, the course staff has developed a set of core course demos:


DinoVR 


Paraview + Ben Volume Rendering 


You’re responsible for ensuring that these demos are still functional before the start of the semester. Depending on time constraints and the course theme, you may even consider building new demos for the course!  

In and Out of the Classroom

1 - Core Responsibilities

As a TA, you’ll be responsible for attending class, helping students outside of class, course planning, and grading. 

2 - During Class 

It’s expected that at least one TA will attend each class. If there are multiple TA on staff, you all might consider switching off. During class, you’ll be expected to help students with general technical problems (e.g. debugging headset issues), setup presentations, and aid course discussions. In rare circumstances, you’ll also be expected to host a course demo — as mentioned in previous sections. In short, TAs fulfill a unique niche that’s part tech support, part mentor, and part instructor. 

3 - Office Hours

In general, you’re expected to be receptive to student questions outside of class. Typically, students will reach out over Slack or email. Please try to respond in a timely manner but don’t feel obligated to spend every waking hour on Slack. Aside from Slack, you may consider setting a formal time for office hours — though this is probably unnecessary given the size and format of the course. 

4 - Course Planning

Throughout the semester, the course staff will meet at least once a week. The majority of this time will be spent planning course activities and homework assignments. As mentioned in prior sections, activities and HWs should be placed on the course timeline at least a week in advance before their scheduled date. It’s good practice to remind students of key course activities and homeworks on Slack by sending a @channel message. 

5 - Grading

Students in CS 1951t are graded based on the following (non-exhaustive) criteria:


Journal quality

Throughout the semester, students are required to maintain a well-ordered journal. At the top level, a journal should contain links to project proposals, presentations, and wiki deliverables. All wiki deliverables should also contain the student’s name. Moreover, every student should log all of the hours they work outside of class in their journal. This log should be ordered by date, and each entry should contain the number of hours / minutes worked and a brief description of what the student did. Students are expected to log at least 140 hours per semester, which averages to ~10 hours per week. The total number of hours logged should be listed near the top of the journal. Try to review some of the journals from prior years to get a better understanding of what a complete journal should look like. 


Class participation

CS 1951t is a seminar-like course. Consequently, course participation is heavily weighted when determining a student’s grade. Throughout the course, students are expected to engage in course discussions, give several presentations on project updates, and participate in in-class activities. As a TA, you’ll be expected to keep track of student participation. In the past, we’ve found it helpful to log this information in a shared spreadsheet. Reach out to Professor Laidlaw for more information on this. 


Final presentation quality

At the end of the semester, students will be required to give a final presentation. The format of this presentation varies year-by-year, but in general students are expected to create a poster and prepare a brief talk about their projects. Students are expected to put a reasonable amount of effort into their final presentations and are graded accordingly. 


Final grades are compiled at the end of the semester.