Papers and Materials Referenced in Training
A topical collection of the computing-education / teaching papers, books and tools cited across our TA training, for further reading.
Programming Assignments
- Attack Lab (CMU 15-213) — a classic programming lab, a representative of exemplary assignment design.
- Prompt Problems: A New Programming Exercise for the Generative AI Era (SIGCSE 2024) — students write a prompt that makes an LLM correctly complete a programming task.
- Metacognitive Difficulties Faced by Novice Programmers in Automated Assessment Tools (ICER 2018).
- Using Adaptive Parsons Problems to Scaffold Write-Code Problems (ICER 2022).
- Automatic Generation of Programming Exercises and Code Explanations Using Large Language Models (ICER 2022, Best Paper).
- Nifty Assignments (http://nifty.stanford.edu/).
Debugging
- Competitive Debugging: Toward Contests Promoting Debugging as a Skill (Onward! 2022).
- RoboBUG: A Serious Game for Learning Debugging Techniques (ICER 2017).
- Debugging: A Review of the Literature from an Educational Perspective.
- Debugging: The 9 Indispensable Rules for Finding Even the Most Elusive Hardware and Software Problems (David J. Agans).
- Debugging From Art to Science (G. Aaron Wilkin, Rose-Hulman), course documents on GitHub.
- Delta Debugging (from Why Programs Fail Chapter 5) with the Debugging Book / Fuzzing Book.
Tutoring / Peer Tutoring
- Brief, Just-in-Time Teaching Tips to Support Computer Science Tutors (SIGCSE 2024).
- Inside the Mind of a CS Undergraduate TA (Julia M. Markel and Philip J. Guo, SIGCSE 2021, Best Paper) — PDF.
- A Study of Undergraduate Learning Assistants (ULAs) in Computer Science (SIGCSE 2024).
- The Role of Probing and Clarifying Questions for Teaching Fellows in Computer Science.
- Novices' Perceptions of Web-Search and AI for Programming (SIGCSE 2024).
- Bringing a Visual Memory Model to VS Code.
- Student Expectations of Tutors (SIGCSE 2023).
- Stanford CS198 Debugging/Teaching Preparation & Evaluation Worksheets.
CS Education & Games
- Perfect Snake: Exploring Algorithms Through the Snake Game (SIGCSE 2024) — A*, Hamiltonian cycles, Q-learning.
- CONTENTR: An Experiential Game for Teaching Value Tradeoffs in Social Media Governance.
- Parallel Islands: A Parallel Computing Educational Video Game (SIGCSE 2024).
- A Game-Based Approach for Teaching Algorithms and Data Structures using Visualizations.
- How (not) to introduce badges to online exercises (SIGCSE 2014).
- An experience report on using gamification in technical higher education (SIGCSE 2014).
- A games first approach to teaching introductory programming (SIGCSE 2007).
- Computer games as motivation for design patterns (SIGCSE 2007).
- Puzzles and games (SIGCSE 2003) / The art and science of game programming (SIGCSE 2006).
- Games with an algorithmic/CS background: Turing Complete, PC Building Simulator; intelligent-agent competitions (Saiblo platform); CPDuels.
K-12 Computing & AI Education
- Seymour Papert, Mindstorms: Children, Computers, and Powerful Ideas — invented Logo, with the vision "let children learn mathematics by programming a computer, rather than the computer controlling the children".
- 《义务教育信息科技课程标准(2022 年版)》(Compulsory Education Information Technology Curriculum Standards, 2022).
- CCF GESP grading framework (https://gesp.ccf.org.cn/).
- Ministry of Education notice on AI education in primary/secondary schools — popularize AI education in K-12 by 2030.
- CS Unplugged (csunplugged).
Grading & Plagiarism Detection
- Stanford MOSS.
- MIT's policy on code collaboration/integrity (https://integrity.mit.edu/handbook/writing-code) and a Chinese translation.
- Tsinghua lab.cs.tsinghua.edu.cn plagiarism tools and demos.
- CATME peer evaluation (https://info.catme.org/features/peer-evaluation/) and its five dimensions.
Peer Learning / Small TAs
- Peer-Led Team Learning (PLTL).
- Eric Roberts, John Lilly, Bryan Rollins. 1995. Using Undergraduates as Teaching Assistants in Introductory Programming Courses: An Update on the Stanford Experience. SIGCSE Bulletin.
- learners teaching novices — assess mastery by having students teach programming to others (SIGCSE 2024).
TA Training
- Liu, Runda; Chen, Shengqi; Chen, Jiajie; Niu, Songjie; Ma, Yuchun; Tang, Xiaofeng. 2025. Iterative Design of a Teaching Assistant Training Program in Computer Science Using the Agile Method. In Proceedings of the 56th ACM Technical Symposium on Computer Science Education V. 1 (SIGCSE 2025), 680–686. https://doi.org/10.1145/3641554.3701829 — an experience report on the iterative, peer-led TA training program documented on this site.
Tools
- UC Berkeley CS375 Managing Materials for Large Courses.
- PythonTutor (https://pythontutor.com/).
- Stanford CS106/CS198 Section Leader handbook.
Other Course & Reference Materials
These appeared as supporting materials in the training sessions.
- CS50 (Harvard) — the intro-CS course and its AI tutor, used as a reference in the AI-tutor session.
- Binary (Chinese version) — a game used when discussing CS education & games.
- Buggy TTY-Solitaire — a debugging exercise used in the debugging sessions.
- How to Succeed in 15213 (recitation slides) — a CMU 15-213 recitation reference, alongside the 15-213 syllabus.
- Software Engineering course research reports — 2022 Spring questionnaire, 2023 Spring end-of-term report, and 2023 Spring small-assignment questionnaire, used in the course-research discussions.
- CourseBench alpha questionnaire — a proposed evaluation benchmark for courses.
- THU CS TA work summary (241126) — TA-work review/feedback materials.