A Glossary
Annotated tag (in version control):
Application Programming Interface (API):
- 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.
Checking-driven development (CDD):
- Competent practitioner
- Someone who can do normal tasks with normal effort under normal circumstances. See also [novice][novice] and [expert][novice].
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
- 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.
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.
Error (result from a unit test):
- 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].
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.
- 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.
Frequently Asked Questions (FAQ):
Graphical user interface (GUI):
Integrated Development Environment (IDE):
Iteration (in software development):
- 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.
- 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.
- Novice
- Someone who has not yet built a usable mental model of a domain. See also [competent practitioner][competent-practitioner] and [expert][expert].
- Object
- An object is a programming language’s way of descrbing and storing values, usually labeled with a variable name.
Pseudorandom number generator (PRNG):
- Regular expression
- a sequence of characters that define a pattern that can be used to find matching strings
- 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
).
Representation State Transfer (REST):
Reproducible example (reprex):
Research software engineer (RSE):
- Restructured Text (reST)
- A plain text markup language used by much Python documentation and documentation tooling.
Scalable Vector Graphics (SVG):
Seed (for pseudorandom number generator):
Success (result from a unit test):
- 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.
Variable (in Python): A symbolic name that reserves memory to store a value.
- 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.