Absolute beginner: Someone who has never encountered concepts or material before. The term is used in distinction to false beginner.

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.

Automaticity: The ability to do a task without concentrating on its low-level details.

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

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.

Brand: The associations people have with a product’s name or identity.

Calibrated peer review: Having students compare their reviews of sample work with an instructor’s reviews before being allowed to review their peers’ work.

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

Co-teaching: Teaching with another instructor in the classroom.

Cognitive apprenticeship: A theory of learning that emphasizes the process of a master passing on skills and insights situationally to an apprentice.

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 such as knitters, musicians, or programmers. See also legitimate peripheral participation.

Community representation: Using cultural capital to highlight students’ social identities, histories, and community networks in learning activities.

Computational integration: Using computing to re-implement pre-existing cultural artifacts, e.g., creating variants of traditional designs using computer drawing tools.

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

Computational thinking: Thinking about problem-solving in ways inspired by programming (though the term is used in many other ways).

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 holds that knowledge is distributed, that learning is the process of navigating, growing, and pruning connections, and which emphasizes the social aspects of learning made possible by the Internet

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.

Contributing student pedagogy: Having students produce artifacts to contribute to other students’ learning.

Conversational programmer: Someone who needs to know enough about computing to have a meaningful conversation with a programmer, but isn’t going to program themselves.

CS0: An introductory college-level course on computing aimed at non-majors with little or no prior experience of programming.

CS1: An introductory college-level computer science course, typically one semester long, that focuses on variables, loops, functions, and other basic mechanics.

CS2: A second college-level computer science course that typically introduces basic data structures such as stacks, queues, and dictionaries.

Deficit model: The idea that some groups are under-represented in computing (or some other field) because their members lack some attribute or quality.

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

Demonstration lesson: A staged lesson in which one teacher presents material to a class of actual students while other teachers observe in order to learn new teaching techniques.

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

Direct instruction: A teaching method centered around meticulous curriculum design delivered through prescribed script.

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

Ego depletion: The impairment of self control that occurs when it is exercised intensively or for long periods.

Elevator pitch: A short description of an idea, project, product, or person that can be delivered and understood in just a few seconds.

End-user programmer: Someone who does not consider themselves a programmer, but who nevertheless writes and debugs software, such as an artist creating complex macros for a drawing tool.

End-user teacher: By analogy with end-user programmer, someone who is teaching frequently, but whose primary occupation is not teaching, who has little or no background in pedagogy, and who may work outside institutional classrooms.

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.

Expertise reversal effect: The way in which instruction that is effective for novices becomes ineffective for competent practitioners or experts.

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

Extrinsic motivation: Being driven by external rewards such as payment or fear of punishment. See also intrinsic motivation.

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

False beginner: Someone who has studied a language before but is learning it again. False beginners start at the same point as true beginners (i.e., a pre-test will show the same proficiency) but can move much more quickly.

Far transfer: Transfer of learning or proficiency between widely-separated domains, e.g., improvement in math skills as a result of playing chess.

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.

Flipped classroom: One in which learners watch recorded lessons on their own time, while class time is used to work through problem sets and answer questions.

Flow: The feeling of being fully immersed in an activity; frequently associated with high productivity.

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.

Free-range learner: Someone learning outside an institutional classrooms with required homework and mandated curriculum. (Those who use the term occasionally refer to students in classrooms as “battery-farmed learners”, but we don’t, because that would be rude.)

Functional programming: A style of programming in which data structures cannot be modified once they have been created, and in which functions that operate on other functions are widely used for abstraction.

Fuzz testing: A software testing technique based on generating and submitting random data.

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.

Guided notes: Instructor-prepared notes that cue students to respond to key information in a lecture or discussion.

Hashing: Generating a condensed pseudo-random digital key from data; any specific input produces the same output, but different inputs are highly likely to produce different outputs.

Hypercorrection effect: The more strongly someone believed that their answer on a test was right, the more likely they are not to repeat the error once they discover that in fact they were wrong.

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.

Intrinsic motivation: Being driven by enjoyment of a task or the satisfaction of doing it for its own sake. See also extrinsic motivation.

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.

Marketing: The craft of seeing things from other people’s perspective, understanding their wants and needs, and finding ways to meet them

Mental model: A simplified representation of the key elements and relationships of some problem domain that is good enough to support problem solving.

Metacognition: Thinking about thinking.

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).

Near transfer: Transfer of learning or proficiency between closely-related domains, e.g., improvement in understanding of decimals as a result of doing exercises with fractions.

Notional machine: A general, simplified model of how a particular family of programs executes.

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.

Personalized learning: Automatically tailoring lessons to meet the needs of individual students.

Plausible distractor: A wrong or less-than-best answer to a multiple-choice question that looks like it could be right. See also diagnostic power.

Positioning: What sets one brand apart from other, similar brands.

Preparatory privilege: The advantage of coming from a background that provides more preparation for a particular learning task than others.

Pull request: A set of proposed changes to a GitHub repository that can be reviewed, updated, and eventually merged.

Read-cover-retrieve: A study practice in which the learner covers up key facts or terms during a first pass through material, then checks their recall on a second pass.

Reflective practice: see deliberate practice.

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.

Split-attention effect: The decrease in learning that occurs when learners must divide their attention between multiple concurrent presentations of the same information (e.g., captions and a voiceover).

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

Subgoal labelling: Giving names to the steps in a step-by-step description of a problem-solving process.

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.

Think-pair-share: A collaboration method in which each person thinks individually about a question or problem, then pairs with a partner to pool ideas, and then have one person from each pair present to the whole group.

Transfer-appropriate processing: The improvement in recall that occurs when practice uses activities similar to those used in testing.

Twitch coding: Having a group of people decide moment by moment or line by line what to add to a program next.

Working memory: see short-term memory.