How to Teach Programming (and Other Things)

Please comment on the plan for the next edition.


  • Authentic Task: A task which contains important elements of things that learners would do in real (non-classroom situations). To be authentic, a task should require learners to construct their own answers rather than choose between provided answers, and to work with the same tools and data they would use in real life.

  • Behaviorism: A theory of learning whose central principle is stimulus and response, and whose goal is to explain behavior without recourse to internal mental states or other unobservables.
    See also cognitivism.

  • Bloom’s Taxonomy: A six-part hierarchical classification of understand whose levels are knowledge, comprehension, application, analysis, synthesis, and evaluation that has been widely adopted.
    See also Fink’s Taxonomy.

  • Chunking: The act of grouping related concepts together so that they can be stored and processed as a single unit.

  • Cognitive Load Theory: Cognitive load is the amount of mental effort required to solve a problem. Cognitive load theory divides this effort into intrinsic, extraneous, and germane, and holds that people learn faster and better when extraneous load is reduced.

  • Cognitivism: A theory of learning that holds that mental states and processes can and must be included in models of learning.
    See also behaviorism.

  • Community of Practice: A self-perpetuating group of people who share and develop a craft or occupation, such as knitters, musicians, or programmers.
    See also legitimate peripheral participation.

  • Competent Practitioner: Someone who can do normal tasks with normal effort under normal circumstances.
    See also novice and expert.

  • Concept Map: A picture of a mental model in which concepts are nodes in a graph and relationships are (labelled) arcs.

  • Connectivism: A theory of learning which emphasizes its social aspects, particularly as enabled by the Internet and other technologies.

  • Constructivism: A theory of learning that views learners as actively constructing knowledge.

  • Content Knowledge: A person’s understanding of a subject.
    See also general pedagogical knowledge and pedagogical content knowledge.

  • Deliberate Practice: The act of observing performance of a task while doing it in order to improve ability.

  • Diagnostic Power: The degree to which a wrong answer to a question or exercise tells the instructor what misconceptions a particular learner has.

  • Educational Psychology: The study of how people learn.
    See also instructional design.

  • Expert: Someone who can diagnose and handle unusual situations, knows when the usual rules do not apply, and tends to recognize solutions rather than reasoning to them.
    See also competent practitioner and novice.

  • Expert Blind Spot: The inability of experts to empathize with novices who are encountering concepts or practices for the first time.

  • Externalized Cognition: The use of graphical, physical, or verbal aids to augment thinking.

  • Faded Example: A series of examples in which a steadily increasing number of key steps are blanked out.
    See also scaffolding.

  • Fink’s Taxonomy: A six-part non-hierarchical classification of understanding first proposed in [Fink2013] whose categories are foundational knowledge, application, integration, human dimension, caring, and learning how to learn.
    See also: Bloom’s Taxonomy.

  • Fixed Mindset: The belief that an ability is innate, and that failure is due to a lack of some necessary attribute.
    See also growth mindset.

  • Fluid Representation: The ability to move quickly between different models of a problem.

  • Formative Assessment: Assessment that takes place during a lesson in order to give both the learner and the instructor feedback on actual understanding.
    See also summative assessment.

  • General Pedagogical Knowledge: A person’s understanding of the general principles of teaching.
    See also content knowledge and pedagogical content knowledge.

  • Growth Mindset: The belief that ability comes with practice.
    See also fixed mindset.

  • Implementation Science: the study of how to translate research findings to everyday clinical practice.

  • Impostor Syndrome: A feeling of insecurity about one’s accomplishments that manifests as a fear of being exposed as a fraud.

  • Inclusivity: Working actively to include people with diverse backgrounds and needs.

  • Inquiry-Based Learning: The practice of allowing learners to ask their own questions, set their own goals, and find their own path through a subject.

  • Instructional Design: The craft of creating and evaluating specific lessons for specific audiences.
    See also educational psychology.

  • Jugyokenkyu: Literally “lesson study”, a set of practices that includes having teachers routinely observe one another and discuss lessons to share knowledge and improve skills.

  • Lateral Knowledge Transfer: The “accidental” transfer of knowledge that occurs when an instructor is teaching one thing, and the learner picks up another.

  • Learned Helplessness: A situation in which people who are repeatedly subjected to negative feedback that they have no way to escape learn not to even try to escape when they could.

  • Learner Persona: A brief description of a typical target learner for a lesson that includes their general background, what they already know, what they want to do, how the lesson will help them, and any special needs they might have.

  • Learning Objective: What a lesson is trying to achieve.

  • Learning Outcome: What a lesson actually achieves.

  • Legitimate Peripheral Participation: Newcomers’ participation in simple, low-risk tasks that a community of practice recognizes as valid contributions.

  • Live Coding: The act of teaching programming by writing software in front of learners as the lesson progresses.

  • Long-Term Memory: The part of memory that stores information for long periods of time. Long-term memory is very large, but slow.
    See also short-term memory.

  • Minute Cards: A feedback technique in which learners spend a minute writing one positive thing about a lesson (e.g., one thing they’ve learned) and one negative thing (e.g., a question that still hasn’t been answered).

  • Novice: Someone who has not yet built a usable mental model of a domain.
    See also competent practitioner and expert.

  • Pair Programming: A software development practice in which two programmers share one computer. One programmer (the driver) does the typing, while the other (the navigator) offers comments and suggestions in real time. Pair programming is often used as a teaching practice in programming classes.

  • Parsons Problem: An assessment technique developed by Dale Parsons and others in which learners rearrange given material to construct a correct answer to a question.

  • Pedagogical Content Knowledge (PCK): The understanding of how to teach a particular subject, i.e., the best order in which to introduce topics and what examples to use.
    See also content knowledge and general pedagogical knowledge.

  • Peer Instruction: A teaching method in which an instructor poses a question and then students commit to a first answer, discuss answers with their peers, and commit to a (revised) answer.

  • Persistent Memory: see long-term memory.

  • Plausible Distractor: A wrong answer to a multiple-choice question that looks like it could be right.
    See also diagnostic power.

  • Reflective Practice: see deliberate practice.

  • Reverse Instructional Design: An instructional design method that works backwards from a summative assessment to formative assessments and thence to lesson content.

  • Scaffolding: Extra material provided to early-stage learners to help them solve problems.

  • Short-Term Memory: The part of memory that briefly stores information that can be directly accessed by consciousness.

  • Situated Learning: A model of learning that focuses on people’s transition from being newcomers to be accepted members of a community of practice.

  • Stereotype Threat: A situation in which people feel that they are at risk of being held to stereotypes of their social group.

  • Summative Assessment: Assessment that takes place at the end of a lesson to tell whether the desired learning has taken place.

  • Tangible Artifact: Something a learner can work on whose state gives feedback about the learner’s progress and helps the learner diagnose mistakes.

  • Test-Driven Development: A software development practice in which programmers write tests first in order to give themselves concrete goals and clarify their understanding of what “done” looks like.

  • Understanding by Design: see reverse instructional design.

  • Working Memory: see short-term memory.