C Glossary

Abandonware
FIXME
Absolute error
FIXME
Absolute import
FIXME
Absolute path
Refers to the complete listing of folders between the root folder to the last folder, if the path points to a folder, or to the parent folder, if the path points to a file.
Actual result
FIXME
Agile development
FIXME
Ally
FIXME
Append mode
FIXME
Assertion
FIXME
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
Boilerplate
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 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
Byte code
FIXME
Call stack
FIXME
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.
Catch (an exception)
FIXME
Checking-driven development (CDD)
FIXME
Checklist
FIXME
Code review
FIXME
Cognitive load
FIXME
Command argument
FIXME
Command flag
FIXME
Command history
FIXME
Command option
FIXME
Command shell
FIXME
Command switch
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.
Commit message
FIXME
Commons
FIXME
Competent practitioner
Someone who can do normal tasks with normal effort under normal circumstances. See also novice and expert.
Compiled language
FIXME
Compiler
FIXME
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.
Continuation prompt
FIXME
Continuous integration
FIXME
Coverage
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
Defensive programming
FIXME
Destructuring
FIXME
Dictionary
FIXME
Digital Object Identifier (DOI)
FIXME
Docstring
FIXME
Documentation generator
FIXME
Down-vote
FIXME
Entry point
FIXME
Exception
FIXME
Expected result
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 and novice.
Explicit relative import
FIXME
Exploratory programming
FIXME
Export a variable
FIXME
External error
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.
Filename extension
FIXME
Filename stem
FIXME
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
FIXME
Fixture
FIXME
Flag variable
FIXME
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.
Forge
FIXME
Frequently Asked Questions (FAQ)
FIXME
Full identifier (in Git)
FIXME
Function (in Make)
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 (and its subfolders). Technically, Git is a “distributed version control system,” meaning that each user who has a 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 branch
FIXME
Git clone
Copies, and usually downloads, a Git remote repository onto the local computer.
Git conflict
FIXME
Git fork
Is a concept in GitHub that indicates a GitHub repository has been cloned into a new GitHub repository.
Git merge
FIXME
Git pull
Downloads and synchronizes changes between a remote repository and a local repository.
Git push
Uploads and synchronizes changes between a local repository and a remote repository.
Git stage
FIXME
Git
FIXME
Graphical user interface (GUI)
FIXME
Hitchhiker
FIXME
Home directory
FIXME
Governance
FIXME
ISO date format
FIXME
Impact/effort matrix
FIXME
Implicit relative import
FIXME
Impostor syndrome
FIXME
In-place operator
FIXME
Internal error
FIXME
Interpeter
FIXME
Interpreted language
FIXME
Interruption bingo
FIXME
Integration testing
FIXME
Invariant
FIXME
Issue tracking system
Is similar to a bug tracking system in that it tracks “issues” made to a repository, usually in the form of feature requests, bug reports, or some other todo item.
Issue
FIXME
JSON
FIXME
Kebab case
FIXME
Label (in issue tracker)
FIXME
Label (in issue tracker)
FIXME
LaTeX
FIXME
Linter
FIXME
List comprehension
FIXME
Logging framework
FIXME
Long option
FIXME
Loop body
FIXME
Loop (in Unix)
FIXME
Milestone
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.
Magic number
FIXME
Makefile
FIXME
Martha’s Rules
FIXME
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.
Nano
FIXME
Ngo
FIXME
Novice
Someone who has not yet built a usable mental model of a domain. See also competent practitioner and 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.
Open science
FIXME
Operating system
FIXME
Oppression
FIXME
Optional argument
FIXME
Orthogonality
FIXME
Overlay configuration
FIXME
Pager
FIXME
Parent directory
FIXME
Patch
FIXME
Path coverage
FIXME
Path
FIXME
Pattern rule
FIXME
Phony target
FIXME
Pipe (in Unix)
FIXME
Positional argument
FIXME
Postcondition
FIXME
Pothole case
FIXME
Power law
FIXME
Precondition
FIXME
Prerequisite (in Make)
FIXME
Privilege
FIXME
Procedural programming
FIXME
Process
FIXME
Product manager
FIXME
Project manager
FIXME
Prompt
FIXME
Provenance
FIXME
Public domain license (CC-0)
FIXME
Pull request
FIXME
Python
FIXME
Raise
FIXME
Raster image
FIXME
Recursion
FIXME
Redirection
FIXME
Refactoring
FIXME
Regression testing
FIXME
Regression
FIXME
Regular expression
a sequence of characters that define a pattern that can be used to find matching strings
Relative error
FIXME
Relative path
Is a reference to a folder or file that begins at the current working directory, unlike an absolute path that starts with the root directory.
Remote login
FIXME
Remote login server
FIXME
Remote repository
FIXME
Repl
FIXME
Repository
FIXME
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.
Revision
FIXME
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.
Rotating file
FIXME
Rule (in Make)
FIXME
Secure Shell (SSH)
FIXME
SSH daemon
FIXME
SSH key
FIXME
SSH protocol
FIXME
Script
FIXME
Search path
FIXME
Semantic versioning
FIXME https://semver.org/
Sense vote
FIXME
Shebang
FIXME
Shell script
FIXME
Short circuit test
FIXME
Short identifier (in Git)
FIXME
Short option
FIXME
Snake case
FIXME
Source distribution
FIXME
Sprint
FIXME
Standard error
FIXME
Standard input
FIXME
Standard input
FIXME
Standard output
FIXME
Standard output
FIXME
Stop word
FIXME
Subcommand
FIXME
Subdirectory
FIXME
Sustainable software
FIXME
Tab completion
FIXME
Tag
FIXME
Target
FIXME
Target (in Make)
FIXME
Ternary expression
FIXME
Test framework
FIXME
Test runner
FIXME
Test-driven development
FIXME
Three stickies
FIXME
Ticket
FIXME
Ticketing system
FIXME
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.
Timestamp (on a file)
FIXME
Tolerance
FIXME
Transitive dependency
FIXME
Triage
FIXME
Tuple
FIXME
Unit test
FIXME
Unix shell
FIXME
Up-vote
FIXME
Update operator
See in-place operator.
Validation
FIXME
Variable (in Make)
FIXME
Verification
FIXME
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.
Whitespace
FIXME
Wildcard
FIXME
Working memory
FIXME
Wrap code
FIXME