A
Algorithm: An algorithm is a set of instructions to solve a problem or perform a task. For example, you could have a sort algorithm to rearrange elements in a dataset into a specific order, i.e. smallest to largest. While a search algorithm could be used to retrieve information in a dataset.
Application Programming Interface (API): An application programming interface (API) is a set of rules and protocols that enables different software components to communicate with each other. An example use case of APIs would be a restaurant website making requests to the Google Maps API to receive geolocation data that can then be used to show the restaurant's location on the restaurant website.
Argument: An argument is a value passed to a function when it is called. For example, if you had a function that took two values and multiplied them, the two values passed in the function call are arguments.
Assembler: An assembler is a computer program that converts assembly language into machine code.
Assembly language: Assembly language is any low-level programming language whose instructions correspond closely to machine code. Assembly language uses mnemonics to form instructions. Assembly language is higher than machine code and lower than a high-level programming language.
B
Bit: A bit (which is a portmanteau of “binary digit”) is the smallest unit of digital information. A bit can have one of two values, usually represented as 0 or 1.
Boolean: Boolean is a data type with one of two values – true or false. This data type represents the truth of an expression or condition.
Bug: A bug is a defect in a computer program that results in an undesired result.
Byte: A byte is a unit of digital information consisting of 8 bits.
C
Class: A class is a blueprint or template for creating objects in object-oriented programming. It defines the initial variables, often referred to as attributes, and the behaviours, often referred to as methods, that the objects created from the class can have.
Compiler: A compiler is a program that translates the source code of a high-level programming language into machine code for execution. C++ is an example of a high-level programming language that is compiled.
Command-line interface: A command-line interface is a text-based user interface for interacting with a computer and its programs by inputting text called command lines. Examples of command line interfaces are Command Prompt on Windows and Terminal on MacOS.
Computer Programming: Computer programming is the process of creating a set of instructions, known as a program, that instructs a computer on how to complete a given task.
D
Data structure: A data structure is a specialised method of organising and storing data on a computer in a way that maximises efficiency. Different data structures are suited to different kinds of applications. An example of a data structure is an array, which is a linear data structure where the elements are arranged in contiguous memory locations. In an array, all the elements are of the same type. Other common data structures include linked lists, stacks, and queues.
Data types: A data type is the category of data a value belongs to, often defined by the possible values that data type can be. For example, an integer is a data type in many programming languages representing whole numbers.
Database: A database is a structured system for collecting, organising and storing information.
Debugging: debugging is the process of identifying and resolving errors in code.
Domain-specific language: A domain-specific language is a programming language used to write programs in a specific domain. R (a programming language for statistical computing and data analysis) and SQL (a programming language for managing data in relational databases) are examples of domain-specific languages.
Don’t repeat yourself: Don’t repeat yourself (DRY) is a software development principle that emphasises avoiding duplication and redundancy in software systems. Duplication can result in issues such as increased development time, inconsistencies, and more significant difficulties in making changes. An example of applying the DRY principle would be writing a function instead of repeating the same code numerous times.
E
Exception: An exception is an unexpected condition during a program's execution, often triggered when the program encounters an error or anomalous situation it cannot handle.
F
Function: A function is a block of reusable code that performs a specific task. For example, a function that takes two values multiplies them and returns the result. Functions are essential to programming as they save you from having to rewrite code.
G
General-purpose programming language: A general-purpose programming language is one that can be used to write programs in a variety of domains. Python is an example of a general-purpose programming language. It is used in a diverse range of fields including web application development, scientific computing, and artificial intelligence.
Graphical user interface: A graphical user interface (GUI) a kind of user interface that allows users to issue commands and interact with a computer system by engaging with visual components such as icons, buttons and menus.
H
High-level programming language: A high-level programming language is a type of programming language that abstracts much of the complexity associated with the computer’s hardware, such as memory management and other low-level operations. This abstraction allows programmers to write instructions in a more human-readable form. Examples of high-level programming languages include Python, R and SQL.
I
Indexing: Indexing is the process of selecting an element in a sequence, such as selecting the second element of an array.
Integrated development environment (IDE): An integrated development environment (IDE) is software that improves developer productivity by combining facilities such as a source editor, a debugger, a compiler, and an interpreter into one application.
Interpreter: An interpreter is a program that processes the source code of a high-level programming language without first converting it into machine code. Python is an example of an interpreted language.
K
Keyword: A keyword is a word predefined in the programming language that cannot be used as an identifier for a user-defined entity such as a variable or a function. For example, in Python, ‘def’ is a keyword used to define a function.
L
Library: A library is a collection of prewritten code that programmers use to streamline and optimise their coding process. Libraries provide reusable code, which prevents programmers from having to write common code from scratch, allowing them to focus on the unique aspects of their projects.
Low-level programming language: A low-level programming language is a type of programming language with little to no abstraction from a computer's machine instructions. This allows the direct manipulation of hardware elements such as memory. The term 'low-level programming language' commonly refers to machine code or assembly language. Both languages enable direct interaction with the computer's hardware.
M
Machine code: Machine code is a numerical computer code used to control a computer's central processing unit. Machine code is the lowest-level programming language.
Module: A module is a singular self-contained file of code that may include classes, functions, variables and other components. Modules organise code into discrete units, which can then be reused and distributed.
Machine learning: Machine learning is a branch of artificial intelligence that uses statistical algorithms to train computers to learn patterns and make decisions without explicit programming.
O
Object: An object is an encapsulated unit of data and behaviour that combines attributes (which hold data) and methods (which define behaviour) into a single entity. In Python (a language that supports object-oriented programming), objects are instances of classes.
Object-oriented programming: Object-oriented programming (OOP) is a programming paradigm that organises software design around the concept of objects. Objects can contain sets of data, commonly known as attributes or properties, and behaviour, widely known as methods. OOP helps enhance code reusability, simplifies code maintenance, and makes debugging easier. Python and R are examples of programming languages that support OOP.
Open-source: Open-source is a term used to refer to software that is publicly available for modification and redistribution.
Operator: An operator is a symbolic construct used to perform operations on values. For example, arithmetic operators such as + (addition) and - (subtraction) are used to perform mathematical operations.
P
Parameter: A parameter is a placeholder variable in a function’s definition. Parameters can have default values, which will be used if no value is passed to the corresponding argument when the function is called, or they can require the user to input a value when the function is called.
Package: A package is a collection of related code that is grouped together under a single name. It typically consists of a series of modules, which may include classes, functions, variables, etc. Packages are used to organise and distribute code amongst programmers. Pandas is an example of a Python package widely used in data analysis.
Programming paradigm: A programming paradigm is a fundamental style or approach to structuring a computer program. Object-oriented programming, for example, is a programming paradigm.
R
Runtime: runtime is the period during which a computer program is being executed by a computer. This phase begins when the program is launched and continues until its termination or completion.
S
Server: A server is a software system that provides information to other software systems called “clients” over a network. Servers are designed to handle client requests and deliver responses.
Source code: Source code is the human-readable text written in a programming language that defines the behaviour of a computer program. Source code can be written in many different languages, such as Python, R and SQL.
Source code editor: A source code editor is a text editor for writing and editing source code.
String: A string is a sequence of characters representing text.
Syntax: Syntax refers to the rules defining the correct code arrangement in a programming language. Different programming languages have their own syntax rules.
U
Unit testing: Unit testing is the process of systematically testing small units of code to ensure they are performing as expected. This process involves writing test cases to verify the behaviour of each unit under various conditions. Unit testing helps to isolate bugs in the code by identifying discrepancies between the actual and expected behaviour of the units.
V
Variable: A variable is a named storage location in memory that holds a value. Variables can store various types of data, including numbers and strings.
Version control: version control is the software development practice of tracking and controlling changes made to code over time. Git is the most widely used version control system.