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
- Start from the level above: which course or unit outcome does this section or assignment serve?
- Ask what students should be able to do afterward that they can't do now.
- Draft each outcome with one observable verb and one object.
- Add a condition (given what, using which tool) and a standard (how well), when they matter.
- Check the level: is the verb at the level you will actually assess?
- Write the assessment now: the question, test or rubric row that would show it.
- Plan the activity that practices exactly that skill.
- Check alignment: the outcome, the activity and the assessment use the same verb.
- Cut to the few that matter.
- 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
| Area | Weak | Better |
|---|---|---|
| Programming | Understand recursion | Write a recursive function that processes a binary tree, identifying the base case and the recursive case |
| Programming | Know how to use Git | Resolve a merge conflict in a shared repository and explain in the commit message which change was kept |
| Programming | Learn debugging | Use a debugger to find the line that causes a failing test, and state the faulty assumption |
| Theory | Be familiar with Big-O | Derive the worst-case running time of a given nested-loop algorithm and justify it in two or three sentences |
| Theory | Appreciate NP-completeness | Construct a polynomial-time reduction from 3-SAT to a given problem and argue that it is correct |
| Data | Understand data cleaning | Find and handle missing and duplicate values in a provided CSV, documenting each decision in a notebook |
| Data | Know SQL joins | Write a SQL query joining three tables that answers a stated question, and compare it with an equivalent subquery |
| Professional | Appreciate ethics in computing | Evaluate 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:
| Level | Verbs |
|---|---|
| Explain | define, describe, identify, state, summarize, explain |
| Apply | trace, predict, compute, implement, test, debug, configure, measure, solve |
| Evaluate | analyze, compare, critique, justify, choose, recommend, defend |
| Develop | design, construct, compose, refactor, integrate, extend |
| Avoid | understand, 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
- CMU Eberly Center, Articulate Your Learning Objectives.
- CMU Eberly Center, Align Assessments, Objectives, Instructional Strategies.
- CMU Eberly Center, Bloom's Taxonomy: the original and the 2001 revision.
- Cornell Center for Teaching Innovation, Setting Learning Outcomes.
- UC Berkeley Center for Teaching & Learning, Establish Course-level Learning Objectives: three to six per course, with a verb table.
- UIC, Bloom's Taxonomy of Educational Objectives.
- Northern Illinois University, Bloom's Taxonomy: verbs for each level.
Foundations
- Krathwohl, "A Revision of Bloom's Taxonomy: An Overview" (2002).
- Biggs, "Enhancing teaching through constructive alignment" (1996).
- Wiggins and McTighe, Understanding by Design: backward design.
Computing
- CS2023: ACM/IEEE-CS/AAAI Computer Science Curricula: skill levels and illustrative learning outcomes for every area of CS.
- Johnson and Fuller, "Is Bloom's Taxonomy Appropriate for Computer Science?" (Koli Calling 2006).
- Fuller et al., "Developing a Computer Science-specific Learning Taxonomy" (ITiCSE Working Group, 2007).
Related pages: Writing Homework and Problem Sets That Work, Creating Rubrics and Grading to Them and Writing Exam Questions That Test What You Mean.