Baud Rate
The maximum possible number of signal changes that can occur in a wire per second.
Bit Rate
The number of bits that can be sent down a wire per second.
Integer
A whole number that can be positive, negative or zero.
Examples: -3, 0, 7, 2013588.
Natural (Number)
A whole number that is either positive or zero.
Examples: 0, 1, 2, 100, 67238.
Rational (Number)
Any number that can be represented as the fraction 'a/b' where 'a' and 'b' are both integers.
Examples: -0.2, 4/5, 1, 1/3.
Irrational (Number)
Any number that cannot be represented as a fraction.
Examples: square root of 2, PI.
Real (Number)
Any number that can either be rational or irrational.
Boolean
A value that is either true or false.
String
A series of characters.
Array
A variable that can store multiple values of the same data type.
Example: Storing the high-scores of a game as integers.
Record
A variable that can store multiple values that can have different data types.
Example: Storing data about a book; a string for the title, an integer for the number of pages, etc.
Variable
A metaphor for it is that is a box that can store a specific type of item (the data type) and has a name assigned to it (the identifier). Its value can be changed during run-time of the program.
Constant
A metaphor for it is that is a box that can store a specific type of item (the data type) and has a name assigned to it (the identifier). Its value cannot be changed during run-time of the program.
Subroutine
This can be broken down into procedures and functions.
Procedure
A block of code that performs a specific task that does not return a value. Parameters can be passed into it.
Function
A block of code that performs a specific task that returns a value. Parameters can be passed into it.
Selection
This is when an if statement or select case is used to, for example, check the value of a variable.
Iteration
This is when, within the program, there is a loop.
Definite Iteration
The number of times that the program will loop is already specified.
Example: For loop.
Indefinite Iteration
The number of times the program will loop is unknown.
Example: Do loop.
Nested (structures)
This is when either iterative or selective statements are put inside of each other.
Meaningful Identifiers
Subroutines, variables and objects should have sensible names.
Real Division
Finds the value (usually as a decimal) of one number divided by another.
Integer Division
Finds the integer part of one number divided by another.
Integer Remainder
Finds the remainder of one number divided by another.
Truncation
Chops the decimal part off a number.
Floor
Rounds a number down to the nearest integer.
Ceiling
Rounds a number up to the nearest integer.
AND
Logical Operation: Returns true only when both values are true.
OR
Logical Operation: Returns true as long as at least one of the values are true.
XOR
Logical Operation: Returns true only when exactly one of the two values is true and not both.
NOT
Logical Operation: Returns true if the value is false and returns false if the value is true.
Exception Handling
When a try catch is used in the program to deal with any errors that may occur.
ByVal
When a variable is passed into a subroutine as a copy so its value will not be changed.
ByRef
When a variable is passed into a subroutine as a reference so its value can be changed.
Local (Variable)
A variable that is defined, for example, within a subroutine and cannot be viewed or modified from outside of the block of code is was declared in.
Global (Variable)
A variable that is declared, usually at the start of the program, and can be accessed and modified from anywhere at all in the program.
Recursion
A subroutine's definition contains a self-call meaning a function or procedure calls itself as a way of performing iteration.
Object-Oriented (Programming)
A type of programming paradigm when multiple objects are created and handled to run the program.
Example: In a game you might have an object for the player and then multiple objects for the enemies.
Procedural (Programming)
A type of programming paradigm when you break down a project, usually using a decomposition diagram, into individual tasks which can each be performed by a procedure.
Functional (Programming)
A type of programming paradigm that is mainly used for calculations. No variables are declared, only functions are used with parameters and return statements.
(Object) Instantiation
When an object is first created using the 'new' keyword.
(Object) Constructor
A procedure that is called once when an object is created, parameters can be passed into this procedure.
(Object) Destructor
A procedure that is called once when an object is destroyed, parameters cannot be passed into this procedure.
Methods
The subroutines that make up an object.
Attributes
Non-local variables that make up the object.
Public
The scope of a variable when it can be accessed from anywhere within the program or by any linked outside program.
Friend
The scope of a variable when it can be accessed from anywhere within the program but not from outside.
Private
The scope of a variable when it can only be accessed from within the block of code it was defined in.
Protected
The scope of a variable when it can only be accessed within the class it was defined in or by any classes that inherit it.
Encapsulation
The exposure of methods and attributes of an object while how they work is hidden. The user should only know how to use the object and not how it works.
Example: A vector object, the user should know how to use it to find the magnitude of a vector but not how the object actually finds the magnitude of a vector.
Inheritance
When one object inherits attributes and methods of another base object.
Example: You might have a base vehicle object with properties such as the number of wheels and a steering wheel and maybe methods such as drive(). You might make a specific type of vehicle that does these things above but a few extra that other vehicles don't, in this case this vehicle would inherit the base vehicle object.
Composition
When one object is made up of other objects by having them as its attributes. If the base object is destroyed, all the objects that make up the base object are also destroyed.
Aggregation
When one object is made up of other objects by having them as its attributes. If the base object is destroyed, the objects that make up the base object aren't always necessarily destroyed.
Polymorphism
When there are different subroutines with the same identifier that will perform different tasks based on their input.
Example: The add() function, when two integers are passed in, might add the two numbers together but, if two strings are input, it might concatenate them.
Static
A data type that will remain the same size.
Example: An array of fixed length 5.
Dynamic
A data type that has a size that can vary.
Example: A stack that changes size as you push and pop items to it.
Queue
An abstract data structure that is first in first out, the first item put into it will be the first item to be processed.
Enqueue
The method of a queue which adds a new item to the end of the queue.
Dequeue
The method of a queue which removes an item from the first position of the queue and shifts all the other elements forward by one.
Stack
An abstract first in last out data structure. The first item that is added is the last item that will be processed.
Push
The method of a stack that adds a new item to the top.
Pop
The method of a stack that removes the item that is at the top of the stack.
Peek
The method of a queue, stack, list, etc. It is used to look at the item that will be dealt with next without removing it.
Graph
A mathematical structure that models the relationship between pairs of objects.
Nodes,Vertices
The points in a graph where the items are located at.
Connections,Edges
The lines on a graph that connect the nodes together.
Adjacency Matrix
A way of representing which nodes are connected to each other by a structure where 1 represents a connection and 0 represents no connection.
This should be used when you do not have many nodes but have lots of connections.
Adjacency List
A table where on the left there is a list of all the nodes and on the right there is a list of the nodes that the corresponding node is connected to.
This should be used when you have a lot of nodes but not many connections.
Weighted (Graph)
A graph that has values on the connections representing how much it 'costs' to travel.
Example: A road map might be this type of graph as there will be distances on the roads.
Directed (Graph)
A graph that has connections that only allow you to travel in a single direction.
Example: A road map might be this type of graph is there is a one way street.
Tree
An abstract data structure that is very similar to a graph as it has nodes and edges. It is visualised as having a hierarchical structure with there being a single root node with all the other nodes being parents to it.
This type of graph cannot contain any loops or cycles.
Example: An OS might use it for its file structure.
Binary Tree
A tree where each node cannot have anymore than two children.
Pre-Order (Tree Traversal)
A type of tree traversal where you process the node first, then you check left node then the right node.
Use: Copying the tree.
In-Order (Tree Traversal)
A type of tree traversal where you check the left node, then process the node then the right node.
Use: Read the data in order.
Post-Order (Tree Traversal)
A type of tree traversal where you check the left and right children nodes, then you process the node.
Use: Deleting the tree.
Hash Table
A data structure usually made up of a table or array. The location of a piece of data within this structure is calculated using the data.
Example: If you are storing data about students you might use their names to find a location.
Thick (client)
A computer that has all of its applications installed on its hard-drive.
Thin (client)
A computer that uses applications stored on the cloud and typically has one piece of software (usually a browser) to access the applications.
JSON
What language is this?
{ "name":"adam", "age":"17, "subjects":[ "Computer Science", "Further Maths" ] }
XML
CRUD
An acronym that describes what every database should be able to do.
REST
The HTTP that performs the CRUD functions.
Client
A system that accesses a server.
Server
A computer that is configured to provide a service to the clients.
RAID Array
An array of hard-drives that all contain the same data. It can be used for a file server for many users to access.
Port
An addressable location on a network that links to a specific application or process.
80
The port reserved for HTTP.
25
The port reserved for SMTP.
Socket
An IP address followed by a port (IP : PORT).
Port Forwarding
A way of configuring your router to direct requests with a specific port to the correct application or process.
DHCP (Dynamic Host Configuration Protocol)
The protocol that is used by your ISP to assign your router with a new IP if your IP is dynamic.
Routable (IP)
A type of IP address that can accessed from anywhere on the internet
Nonroutable (IP)
A type of IP address that is usually located within a sub-net that cannot be accessed from the internet.
IPv4
An IP address that is represented using four octets.
IPv6
An IP address that is represented using hexadecimal.
DNS
A type of server that takes a request as a domain and returns the corresponding IP that allows you to start to 'wrap' your message using the TCP/IP protocols.
Firewall
A piece of software that can block specific ports, IP addresses and protocols and can search packets for specific strings of bits.
Dynamic (IP)
An IP address that changes when you restart your router.
Static (IP)
An IP address that stays the same when you restart your router.