Index
- ABM - an Agent Based Model is a computational model for simulating the actions and interactions of autonomous agents (both individual or collective entities such as organizations or groups). (Agent Based Model Practical 1: 1. Introduction)
- API - an interface allowing some software to interoperate with other software. (Python: 2. Python 3)
- ASCII - a character encoding standard for electronic communication. (Programming: 2.1. Bits and Bytes)
- Backward Compatibility - a property of an operating system, product, or technology that allows for interoperability with an older legacy system. (Programming: 4. Language Evolution, Deprecation and Versions, Python: 2. Python 3)
- Beautiful Soup - a Python library for pulling data out of HTML and XML files. (Web: 3.3. Processing Web Pages)
- Bit - the most basic unit of information in computing and digital communications. A bit represents a logical state having one of two possible values. (Programming: 2.1. Bits and Bytes)
- Byte - a unit of digital information that most commonly consists of eight bits. (Programming: 2.1. Bits and Bytes, Containers: 2.1. Bytes and Bytearray)
- C++ - a high-level, general-purpose programming language. (Python: 8. QGIS Desktop Python Console)
- 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)
- CSV - a delimited text file format that uses a comma to separate values. (Input and Output: 5.1. CSV, Agent Based Model Practical 5: 2. Input Data)
- Call By Sharing - an evaluation strategy where a parameter is shared such that changes that are not reassignments are changes to a shared object. If there is a reassignment in the function then the object is no longer shared and what is in the function is distinct from the object in the calling scope. (Variables: 3. Functions, Variable Scope and the Global Keyword)
- Call By Value - the value in the callers scope remains unchanged. (Variables: 3. Functions, Variable Scope and the Global Keyword)
- Class - an extensible program-code-template for creating objects, providing initial values for state (member variables) and implementations of behavior (member functions or methods).
- Command Line Interface - a command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and providing information to them as to what actions they are to perform. (Python: 3. Running Python)
- Computer Programming - the process of designing and building an executable computer program.
- Conditional - perform different computations or actions depending on whether a programmer-defined boolean condition evaluates to true or false. (Branching: 1. Introduction)
- Control Flow - a named container of data.
- Debugging - the process of finding and resolving bugs (defects or problems that prevent correct operation) within computer programs, software, or systems. (Python: 4.3. Comments)
- 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 completely removing it or prohibiting its use. (Programming: 4. Language Evolution, Deprecation and Versions)
- Disk - computer data storage that is slower than memory and is used to store information persistently (from one session to the next).
- Double-precision Floating-point - a computer number format, usually occupying 64 bits in computer memory. (Programming: 2.3. Integers and Floating Point, Variables: 2. Python Variables)
- File Format - a standard way that information is encoded for storage in a computer file. (Programming: 2.2. File Formats)
- File System - a method and data structure that a computer operating system uses to control how data is stored and retrieved.
- Floating-point - arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. (Programming: 2.3. Integers and Floating Point, Variables: 2. Python Variables, Testing: 3. Unit Tests)
- For Loop - runs a section of code repeatedly until a condition is satisfied. (Python: 8. QGIS Desktop Python Console, Loops: 1. Introduction, Loops: 3. For)
- Free and Open Source Software - software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source code is openly shared.
- Function - a sequence of program instructions that performs a specific task.
- Functional Programming - a programming paradigm where programs are constructed by applying and composing functions.
- GIS - a geographical information system comprises people, computational resources, software and data. GIS is for storing, managing, processing, analyzing, and visualizing geographic data. (Python: 9. Python Packages and Environment Management)
- GML - the XML grammar defined by the Open Geospatial Consortium (OGC) to express geographical features. (Input and Output: 5.3. Markup)
- GUI - a form of user interface that primarily uses actionable graphical icons. (GUI: 1. Introduction)
- GeoJSON - an open standard format designed for representing simple geographical features, along with their non-spatial attributes. It is based on the JSON format. (Input and Output: 5.2. JSON)
- 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)
- HTML - the standard markup language for documents designed to be displayed in a web browser. (Programming: 2.2. File Formats, Input and Output: 5.3. Markup, Web: 3.1. Web Pages)
- HTTP - an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. (Web: 3. The World Wide Web)
- HTTPS - is an extension of HTTP that uses encryption for secure communication over a computer network. (Web: 3. The World Wide Web)
- IDE - an Integrated Development Environment - a collection of software tools used to make writing code and developing software easier. (Python: 7. Integrated Development Environments)
- Internet - a global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. (Web: 1. Introduction)
- JSON - JavaScript Object Notation is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays (or other serializable values). (Input and Output: 5.2. JSON)
- JavaScript - a high-level programming language that is one of the core technologies of the Web. All major Web browsers have a dedicated JavaScript engine to execute code on user devices. (Python: 6. Jupyter Notebook)
- Keyboard - a peripheral input device modeled after the typewriter keyboard.
- Linux - a family of open-source Unix-like operating systems.
- MacOS - a group of several proprietary Unix operating systems developed and marketed by Apple Inc.
- Magic Number - file type metadata incorporated into the file - usually at the start. (Programming: 2.2. File Formats)
- Markdown - a lightweight markup language for creating formatted text using a plain-text editor. (Python: 6. Jupyter Notebook)
- Memory - computer data storage that operates at a high speed compared to other data storage and is used to store data for immediate use. (Variables: 2. Python Variables)
- Metadata - data that provides information about other data. (Programming: 2.2. File Formats)
- Microsoft Windows - a group of several proprietary graphical operating system families developed and marketed by Microsoft.
- Monitor - an output device that displays information in pictorial or textual form.
- Mouse - a hand-held pointing device that detects two-dimensional motion relative to a surface.
- Name Binding - the association of entities (data and/or code) with identifiers. (Python: 4.6. Identifiers and Keywords)
- Network Socket - a software structure within a network node of a computer network that serves as an endpoint for sending and receiving data across the network. (Web: 2. Network Sockets, Port Numbers, Addresses and Protocols)
- Object Oriented Programming - a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields (often known as attributes or properties), and the code is in the form of procedures (often known as methods).
- Open Source Software - computer software that is released under a license that grants rights to use, study, change, and distribute the software and its source code. (Programming: 3. Learning to Program)
- Operating System - a system that manages computer hardware and software resources, and provides common services for computer programs.
- PATH - an environment variable on Unix-like operating systems, DOS, OS/2, and Microsoft Windows, specifying a set of directories where executable programs are located. (Python: 3. Running Python, Input and Output: 8. OS and File Systems)
- Port - a number assigned to uniquely identify a connection endpoint and to direct data to a specific service. (Web: 2. Network Sockets, Port Numbers, Addresses and Protocols)
- Programming Language - a system of notation for writing computer programs.
- PyQGIS - QGIS Python API. (Python: 8. QGIS Desktop Python Console)
- PyQGIS Developer Cookbook - a tutorial and a reference guide to the PyQGIS API.
- Python - a high-level, general-purpose programming language.
- Python Built-in Constants - constants that are always available.
- Python Built-in Exceptions - are generated by the interpreter or a built-in function when an error is encountered. (Python: 3.1.2. Numerical calculations)
- Python Built-in Functions - functions and types that are always available. (Containers: 2.4. Ranges, Functions: 1. Introduction)
- Python Built-in Types - standard library numerics, sequences, mappings, classes, instances and exceptions that are 'built-in' to the interpreter. (Python: 3.1.2. Numerical calculations)
- Python MemoryError - a built-in exception raised when an operation runs out of memory but the situation may still be rescued (by deleting some objects). (Input and Output: 4. Reading and Writing Files Part 1)
- Python Module Index - an index of standard library modules. (Modules: 2. Importing)
- Python NameError - an built-in exception raised when a local or global name is not found. (Python: 3.2. Loading Modules and Using Functions, Python: 7.2. Spyder)
- Python Numeric Types - are of three distinct types: integers, floating point numbers, and complex numbers. (Testing: 3. Unit Tests)
- Python Requests - a third party HTTP library for Python. (Web: 3.3. Processing Web Pages)
- Python Standard Library - the functionality that is included in Python distributions as standard and it's reference manual. (Testing: 2. Doctest, Testing: 3. Unit Tests)
- Python SyntaxError - a built-in exception raised when the parser encounters a syntax error. (Python: 4.1. Syntax Errors, Python: 4.6. Identifiers and Keywords)
- Python SystemError - a built-in exception raised when the interpreter encounters an internal error.
- Python TypeError - a built-in exception raised when an operation or function is applied to an object of inappropriate type. (Agent Based Model Practical 4: 2. Define an Agent class)
- Python ZeroDivisionError - a built-in exception raised when the second argument of a division or modulo operation is zero. (Python: 3.1.2. Numerical calculations)
- Python array - a standard library module that defines an object type which can compactly represent a sequence of values all of the same type. An array behaves like a list, except that the type of objects stored in them is restricted/constrained. (Containers: 2.6. Arrays)
- Python break - a keyword that terminates the nearest enclosing loop, skipping the optional 'else' clause if the loop has one. (Loops: 2. While, Loops: 3. For)
- Python builtins - an always loaded module that provides direct access to all 'built-in' identifiers. (Python: 3.3. The Help System, Variables: 2. Python Variables, Functions: 1. Introduction)
- Python byte - an immutable sequence of integers in the range [0, 255]. (Containers: 2.1. Bytes and Bytearray)
- Python bytearray - a mutable counterpart to a Python byte. (Containers: 2.1. Bytes and Bytearray)
- Python continue - a 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 csv - a standard library module for handling data in a CSV file format. (Input and Output: 6. Reading and Writing Files Part 2)
- Python decimal - a standard library module providing support for fast correctly rounded decimal floating point arithmetic. (Variables: 2. Python Variables, Testing: 3. Unit Tests)
- Python delimiters - a string that separates parts. (Python: 4.5. Delimiters, Literals and Operators)
- Python dict - a mapping object that maps unique keys to values. (Containers: 4. Dictionaries)
- Python dir - a function that: without arguments, returns the list of names in the current local scope; and, with an argument, attempts to return a list of valid attributes for that object. (Python: 3.2. Loading Modules and Using Functions)
- Python docstring - a string literal comment that occurs as the first statement in a module, function, class, or method definition. This becomes the '__doc__' attribute of that object. (Python: 4.3. Comments, Functions: 5.2. Documenting Functions, Agent Based Model Practical 3: 2.1. Define a Function, Testing: 2. Doctest)
- Python doctest - a standard library module that can be used to search for text that looks like interactive Python sessions, and then executes those sessions to verify that they work as shown. (Testing: 2. Doctest)
- Python for - used to iterate over the elements of a sequence. (Python: 8. QGIS Desktop Python Console, Loops: 3. For, Agent Based Model Practical 2: 2. Using Lists, Agent Based Model Practical 2: 4. Using Loops, Agent Based Model Practical 3: 2.2. Calculate the maximum distance)
- Python fractions - a standard library module providing support for rational number arithmetic. (Variables: 2. Python Variables)
- Python help - a function that starts the help system. (Python: 3.3. The Help System)
- Python if - a compound statement used for conditional execution. (Python: 4.4. Code Layout, Python: 4.7. Style, Variables: 3. Functions, Variable Scope and the Global Keyword, Agent Based Model Practical 1: 3. Randomly changing values, Branching: 2. If)
- Python import - a statement for importing modules. (Functions: 1. Introduction)
- Python input - a builtins module function that reads a line from standard input, converts it to a string (stripping the trailing newline), and returns that string. (Input and Output: 2. Standard Input)
- Python io - a standard library module the provides the main facilities for dealing with various types of input and output. (Input and Output: 1. Introduction)
- Python json - a standard library module for handling data in JSON format. (Input and Output: 6. Reading and Writing Files Part 2)
- Python keyword - a reserved word that cannot be used as an ordinary identifier (names of variable, function, class, module or package). (Python: 4.6. Identifiers and Keywords, Variables: 3. Functions, Variable Scope and the Global Keyword)
- Python lambda - an expression used to create anonymous functions. (Functions: 4.2. Lambdas)
- Python len - a function for getting the length (the number of items) of an object. (Python: 3.1.2. Numerical calculations, Loops: 4. Nesting loops)
- Python list - a mutable sequence, typically used to store collections of homogeneous items. (Containers: 2.5. Lists, Agent Based Model Practical 2: 2. Using Lists)
- Python match - statement used for pattern matching. (Branching: 3. Match)
- Python math - provides access to the mathematical functions defined by the C standard. (Agent Based Model Practical 1: 4. Calculate the Euclidean distance, Agent Based Model Practical 3: 4. Other distance statistics)
- Python open - a builtins module function to open a file and return a corresponding file object. (Input and Output: 4. Reading and Writing Files Part 1)
- Python operator - a standard library module that exports a set of functions corresponding to the intrinsic operators of Python. (Python: 3.2. Loading Modules and Using Functions, Python: 4.5. Delimiters, Literals and Operators)
- Python print - a builtins module function for printing to the screen. (Python: 3.3. The Help System, Classes: 5. Customisation, Input and Output: 3. Streams, Testing: 1. Introduction)
- Python random - a standard library module that implements pseudo-random number generators for various distributions. (Agent Based Model Practical 1: 3. Randomly changing values, Agent Based Model Practical 4: 2. Define an Agent class)
- Python range - an immutable sequence of numbers, commonly used for looping a specific number of times in for loops. (Containers: 2.4. Ranges, Loops: 3. For, Loops: 4. Nesting loops)
- Python repr - a builtins module function for getting printable representation of an object. (Agent Based Model Practical 4: 2. Define an Agent class)
- 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 equal. (Containers: 3. Sets)
- Python str - a builtins module function for creating a string. (Python: 3.1.2. Numerical calculations, Variables: 2. Python Variables, Containers: 2.2. Strings, Agent Based Model Practical 4: 2. Define an Agent class)
- Python string - a standard type and immutable sequence of Unicode code points. (Containers: 2.2. Strings)
- Python sys - a standard library module that provides access to some variables used or maintained by the interpreter and to functions that interact strongly with the interpreter. (Variables: 2. Python Variables, Exceptions: 5. System Exit)
- Python time - a standard library module providing various time-related functions. (Agent Based Model Practical 3: 3. Timing)
- Python tk - documentation about developing GUIs with tkinter. (GUI: 1. Introduction)
- Python tkinter - a standard library module providing an interface to the Tcl/Tk GUI toolkit. (GUI: 1. Introduction)
- Python try - a statement specifies exception handlers and/or cleanup code for a code block. (Exceptions: 2. Try-Except)
- Python tuple - an immutable sequences, typically used to store collections of heterogeneous data. (Variables: 4. Deleting variables, Containers: 2.3. Tuples, Agent Based Model Practical 5: 2. Input Data)
- Python type - a builtins module function for getting the type of an identifier. (Variables: 2. Python Variables)
- Python unittest - a standard library module providing tools for constructing and running tests.. (Testing: 3. Unit Tests)
- Python venv - a standard library module that supports creating lightweight virtual environments, each with their own independent set of Python packages installed in their site directories. (Python: 9. Python Packages and Environment Management)
- Python while - a compound statement used for repeated execution as long as an expression evaluates as true. (Loops: 2. While)
- Python yield - a keyword used in a statement or expression that returns something from a function whilst allowing further expressions in the function to be evaluated. (Agent Based Model Practical 7: 2. Animation)
- Python zip - a builtins module function that iterates over multiple iterables in parallel, producing tuples with an item from each one. (Containers: 2.5. Lists)
- REPL - a Read Evaluate Print Loop also termed an interactive toplevel or language shell, a simple interactive computer programming environment that takes single user inputs, executes them, and returns the result to the user. (Python: 3.1. Python REPL, Python: 6. Jupyter Notebook)
- Reproducibility - in computational sciences means any results should be documented by making all data and code available in such a way that the computations can be executed again with identical results. (Programming: 5. Considerata, Python: 2. Python 3)
- Scope - the part of a program where a name binding is valid. (Variables: 3. Functions, Variable Scope and the Global Keyword)
- Single-precision Floating-point - a computer number format, usually occupying 32 bits in computer memory. (Programming: 2.3. Integers and Floating Point)
- Software - computer programs and associated documentation and data.
- Software Bug - an error, flaw or fault in the design, development, or operation of computer software that causes it to produce an incorrect or unexpected result, or to behave in unintended ways. (Programming: 3. Learning to Program)
- Source Code - text written using a human-readable programming language.
- Syntax Error - an error in the syntax of a sequence of characters or tokens that is intended to be written in a particular programming language. (Python: 4.1. Syntax Errors, Python: 4.6. Identifiers and Keywords)
- 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)
- Touchscreen - both an input ('touch panel') and output ('display') device).
- URL - Uniform Resource Locator - a reference to a Web resource that specifies its location and the protocol for retrieving it. (Web: 3. The World Wide Web)
- Unicode - an information technology standard for the consistent encoding, representation, and handling of text expressed in most writing systems. (Programming: 2.1. Bits and Bytes, Containers: 2.2. Strings)
- Unit Testing - a software testing method by which individual units of source code—sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures—are tested to determine whether they are fit for use. (Testing: 3. Unit Tests)
- Variable - the order in which individual statements, instructions or function calls of an imperative program are executed or evaluated. (Variables: 1. Introduction)
- Version Control - (also known as revision control, source control, or source code management) is a class of systems responsible for managing changes to computer programs, documents, Web sites, or other collections of information.. (Programming: 3. Learning to Program)
- Web Accessibility - the inclusive practice of ensuring there are no barriers that prevent interaction with, or access to, websites on the World Wide Web by people with physical disabilities, situational disabilities, and socio-economic restrictions on bandwidth and speed. (Web: 3.2. Web Page Design)
- While Loop - a control flow statement that allows code to be executed repeatedly until a condition evaluates as false. (Loops: 1. Introduction)
- World Wide Web - commonly known as the Web, is an information system enabling documents and other web resources to be accessed over the internet. (Web: 1. Introduction)
- XML - a markup language and file format for storing, transmitting, and reconstructing arbitrary data. (Input and Output: 5.3. Markup)