Array - A data structure consisting of a collection of elements
(values or variables), of same memory size, each identified
by at least one array index or key.
Artificial Intelligence - The capability of computational systems to perform tasks
typically associated with human intelligence, such as learning,
reasoning, problem-solving, perception, and decision-making.
(Programming: 3. Learning to Program)
Bug - A defect in the design, manufacture or operation of machinery,
circuitry, electronics, hardware, or software that produces
undesired results or impedes operation. (See also:
Software bug)
CPython - The reference implementation of Python. Written in C and
Python, CPython is the default and most widely used Python
implementation. It is both a compiler and interpreter.
CSS - A style sheet language used for describing the presentation of a
document written in a markup language such as HTML or XML.
(Web: 3.2. Web Page Design)
Class - An extensible program-code-template for creating
objects, providing initial values for state (member
variables) and implementations of behavior (member
functions or methods).
Computer file - For recording data on a disk, primarily identified by a
filename. Just as words can be written on paper, so can data be
written to a computer file. Files can be shared with and
transferred between computers and devices via removable media,
networks, or the Internet.
Data - A collection of discrete or continuous values that convey
information, describing the quantity, quality, fact,
statistics, other basic units of meaning, or simply sequences of
symbols that may be further interpreted formally. (See also:
Digital data)
Data structure - A data organization, management, and storage format that is
usually chosen for efficient access to data.
Data type - A collection or grouping of data values, usually specified by a
set of possible values, a set of allowed operations on these
values, and/or a representation of these values as machine types.
Debugger - A tool for debugging. Software for executing a
computer program in an environment that allows for
programming-level inspection and control. Debuggers typically
allow users to step through code line-by-line, breaking into
a program's flow of control, managing breakpoints, and reporting
and modifying memory.
Deprecation - The discouragement of use of some terminology, feature, design,
or practice, typically because it has been superseded or is no
longer considered efficient or safe, without removing it or
prohibiting its use.
(Programming: 4. Language Evolution, Deprecation and Versions)
Digital data - Information represented as a string of discrete symbols, each
of which can take on one of only a finite number of values from
an alphabet. (See also: Data)
Digital footprint - Traceable digital activities, actions, contributions, and
communications manifested on the Internet or digital devices.
Digital model - An informative computer based representation of an individual
object or system.
Digital shadow - A digital model of a physical product, system, or process. The
abstract model represents the real thing using observations,
measurents and scientific understanding. (See also:
Digital footprint)
Digital twin - A digital model of a physical product, system, or process (a
physical twin). This is beyond a digital shadow model in that
the digital twin provides feedback on how to better represent the
physical twin - a process which to an extent can be automated. It
is the incorporation of feedback that distiguishes a digital twin
from a digital shadow.
Directory - A file system cataloging structure which contains references to
files, and possibly other directories. On some computers,
directories are known as folders. A directory contained inside
another directory is called a subdirectory.
Distributed computing - A distributed system is a system whose components are located on
different networked computers, which communicate and coordinate
their actions by passing messages to one another.
Documentation - Any communicable material that is used to describe, explain or
instruct regarding some attributes of an object, system or
procedure, such as its parts, assembly, installation,
maintenance, and use.
Domain name - A string that identifies a realm of administrative autonomy,
authority or control.
End user - A person who ultimately uses or is intended to ultimately use a
product.
Environment variable - A variable that can affect the way running processes behave
on a computer. For example, a running process may query the
value of an environment variable to discover a suitable location
to store temporary files.
Error message - Information displayed when an unforeseen problem occurs.
GNU - An extensive collection of free software, which can be
used as an operating system or can be used in parts
with other operating systems. The basis of Linux is
GNU.
Glitch - A short-lived fault in a system, such as a transient
fault that corrects itself, making it difficult to
troubleshoot.
(Programming: 3. Learning to Program)
Graphics Processing Unit - A specialized electronic circuit initially designed to
accelerate computer graphics and image processing. They
are used for other calculations due to efficienies of
their structure which is suited to some forms of
parallel processing.
Imperative program - A programming paradigm of software that uses
statements that change a program's state. An imperative
program consists of commands for the computer to
perform. Imperative programming focuses on describing
how a program operates step by step, rather than on
high-level descriptions of its expected results.
Information - Information is the meaning that may be derived from a
representation through interpretation.
Interface - A shared boundary across which two or more separate components of
a computer system exchange information.
International Electrotechnical Commission - An international standards organization that prepares and
publishes standards for electrical, electronic and related
technologies – collectively known as electrotechnology.
JSON - An open standard data interchange format for data objects
consisting of attribute–value pairs and arrays (or other
serializable values).
(IO: 5.2. JSON)
Jupyter Notebook - Jupyter Notebook can colloquially refer to two different
concepts, either the user-facing application to edit
code and text, or the underlying file format which is
interoperable across many implementations.
(Python: 6. Jupyter Notebook)
Large Language Model - A language model trained with self-supervised machine learning on
a vast amount of text, designed for natural language processing
tasks, especially language generation.
Lexical token - A token name and an optional token value. The token name is a
category of a rule-based lexical unit.
Multithreading - A programming and execution model that allows multiple
threads to exist within the context of one process.
These threads share the process's resources, but are
able to execute independently. Multithreading can be
applied to one process to enable parallel execution on
a multiprocessing system.
Namespace - A set of names used to identify and refer to objects of
various kinds. Namespaces ensure objects have unique
names so that they can be easily identified.
Open Geospatial Consortium - An international voluntary consensus standards
organization for geospatial content and location-based
services, sensor web and Internet of Things, GIS data
processing and data sharing.
Parallelisation - The process of changing a computer program from a
serial execution (where procesing tasks are completed
one after another), to a parallel execution (where
multiple tasks) are carried out simultaneously.
Parameter - A special kind of variable used in a subroutine to
refer to one of the pieces of data provided as input
to the subroutine.
Product lifecycle - The entire lifecycle of a product from its inception
through the engineering, design, development, service,
and end of life (end of support - retirement).
Profiling - A form of dynamic program analysis that measures
performance, for example, the memory requirments or
processing time of parts of a computer program.
Protocol - A system of rules that allows two or more entities of a
communications system to transmit information. The
protocol defines the rules, syntax, semantics, and
synchronization of communication and possible error
recovery methods. Protocols may be implemented by
hardware, software, or a combination of both.
Python array - A Python Standard Library module that defines an array -
an object type which can compactly represent a sequence of
values all of the same type. It behaves like a list, except
that the type of objects stored in them is restricted.
(Containers: 2.6. Arrays)
Python continue - A Python keyword that continues with the next cycle of the
nearest enclosing loop. When 'continue' passes control out of
a try statement with a 'finally' clause, that finally clause
is executed before starting the next loop cycle.
(Loops: 2. While, Loops: 3. For)
Python sequence - There are three basic Python sequence types: lists,
tuples, and ranges. There are additional sequence types
for processing of binary data and text strings.
Python set - An unordered collection of distinct hashable objects. A
hashable object has a hash value which must be the same for
objects regarded as being equal.
(Containers: 3. Sets)
Python yield - A Python keyword used in a statement or expression that
returns something from a function whilst allowing further
expressions in the function to be evaluated.
(ABM7: 2. Animation)
Reproducibility - In computational sciences, reproducibility means results
should be documented by making all data and code
available in such a way that the computations can be
executed again with identical end results.
(Programming: 5. Considerata)
Service - Software functionality, or a set of software
functionalities (such as the retrieval of specified
information or the execution of a set of operations)
with a purpose that different clients can reuse for
different purposes, together with the policies that
should control its usage.
Software bug - An error, flaw or fault in the design, development, or
operation of software that causes it to produce an
incorrect or unexpected result, or to behave in
unintended ways. (See also: Bug)
(Programming: 3. Learning to Program)
Software library - An error, flaw or fault in the design, development, or
operation of software that causes it to produce an
incorrect or unexpected result, or to behave in
unintended ways. (See also: Bug)
Standard - Documantation that establishes uniform engineering or
technical criteria, methods, processes, and practices.
Statement - A syntactic unit of an imperative programming
language that expresses some action to be carried out.
A program written in such a language is formed by a
sequence of one or more statements. A statement may have
internal components (e.g. expressions).
TCP/IP - A framework for organizing the set of communication protocols
used in the Internet and similar computer networks according to
functional criteria.
(Web: 1. Introduction)
Virtual machine - A virtual computer within a physical computer. An
'operating system-level virtualization' provides a more
complete system platform and operating system. An
'application-level virtualization' encapsulates
computer programs from the underlying operating system
which run in a more platform-independent way. (See also:
Containerization)