Skip Sidebar Navigation



An individual user in the platform


A choice a user can select in response to a poll


A standalone, public-facing resource in the Help Center


Groups Snapshots together while a learner is working on a particular problem (more specifically, the problem variant and problem type).


A way to group related articles together in the Help Center


A section in a workbook that contains pages


A programming language that learners use to write solutions (e.g., Python 2.7)

Custom pseudocode

Learner-written pseudocode for a given problem variant

Course Membership

A learner or instructor who has access to a given course


A contained learning experience; also a way for researchers to organize experiments

Distractor block

A Parsons block that acts as a decoy in a Parsons problem, meaning it is not used in the final solution. It has a corresponding distractor-for block, which is used in the final solution.

Distractor-for block

A Parsons block for which a distractor block is acting as a decoy. Distractor-for blocks are the correct blocks that do get used in the final solution.

Faded Parsons

A Parsons problem that contains one or more fill-in-the-blank Parsons blocks

Fix code

A problem type that provides the learner with a complete but incorrect solution, which they must debug and fix in order to get right

Help Center

The place in Codespec where users can find resources and documentation for using the platform


An entity to which a collection of courses belong (e.g., Carnegie Mellon University)


The smallest navigational unit in a workbook; pages belong to chapters

Page element

A building block within a page (a block of text, a poll, or a problem)

Parsons block

A line of code in a Parsons problem; it also contains the pseudocode that describe the code, faded text (for the learner to fill in), and can be designated as a distractor (a decoy block not intended to be used in the correct solution)

Parsons problem

A programming practice problem that learners must solve by putting mixed-up code blocks into the correct order and indentation

Parsons solution

A collection of Parsons solution blocks that represent a complete and correct answer to a Parsons problem

Parsons solution block

The order and indentation at which a particular Parsons block must have to be correct


A question to display to learners; can be a single choice, multiple choice, or Likert scale (1-5)

Practice session

A custom collection of problems created from learner-specific input (desired language and topics)

Practice session problem

Represents when a user sees a particular Problem during a Practice Session


A programming challenge that a learner can solve by completing an of the 5 problem types


A collection of problems (ordered randomly or numerically/specifically)


A problem in a problem set

Problem type

A way for learners to solve a given problem. There are five types: pseudocode, Parsons, faded Parsons, fix code, and write code.

Problem variant

A compiler-specific variation of a problem. Any given problem can have one or more variants, but each variant-problem combination is unique per language (e.g., only 1 Python variant per problem).


Plain language representation of code

Runtime error

Captures exceptions that were raised while trying to run a learner’s code


A portion of an article, usually containing a subheading and rich text content; explains a particular feature or process


Captures what the problem interface looked like at a specific point in time; usually created when a learner performs 1 of specific set of actions (e.g., moving a block, submitting their solution, etc)

Snapshot block

The order, indentation, and (if appropriate) faded text a learner chose for a given Parsons block while solving a problem

Snapshot feedback

Stores the result of running a learner’s code (e.g., stdout, stderr, etc)


A keyword that can be applied to one or more articles in the Help Center, for enhanced content navigation/discoverability


A mechanism for controlling how long a learner has access to a page in a workbook

Unit test

A standalone assertion that gets added to the end of a learner’s code to check if it is correct

Unit test result

The outcome of a unit test being run against a learner’s code

User answer

The answer a learner chose in response to a poll

User page element

Captures the intersection of a particular learner viewing/interacting with a particular page element (e.g., marking text as read, answering a poll, or solving a problem)

User timer

Represents an instance of a particular learner being timed for a given page with a timer. Tracks when they started, paused, resumed, and ended.


A collection of chapters and pages that contain plain text, polls, and problems for a learner to solve. Workbooks can be made private to a particular course and its members, or it can be public.

Write code

A problem type where the learners produces a solution on their own