Skip to content

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.