Absolute path : Refers to the complete listing of folders between the [root][root-directory] folder to the last folder, if the path points to a folder, or to the parent folder, if the path points to a file.
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 : Is a feature that allows the user to finish a word or code quickly through the use of hitting the TAB key to list possible words or code that the user can select from.
Automatic variable (in Make) : FIXME
Branch-per-feature workflow : FIXME https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow
Bug report : Is a collection of files, logs, or related information that adequately describes either an unexpected output of some code or program or an unexpected error or warning. This information is used to help find and fix a bug in the program or code.
Bug tracker : Is a system that tracks and manages [reported bugs][bug-report] for a software program, to make it easier to address and fix the bugs.
Build manager : FIXME https://en.wikipedia.org/wiki/List_of_build_automation_software
Camel case
: A style of writing code that involves naming variables and objects with no
space, underscore (_
), dot (.
), or dash (-
), with each word being capitalized.
Some examples would be: CalculateSum
, findPattern
, SearchFiles
, or objectNumber
.
Checking-driven development (CDD) : FIXME
Command-line interface (CLI) : FIXME
Comment
: Is text written in a script that is not treated as code to be run, but rather
as text that describes what the code is doing. These are usually short notes,
often beginning with a #
(in many programming languages).
Commit : FIXME: define both noun and verb.
Competent practitioner : Someone who can do normal tasks with normal effort under normal circumstances. See also [novice][novice] and [expert][novice].
Computational notebook : FIXME
Conditional expression : FIXME
Confirmation bias : Is the tendency to seek out or interpret information that re-affirms or supports one's pre-existing knowledge, beliefs, or values.
Continuous integration : FIXME
Creative Commons - Attribution License (CC-BY) : FIXME
Current working directory : The folder or directory location that the program is operating in. Any action taken by the program occurs relative to this directory.
Data package : A software package that, mostly, contains only data. Is used to make it simpler to disseminate data for easier use.
Default target (in Make) : FIXME
Digital Object Identifier (DOI) : FIXME
Documentation generator : FIXME
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].
Explicit relative import : FIXME
Exploratory programming : FIXME
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.
Feature request : Is a request to the maintainers or developers of a software program to add a specific functionality (a feature) to that program.
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.
Folder : Is a computer storage and organization concept that allows files to be organized in a common location, which is the folder or directory. A folder can store both files and other folders.
Frequently Asked Questions (FAQ) : FIXME
Full identifier (in Git) : FIXME
GNU Public License (GPL) : FIXME
Git : Is a software program that formally tracks changes made to a collection of files within a specific [folder][folder] (and its subfolders). Technically, Git is a "distributed version control system", meaning that each user who has a [repository][repository] on their computer also has the entire history of changes made to that repository, so that technically there is no central repository (e.g. that is only accessible on a server).
Git clone : Copies, and usually downloads, a Git [remote repository][remote-repository] onto the local computer.
Git fork : Is a concept in GitHub that indicates a GitHub [repository][repository] has been [cloned][git-clone] into a new GitHub repository.
Git pull : Downloads and synchronizes changes between a [remote repository][remote-repository] and a local [repository][repository].
Git push : Uploads and synchronizes changes between a local [repository][repository] and a [remote repository][remote-repository].
Graphical user interface (GUI) : FIXME
Implicit relative import : FIXME
Issue tracking system : Is similar to a [bug tracking system][bug-tracker] in that it tracks "issues" made to a [repository][repository], usually in the form of [feature requests][feature-request], [bug reports][bug-report], or some other todo item.
Label (in issue tracker) : FIXME
Label (in issue tracker) : FIXME
MIT License : Is a legal license that places very limited restrictions on the re-use of software, making it a very permissive license that encourages using, modifying, and distributing the software widely.
Maximum likelihood extimation : FIXME
Mental model : A simplified representation of the key elements and relationships of some problem domain that is good enough to support problem solving.
Novice : Someone who has not yet built a usable mental model of a domain. See also [competent practitioner][competent-practitioner] and [expert][expert].
Object-oriented programming : FIXME
Open license : Is a legal license that encourages, rather than restricts, the use, re-use, modification, and distribution of a copyrighted material, such as with software or written text.
Prerequisite (in Make) : FIXME
Procedural programming : FIXME
Public domain license (CC-0) : FIXME
Regular expression : a sequence of characters that define a pattern that can be used to find matching strings
Relative path : Is a reference to a folder or file that begins at the [current working directory][current-working-directory], unlike an [absolute path][absolute-path] that starts with the [root directory][root-directory].
Reproducible example (reprex) : A way of showing a code example that demonstrates the usage of the code or to highlight an error or bug that easily allows another user to re-create ("reproduce") the same output or error.
Reproducible research : A central pillar of rigorous research that involves describing and documenting the research results in such a way that another researcher or person can re-run the analysis code on the exact data to obtain the same result, to "reproduce" the findings.
Research software engineer (RSE) : FIXME
Restructured Text (reST) : A plain text markup language used by much Python documentation and documentation tooling.
Root directory : The root folder is the folder that contains all folders and files on the computer. It is the starting point to all files and is essentially referring to the hard drive itself. An analogy to the root directory would be that it is the trunk of a tree and all other folders are branches from that trunk.
Semantic versioning : FIXME https://semver.org/
Short identifier (in Git) : FIXME
Test-driven development : FIXME
Tidy data : As defined in @Wick2014, 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.
Update operator : See [in-place operator][in-place-operator].
Version control system : FIXME
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.