Prospective CS111 CA Information

Thanks for your interest in a CS111 CAship! You can find more information below for answers to common questions about applying, CA responsibilities, and more.

Why is CS111 a cool class to CA for?

CS111 is the first class in the CS core that focuses on understanding the design of a new, large system (operating systems) in addition to developing programming skills. CS111 as a class may feel a bit different to students vs. prior programming classes like CS107, CS106B or CS106A because it does teach new programming techniques (navigating larger codebases, how to use system calls, writing multithreaded code, to name a few), but the majority is focused on showing students designs and tradeoffs of operating system components, and then letting them implement these components on assignments. In other words, instead of classes being focus on new programming techniques, class time is often focused on understanding the design of operating systems (how do filesystems work? how does the OS manage threads and processes? what are tradeoffs in different virtual memory implementations? etc.) and the students use their programming skills to implement these on assignments. (Though there are programming-heavy lecture components, in particular when discussing multiprocessing and multithreading from the user program side). It is really exciting to be able to introduce many of these powerful concepts (concurrency, filesystem design, virtual memory, and more) to students for the first time, and really pull back the curtain on how operating systems work, which many students haven't learned about before but have certainly relied on!

What does the CAship application review process look like?

Applications are accepted until the department application deadline - applications are not processed on a rolling basis. Once the deadline passes, the department sends the applications submitted for each class to the instructor for that class to review. The instructor can view application information relevant to their class, such as the ranking inputted for that class (but not overall rankings), the blurb submitted for that class, etc. The instructor then submits their preferences for applicants to the department. Finally, the department takes the instructor preferences and students' submitted preferences and assigns students to CAships based on these preferences and other constraints. This means that, while a student will never be placed in a class they did not rank, even if a student ranks a class their first choice, and that instructor ranks the student also as their first choice, it's not necessarily guaranteed that the student will be offered a CAship in that class. Of course, the hope is that positions will be offered to align with preferences! But for instance, if that student also ranked another class their second choice, and they are one of a handful of people uniquely qualified to CA for that class, they may be offered a CA position in that class instead.

Are there positions available for the coming quarter?

Positions are never pre-filled prior to applications being reviewed, so we always welcome applications! We make hiring decisions based on applications received for that quarter; all applicants, including current or prior-quarter CS111 CAs, must reapply each quarter, and offers are made based on the received applications. While having good prior experience CAing for CS111 can certainly make an application stronger, no positions are filled in advance. While it can depend on the quarter, there are usually a mix of returning and new CAs each quarter, though this may vary depending on the quarter, applications received, and other factors.

What are the typical CA responsibilities for CS111?

The main responsibilities for a 50% CA are:

Midterm and final exam grading takes place in person, so please make sure you can attend and be on campus through the end of final exam week to attend final exam grading in person, as all CAs are required to attend in person (we will decide the specific grading dates and times at the start of the quarter).

25% CAs have roughly half the workload - they grade half as many assignments, hold half the number of office hours, and help proctor or proofread all exams, but grade for half the exams. 25% CAs also lead 1 section instead of 2 each week.

What do you look for in particular in CS111 CA applications?

(Note: while the application criteria are generally the same or similar across CS111 instructors, the information here is provided only for when I (Nick) am teaching the course - for specific information about what other instructors may focus on in applications, please reach out to that instructor.)

Because of the focus on student-facing teaching time in CS111, as well as the focus on helping students continue to build foundational programming skills, I heavily emphasize any prior teaching experience (if any), especially any with similar responsibilities to those you'll have as a CS111 CA (leading section, helping with debugging, helping continue to build foundational programming skills, etc.). It is not required to have prior teaching experience with operating systems material specifically. I do require familiarity with the operating systems material at the level of CS111 or further. In particular, for applicants who took CS110 (the class CS111 replaced) instead of CS111, because CS111 covers some material from CS110 plus additional operating systems material from CS140/240, CS110 applicants need to have also taken CS140 or equivalent to be familiar with all material in CS111. I also look at why the applicant is interested in CAing for CS111 in particular, and their understanding/comfort with the course material. Both of these points (prior teaching experience and interest in this CAship) are also noted in the blurb in the CS111 CA application. Beyond this, feel free to include any information about yourself that you think would be helpful in evaluating your application. One note is that it's not necessarily a requirement that you have taken operating systems classes beyond CS111 to apply for a CS111 CAship. That's not to say that further classes won't help you be an even more effective CA; but rather that I mainly consider the items above, such as whether you have a strong foundation and proficiency in the CS111 course material (which could be just from taking CS111), any prior or connected teaching experience, etc.

There is also a required 5 minute teaching sample video component of the application. More information can be found in the application blurb when completing the application for CS111. This video helps provide more information on your teaching style and approach!

What is the difference between the CS111 Head CA and a CS111 CA?

In quarters with a Head CA, the Head CA is responsible for working directly with the course instructor on course management, logistics and policies, and is the point person internally for the course staff before escalating to the instructor, as well as the student-facing point person for student logistics and other matters before escalating to the instructor. This includes aspects such as overseeing grading, managing extension requests, and helping the instructor with course policy decisions, and meeting weekly with the instructor to touch base. Because of the additional time commitment of Head TA responsibilities, some other aspects, such as assignment grading workload, are slightly decreased. Because of the responsibilities of the Head CA, it is usually strongly recommended to have prior CS111 CA experience when applying.

Are there opportunities to contribute to additional or optional projects as a CA in CS111?

Absolutely! In some quarters, there will be additional optional roles for anyone interested in additional responsibilities (e.g. overseeing the Ed forum, being the point person on assignment grading or exam logistics, etc.), and you are encouraged to ask about anything in general you would be interested in contributing to.

Who should I contact if I have more questions?

For questions about the CA application process in general, please email Bettina Villaroman at bvsantos @ stanford.edu. For questions about CS111 CAships in particular when applying for quarters when I (Nick) am teaching, you can email me at troccoli @ stanford.edu. Please note that because of the large volume of applications I receive, all information that I consider in an application must be included in the online application form, and cannot be sent via email - for this reason, I won't be able to note information such as transcripts, resumes, other background information, etc. sent via email when reviewing your application. Make sure to include any relevant information in the application itself submitted via the online portal.