Teaching Resources · For TAs and TOs · Feedback, rubrics and grading

Writing Learning Outcomes

A learning outcome says what a student will be able to do after a course, a unit, an assignment or a single section, in words specific enough that you could watch them do it. It sounds like paperwork, but it is the starting point for everything else on these pages: the assignment practices the outcome, the rubric checks it, and the section activity rehearses it. Most weak assignments and fuzzy rubrics trace back to an outcome like "understand recursion," which nobody can see or grade. This page covers the format, rules for writing outcomes, weak and better examples from computing, and verbs that fit CS.

Defaults that work. If you only take four things from this page:

  • Use a verb you could watch someone do: write, trace, debug, derive, compare. Never "understand" or "know."
  • One verb per outcome. "And" usually means two outcomes.
  • Write the assessment as you write the outcome, using the same verb.
  • Few and real beats many and aspirational: one or two for a section, three to six for a course.

The format

"By the end of [the section, unit or course], students will be able to [verb] [what], [under what conditions], [how well]."

For example: "By the end of the lab, students will be able to write a recursive function on binary trees, given a node class, that passes all the provided tests."

Outcomes come in levels. A course has three to six broad ones. Each unit, assignment and section has narrower ones that support them. As a TA you will most often write outcomes for a section, a lab or an assignment, so start by reading the course and unit outcomes your piece serves.

How to write them

  1. Start from the level above: which course or unit outcome does this section or assignment serve?
  2. Ask what students should be able to do afterward that they can't do now.
  3. Draft each outcome with one observable verb and one object.
  4. Add a condition (given what, using which tool) and a standard (how well), when they matter.
  5. Check the level: is the verb at the level you will actually assess?
  6. Write the assessment now: the question, test or rubric row that would show it.
  7. Plan the activity that practices exactly that skill.
  8. Check alignment: the outcome, the activity and the assessment use the same verb.
  9. Cut to the few that matter.
  10. Share them with students at the start, and come back to them at the end.

This order (outcome, then evidence, then activity) is called backward design, and keeping the three matched is called alignment. Both come up throughout the further reading.

Rules

  • No invisible verbs: understand, know, learn, appreciate, be aware of, be familiar with. Ask what a student who understands would do, and write that.
  • Write from the student's side: "students will be able to," not "we will cover."
  • Name the outcome, not the activity. "Complete Lab 3" is a task, not an outcome.
  • Match the verb to the assessment. An outcome that says "design" can't be tested only with multiple choice.
  • Reading code and writing code are different skills. Write outcomes for both: trace, predict and explain as well as implement.
  • Name the tool or context when it matters: the language, the dataset, the framework.
  • Aim some outcomes high (evaluate, design, debug), but don't treat the levels as a strict ladder. Researchers have argued that standard taxonomies fit computing imperfectly; a student may write working code before they can explain it, or the reverse.
  • Dispositions (persistence, care, collaboration) are hard to see directly. Write a behavior that shows them: "gives teammates review comments that name the issue, its effect and a fix."

Weak and better

AreaWeakBetter
ProgrammingUnderstand recursionWrite a recursive function that processes a binary tree, identifying the base case and the recursive case
ProgrammingKnow how to use GitResolve a merge conflict in a shared repository and explain in the commit message which change was kept
ProgrammingLearn debuggingUse a debugger to find the line that causes a failing test, and state the faulty assumption
TheoryBe familiar with Big-ODerive the worst-case running time of a given nested-loop algorithm and justify it in two or three sentences
TheoryAppreciate NP-completenessConstruct a polynomial-time reduction from 3-SAT to a given problem and argue that it is correct
DataUnderstand data cleaningFind and handle missing and duplicate values in a provided CSV, documenting each decision in a notebook
DataKnow SQL joinsWrite a SQL query joining three tables that answers a stated question, and compare it with an equivalent subquery
ProfessionalAppreciate ethics in computingEvaluate a deployed system from two stakeholders' perspectives and recommend one design change, citing a specific harm

Verbs that fit computing

The ACM/IEEE/AAAI CS2023 curriculum guidelines use four skill levels. Grouped roughly by those levels:

LevelVerbs
Explaindefine, describe, identify, state, summarize, explain
Applytrace, predict, compute, implement, test, debug, configure, measure, solve
Evaluateanalyze, compare, critique, justify, choose, recommend, defend
Developdesign, construct, compose, refactor, integrate, extend
Avoidunderstand, know, learn, appreciate, be aware of, be familiar with, grasp

Where outcomes show up in a TA's work

  • Section and lab plans: one or two outcomes at the top tell you what to cut when time runs short.
  • Assignments and exam questions: every part should practice or test an outcome.
  • Rubrics: each criterion checks an outcome.
  • Office hours: knowing the outcome tells you whether to explain the idea or just fix the setup problem.

Further reading

Guides

Foundations

Computing

Related pages: Writing Homework and Problem Sets That Work, Creating Rubrics and Grading to Them and Writing Exam Questions That Test What You Mean.