A Glossary

Abandonware

Absolute error

Absolute path

Accuracy

Action (in Make):

Active listening

Actual output (of a test):

Actual result

Aggregate

Agile development

Ally

Analysis and estimation

Annotated tag (in version control):

Append mode

Application Programming Interface (API):

Assertion

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.

Auto-completion

Automatic variable

Automatic variable (in Make):

Backlog

Bash

Beeswarm plot

Binary code

Bit rot

Boilerplate

Branch

Branch-per-feature workflow

Breakpoint

Buffer

Bug report

Bug tracker

Build tool

Build tool

Byte code

Call stack

Camel case

Catch (an exception):

Checking-driven development (CDD):

Checklist

Code browser

Code coverage

Code review

Cognitive load

Comma-separated values (CSV):

Command argument

Command flag

Command history

Command option

Command shell

Command switch

Command-line interface (CLI):

Comment

Commit

Commit hash

Commit message

Commons

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

Compiled language

Compiler

Computational competence

Computational notebook

Computational stylometry

Computational thinking

Conditional expression

Configuration object

Confirmation bias

Context manager

Continuation prompt

Continuous integration

Corpus

Coverage

Creative Commons - Attribution License (CC-BY):

Curb cuts
https://medium.com/@mosaicofminds/the-curb-cut-effect-how-making-public-spaces-accessible-to-people-with-disabilities-helps-everyone-d69f24c58785

Current working directory

DRY (Don’t Repeat Yourself)
The general principle when programming that it’s typically better to define something (a function, a constant…) once and refer to it consistently as a “single source of truth” throughout a piece of software than to define copies in multiple places, if only because then you only have to make any changes in one place. This is useful and helpful principle but should not be thought of as an involate rule.

Data engineering

Data package

Declarative programming

Default target

Default target (in Make):

Delimiter

Dependency graph

Design pattern

Design patterns

Destructuring

Dictionary

Digital Object Identifier (DOI):

Directory Tree
If the nesting relationships between directories in a filesystem are drawn as arrows from the containing directory to the nested ones, a tree structure develops.
Directory
A folder in a filesystem.
Disk
Disk refers to disk storage, a physical component of a computer that stores information on a disk. The most common kind of disk storage is a hard disk drive, which is a storage drive with a non-removable disk.

Docstring

Documentation generator

Downvote

Embedded documentation

Eniac

Environment

Error (result from a unit test):

Escape sequence

Exception

Exit status

Expected output (of a test):

Expected result

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][competent-practitioner] and [novice][novice].

Exploratory programming

Exponent

Export a variable

External error

Failure (result from a unit test):

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.

False negative

False positive

Feature boxing

Feature creep

Feature request

Filename extension

Filename stem

Filesystem
Controls how files are stored and retrieved on disk by an operating system. Also used to refer to the disk that is used to store the files or the type of the filesystem.

Filter

Fixture

Flag variable

Flag

Folder

Forge

Fork

Format string

Frequently Asked Questions (FAQ):

Full identifier (in Git):

Fully-qualified name

Function attribute

Function (in Make):

GNU Public License (GPL):

Git

Git branch

Git clone

Git conflict

Git fork

Git merge

Git pull

Git push

Git stage

Git

GitHub Pages

Globbing

Graphical user interface (GUI):

HTTP status code

Hitchhiker

Home directory

Governance

Hot spot

ISO date format

Impostor syndrome

In-place operator

Index

Install

Integrated Development Environment (IDE):

Internal error

Interpeter

Interpreted language

Interruption bingo

Issue tracking system

Issue

Iteration (in software development):

JSON

Jenny (a repository):

Join (of database tables):

Kebab case

Key

Label (in issue tracker):

Learned helplessness

Library

Linter

List comprehension

Log file

Logging framework

Long option

Loop body

Loop (in Unix):

MIT License

Macro

Magic number

Magnitude

Makefile

Mantissa

Martha’s Rules

Maximum likelihood extimation

Memory
A physical device on your computer that temporarily stores information for immediate use.
Mental model
A simplified representation of the key elements and relationships of some problem domain that is good enough to support problem solving.
Method
A function that is specific to an object type, based on qualities of that type, e.g. a string method like upper() which turns characters in a string to uppercase.

MIT License

Namespace
A way of organizing names of related objects, functions, or variables to avoid confusion with (for instance) common names that might well occur in multiple packages.

Nano

Ngo

Not Invented Here (NIH):

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

ORCID

Object
An object is a programming language’s way of descrbing and storing values, usually labeled with a variable name.

Object-oriented programming

Open license

Open science

Operating system

Operational test

Oppression

Optional argument

Orthogonality

Overlay configuration

Overloading

Package

Pager

Pair programming

Parent directory

Parking lot

Path coverage

Path

Pattern rule

Phony target

Phony target

Pipe (in Unix):

Positional argument

Post-mortem

Pothole case

Power law

Precision

Prerequisite (in Make):

Privilege

Procedural programming

Process

Product manager

Project manager

Prompt

Provenance

Pseudorandom number generator (PRNG):

Public domain license (CC-0):

Pull request

Python

Raise

Raster image

Rebase

Recursion

Redirection

Refactor

Refactoring

Regular expression
a sequence of characters that define a pattern that can be used to find matching strings

Relative error

Relative import
In Python, the importing of a module relative to the current path and thus likely from within the current package (e.g., from . import generate) rather than an import from a globally-defined package (e.g., from zipfpy import generate).

Relative path

Remote login

Remote repository

Repl

Repository

Representation State Transfer (REST):

Reproducible example (reprex):

Reproducible research

Research software engineer (RSE):

Restructured Text (reST)
A plain text markup language used by much Python documentation and documentation tooling.

Revision

Root directory

Rotating file

Rule (in Make):

SSH key

SSH protocol

Scalable Vector Graphics (SVG):

Script

Search path

Seed (for pseudorandom number generator):

Semantic versioning

Sense vote

Set and override (pattern):

Shebang

Shell script

Short circuit test

Short identifier (in Git):

Short option

Side effects

Sign

Silent error

Silent failure

Snake case

Software development process

Source code

Stand-up meeting

Standard error

Standard error

Standard input

Standard input

Standard output

Standard output

Stop word

Streaming data

Sturdy development

Subcommand

Subdirectory

Subsampling

Success (result from a unit test):

Sustainability

Sustainable software

Symbolic debugger

Syntax highlighting

Synthetic data

Tab completion

Tag (in version control):

Tag

Target

Target (in Make):

Target (of oppression):

Technical debt

Ternary expression

Test coverage

Test framework

Test isolation

Test runner

Test-driven development

Three stickies

Ticket

Ticketing system

Tidy data
As defined in Wickham (2014), tabular data is tidy if (1) each variable is in one column, (2) each different observation of that variable is in a different row, (3) there is one table for each kind of variable, and (4) if there are multiple tables, each includes a key so that related data can be linked.

Time boxing

Timestamp (on a file):

Tldr

Tolerance

Transitive dependency

Triage

Tuning

Tuple

Typesetting language

Unit test

Unix shell

Update operator
See [in-place operator][in-place-operator].

Upvote

Validation

Variable (in Python): A symbolic name that reserves memory to store a value.

Variable (in Make):

Vector image

Verification

Version control system

Violin plot

Virtual environment
In Python, the virtualenv package allows you to create virtual, disposable, Python software environments containing only the packages and versions of packages you want to use for a particular project or task, and to install new packages into the environment without affecting other virtual environments or the system-wide default environment.
Virtual machine
A program that pretends to be a computer. This may seem a bit redundant, but VMs are quick to create and start up, and changes made inside the virtual machine are contained within that VM so we can install new packages or run a completely different operating system without affecting the underlying computer.

What You See Is What You Get (WYSIWYG):

Whitespace

Wildcard

Working directory

Working memory

Wrap code

Wrapper

YAML