PythonSneks Field Guide

An instructionally-designed, open-source introductory Python curriculum for university settings

Staff Roles

In our typical section, we have a team of Teaching Assistants. These assistants are critical for managing the scale of the class, and help in a number of ways. Although TAs can be both graduates and undergraduates, we have found great success using undergraduate TAs.

In-class Help

The most important role for the course staff is to attend lecture and assist students working on classwork problems. Not all students come to office hours when they need help - students almost always come to lecture.

TA training can be essential for helping teaching assistants. It is important to help students arrive at answers themselves, rather than simply giving out solutions. Refer to the TA training material for suggestions on how to prepare TAs to be effective in supporting learners.

Office Hours

Teaching assistants are required to host office hours. We usually schedule 4-5 hours per TA. Coordinate office hours so that most hours are covered, but be open to moving them later in the semester after “hot” hours are determined. You can use a tool like:

Planning and Discussion

The course staff meets once a week to discuss what has gone wrong/well, and what is coming. During this time, we also provide training on how to be an effective TA.

Organizing this once-a-week meeting is very difficult. You can use a tool like:, but you must also keep in mind that you’ll need a room to meet in. Some TA groups will arrange multiple meetings in order to ensure that everyone can make it.

Answering Piazza

A course Piazza is available to give students help outside of the regular class time. Students are not allowed to publicly post code solutions - they must do so privately to instructors (this can be difficult to convey to students, and problematic to enforce). When posting code, students should be required to do so correctly (i.e. proper formating, as text instead of as an image) or they will not be helped. In general, course staff should follow the same guidelines they use in helping students during office hour.

Material Piloting

TAs should be given time each week to try out the material and be prepared to work with students. This is particularly important for new assignments, before they are given to students.


Most of the course is auto-graded, however some assignments are meant to be graded by a human. There are three types of such assignments:

TAs should be given feedback on their grading, and activities should be planned to help them align their grading with each other. Rubrics are helpful in guiding the TAs’ grading, and are available for most activities.

Code Style

Grading code style

Ethics Write-ups

The ethics assignment rubric has 4 levels across 5 components. The levels are assigned points carefully to ensure certain grade outcomes:

Level Points Grade
Full Marks 1 A
Adequate .85 B
Inadequate .7 C
Missing 0 F

The components are divided as such:

Component Description
Summarize the Situation Summarization accurately captures the most important point or points about the situation to clearly lay out the impacts of the ethical issues on society
Take a Clear Stance The stance is clearly identified. Depending on the type of ethical situation, this could involve either disagreement or agreement with a decision, or a recommendation for a particular outcome or actions.
Write a Coherent Argument The argument should be logically and clearly laid out, without unwarranted conclusions.
Reference an Ethical Theory An explicit, named reference to an ethical theory (e.g., Justice, Utilitarianism) or a guideline from a relevant, well-established computing organization (i.e. ACM or IEEE) is given as context for the argument and explained concisely, clearly, and correctly.
Use Proper Grammar, Spelling, and Punctuation No grammar, spelling, or punctuation mistakes are made that impact the readability of the post.

Graders can refer to the Ethics Guidelines for more information about how to interpret the components at different levels.