Leading a discussion section or a lab is one of the most common TA jobs, and usually one of the biggest: preparing from someone else's slides, worksheet and starter code, running the session, helping a room full of students who are stuck in different places, and staying after for the questions. This page is about that job: preparing in a set amount of time, a simple plan for the session, the first minutes, pacing a lab, helping without taking over, closing well, turning a section into exam review, and covering for another TA. For getting a quiet room to talk, see Getting a Quiet Section to Talk.
Defaults that work. If you only take four things from this page:
- Do the lab or worksheet yourself first, timed, and write down where students will get stuck.
- Open with a goal and a problem, not a repeat of the lecture.
- Walk the room. Don't wait at the front for raised hands.
- When the same bug shows up three times, stop the room and fix it once for everyone.
Preparing
- Time-box it. Decide how long preparation gets, and stop there.
- Do it yourself, in the same setup students use, and time it. Students usually take two to three times as long.
- Predict three sticking points, and write a hint for each.
- Stick to the material you were given. Untested extras are where live demos go wrong.
- Check the tech: the projector, adapter, login, repository link and Wi-Fi.
A one-page plan
- Goal: "By the end, students can ..."
- Materials: slides, worksheet, starter code, solutions, links.
- Three sticking points, with a hint for each.
- Opening (five minutes): a warm-up question.
- Main activity: steps with minutes, and checkpoints.
- Check for understanding: one or two questions.
- Wrap-up: a three-point summary, what's due next, where to get help.
- Cut if behind, add if ahead.
- After: what broke, common bugs, what to tell the instructor.
Two example timelines
Made-up examples to adapt.
| A 50-minute discussion section | |
|---|---|
| Before | Agenda and warm-up problem on the board; projector tested |
| 0 to 5 | Warm-up: two questions from last week, answered from memory |
| 5 to 10 | Go over the warm-up; say today's goal |
| 10 to 30 | Worksheet problems in pairs. Walk the room; pause once for a common mistake. |
| 30 to 42 | Pairs explain their solutions; you ask "why?" |
| 42 to 47 | One question to check understanding |
| 47 to 50 | Summary, next deadline, office hours. Stay after. |
| A two-hour lab | |
|---|---|
| Before | Log in on a lab machine, pull the starter code, test the build |
| 0 to 10 | The goal, a walk through the starter code, and what "done" looks like |
| 10 to 40 | Part 1. Walk the room. |
| 40 to 45 | Checkpoint 1; stop the room for the most common bug so far |
| 45 to 90 | Part 2, then checkpoint 2 |
| 90 to 110 | Extension tasks for those done; focused help for those behind |
| 110 to 120 | Recap, how to submit, what's next. Stay ten minutes after. |
Running the session
- Open with a goal and a problem. Students have heard the lecture; section is for working with it.
- Talk mostly through questions, and plan the key ones in advance.
- Never start from a blank page. Give starter code or a partly worked example.
- Walk the room on a loop instead of waiting for hands. Many students won't ask the room but will answer you one-on-one.
- Use simple status signals: for example, two colored sticky notes on the laptop for "stuck" and "done," instead of hands in the air for ten minutes.
- Triage help: students who are completely blocked first, quick checks next, deep conceptual questions last or after section.
- Stop the room for a common bug once you've seen it three times. One minute at the board saves twenty one-on-one.
- Hands off the keyboard. Ask the student to explain their code, find where it goes wrong together, and leave them with a next step. Studies of tutoring sessions find tutors often just hand over the fix; resist it.
- When you demo, use a big font, go slowly, say each step, and let mistakes happen and fix them out loud. Students learn debugging by watching it.
- Use checkpoints at fixed points so you can see who is falling behind early.
- Have extension tasks ready for students who finish early.
- Fade your help as the term goes on: more hints early, more independence later.
Closing
Stop a few minutes early. Summarize the two or three things that mattered, say what is due next and where to get help, and stay a few minutes for questions. Afterward, write two lines: what broke, and what to tell the instructor.
Exam review sessions
Resist re-lecturing the term. Students remember far more from trying to recall and solve than from rereading or listening again; practice testing beats restudying in study after study. Have students work practice problems from memory, then give feedback and go over the ones most people missed. Short ungraded retrieval activities work well in any section, not only before exams.
Covering for another TA
- Get the plan, slides, worksheet and solutions from the TA or the instructor.
- Do the activity yourself, and ask where the section left off.
- Confirm the room, the start time, access and the tech.
- Find out how attendance is taken and reported.
- Introduce yourself, and say who the regular TA is and when they're back.
- Write down questions you can't answer and pass them on.
- Send a three-line note afterward: what was covered, what went wrong, who needs follow-up.
Further reading
Guides
- UC Berkeley GSI Teaching & Resource Center, Teaching Discussion Sections.
- Harvard Bok Center, Strategies for Leading Discussion Sections.
- CMU Eberly Center, Labs and Studios.
- The Carpentries, Live Coding is a Skill.
- Greg Wilson, Teaching Tech Together: see "In the Classroom" for sticky notes, starter code and mixed abilities.
- Pooja Agarwal, Retrieval Practice: free guides and activities.
Examples from large CS courses
Research
- Markel and Guo, "Inside the Mind of a CS Undergraduate TA" (SIGCSE 2021): how lab help sessions actually go.
- Krause-Levy et al., "An Exploration of Student-Tutor Interactions in Computing" (ITiCSE 2022).
- Raj et al., "Role of Live-coding in Learning Introductory Programming" (Koli Calling 2018).
- Roediger and Karpicke, "Test-Enhanced Learning" (Psychological Science, 2006).
- Adesope, Trevisan and Sundararajan, "Rethinking the Use of Tests: A Meta-Analysis of Practice Testing" (2017).
- Freeman et al., "Active learning increases student performance in science, engineering, and mathematics" (PNAS, 2014).
Related pages: Getting a Quiet Section to Talk, Building Belonging in Your Section and When You Don't Know the Answer.