Algorithm | Flowchart |
Pseudocode | Written description |
Program code | Sequence |
Selection | Iteration |
A graphical representation of an algorithm, showing the steps as boxes of various kinds, and their order by connecting them with arrows. | A step-by-step procedure for solving a problem or achieving a specific goal. |
A textual explanation of an algorithm, using natural language and/or mathematical notation. | An informal high-level description of the operating principle of a computer program or other algorithm. |
An ordered list of instructions that must be executed one after the other in a specific order. | Instructions written by a programmer in a programming language, describing the specific steps to be executed by a computer in order to perform a certain task. |
Repeating a set of instructions multiple times, either a specific number of times or until a condition is met. | A branch in an algorithm that depends on a condition being true or false, and that selects one of two or more paths to follow accordingly. |
While loop | For loop |
Nested loop | Debugging |
Algorithm | Flowchart |
Pseudocode | Written Description |
A loop that is repeated for a specific number of times, depending on the value of a counter variable. | A loop that continues to execute as long as a certain condition is true. |
The process of identifying and fixing errors or problems in a program or algorithm. | A loop that is contained within another loop, and that executes its instructions multiple times for each iteration of the outer loop. |
A graphical representation of an algorithm, using various shapes and arrows to illustrate the steps involved. | A set of instructions that solve a problem or performs a task. |
A text-based representation of an algorithm, describing the necessary steps in detail. | A high-level description of an algorithm that combines elements of a programming language with plain English. |
Program Code | Input |
Output | Control Structures |
Iteration | Selection |
Variable | Data Structure |
Data that is received by an algorithm. | The actual code written in a programming language to implement an algorithm. |
Statements that allow a programmer to direct the flow of an algorithm, such as loops and conditionals. | The result produced by an algorithm. |
Choosing a specific set of instructions to execute in an algorithm based on certain conditions. | Repeating a set of instructions multiple times in an algorithm. |
A way of organizing and storing data in an algorithm, such as arrays, lists, and trees. | A named location in memory used to store a value that may change during the execution of an algorithm. |
Algorithm | Purpose |
Function | Steps |
Identify | Explain |
Workings | Task |
The reason or intention for which something is done or created or for which something exists. | A set of instructions designed to accomplish a specific task or solve a particular problem. |
Individual instructions that make up an algorithm. | The purpose that something is created or designed for. |
To make something clear or easy to understand. | To recognize or distinguish something from others. |
A piece of work to be done or undertaken. | The operational details or mechanisms of an algorithm. |
Problem | Input |
Output | Iteration |
Syntax error | Logic error |
Trace table | Error message |
Data or information given to an algorithm. | An inquiry starting from given conditions to investigate or demonstrate a fact, result, or law. |
The process of repeating a set of instructions multiple times with different inputs or variables. | Result produced by an algorithm after processing input. |
A mistake in the way that a program or algorithm works that produces incorrect results. | A mistake in the way that code is written that prevents it from running correctly. |
Information output by a computer program in response to a problem or error. | A tool used to track the values of variables as a program or algorithm runs. |
Debugging | Variable |
Flowchart | Breakpoint |
Runtime error | Step-through |
Debugging tool | Compile error |
A named container in a program that holds a value. | The process of identifying and correcting errors in a computer program or algorithm. |
A point in a program where the execution can be paused for debugging purposes. | A diagram that represents the steps and decisions in a process or program. |
A method of debugging that involves moving through a program or algorithm one step at a time. | A mistake in the way that a program or algorithm runs that causes it to crash or terminate unexpectedly. |
A mistake in the way that code is written that prevents it from being converted into an executable program. | Any tool or feature that aids in the process of identifying and correcting errors in a computer program or algorithm. |
high-level programming languages | algorithm |
coding | syntax |
variables | statements |
loops | conditionals |
A set of instructions that specify a sequence of steps to solve a particular problem or perform a task in a high-level programming language. | A type of programming language that is designed to be easier for humans to read and write, often using English-like syntax. |
The set of rules that dictate how a programming language must be written, including punctuation, keywords, and other elements of the language's structure. | The process of writing instructions in a high-level programming language that can be executed by a computer. |
A single instruction or command in a program written in a high-level programming language. | A symbolic name that represents a value that can change during the execution of a program in a high-level programming language. |
A control structure that allows a program to make decisions based on a particular condition in a high-level programming language. | A control structure that repeats a specific set of instructions in a program until a certain condition is met in a high-level programming language. |
arrays | functions |
parameters | return |
Algorithm Design | Sequence |
Selection | Iteration |
A self-contained block of code that performs a specific task, which can be called from anywhere in a program written in a high-level programming language. | A data structure that stores a collection of elements, which can be of any type, in a particular order in a program written in a high-level programming language. |
A statement that specifies the value that a function should produce as output in a program written in a high-level programming language. | A value that is passed into a function when it is called, allowing the function to handle different inputs in a high-level programming language. |
A programming construct that defines a set of instructions that must be executed in a particular order. | The process of designing a set of instructions (algorithm) to solve a specific problem in a logical and efficient manner. |
A programming construct that enables the repetition of a set of instructions, either for a certain number of times or until a certain condition is met. | A programming construct that defines a decision-making process to determine which set of instructions should be executed based on a certain condition. |
Flowcharts | Pseudocode |
Written Descriptions | Draft Program Code |
Control Structures | Conditional Statements |
Loop Structures | Counter-Controlled Loop |
A way of expressing an algorithm using a mixture of natural language and simple code-like syntax. | A graphical representation of an algorithm that uses specific symbols and arrows to illustrate the flow of instructions. |
An initial version of the program code that includes the main structure and the main instructions to be followed. | A textual representation of an algorithm that uses a structured and concise language to describe the set of instructions that must be followed. |
Programming constructs used to perform different actions based on a specific condition, such as if-else statements and switch statements. | Programming constructs used to control the flow of instructions in a program, such as if statements, for loops, and while loops. |
A loop structure that repeats a set of instructions a predetermined number of times, based on the value of a counter variable. | Programming constructs used to repeat a set of instructions for a certain number of times or until a certain condition is met, such as for loops and while loops. |
algorithm output | determining |
correct output | data sets |
practice | input data |
evaluate | function |
The process of figuring out or calculating the output of an algorithm for a specific set of input data. | The desired result or output of an algorithm when given certain input data. |
A collection of related data points, often used to test or evaluate the effectiveness of an algorithm. | The accurate or expected result produced by an algorithm when given certain input data. |
The information or variables given to an algorithm to produce an output. | Repeating the process of determining the output of an algorithm for various sets of input data to improve understanding and accuracy. |
A set of instructions or operations that take input data and produce a desired output result. | Judging or assessing the effectiveness or accuracy of an algorithm's output based on the input data. |
variable | algorithm |
output | instruction |
Bubble sort | Merge sort |
Linear search | Binary search |
A set of instructions or operations that can accomplish a specific task or solve a problem. | A value or symbol that can change or be assigned a new value during the execution of an algorithm. |
A specific command or operation given to an algorithm to perform a task or process input data. | The result or solution produced by an algorithm when given certain input data. |
A sorting algorithm that divides the input array into halves, sorts each of those halves, and then merges them back together. | A sorting algorithm that repeatedly swaps adjacent elements if they are in the wrong order. |
A search algorithm that repeatedly divides the search interval in half until the target value is found or the search interval is empty. | A search algorithm that sequentially checks each element in a list until a match is found or the whole list has been searched. |
Algorithm | Comparison |
Swapping | Sorting |
Divide and conquer | Search |
Efficiency | Recursive function |
The act of comparing two or more things to determine their similarities or differences. | A step-by-step procedure for solving a problem or accomplishing a task. |
The process of arranging data in a particular order, usually in ascending or descending order. | The act of exchanging the positions of two elements in an array or list. |
The process of looking for a specific item in a list or array. | A problem-solving strategy where a large problem is broken down into smaller, more manageable problems that are solved independently and then combined to solve the larger problem. |
A function that calls itself within its own definition, either directly or indirectly. | The measure of how quickly an algorithm can solve a problem, usually measured in terms of time or space complexity. |
Algorithm | Data structures |
Efficiency | Selection sort |
Bubble sort | Insertion sort |
Merge sort | Quick sort |
A way of organizing and storing data in a computer program so that it can be accessed and used efficiently. | A set of instructions designed to solve a specific problem or perform a specific task in a finite amount of time. |
A sorting algorithm that sorts an array by repeatedly finding the minimum element from the unsorted part and putting it at the beginning. | The ability of an algorithm to use as few resources as possible to accomplish a task or solve a problem. |
A sorting algorithm that builds the final sorted array one item at a time by inserting each new item into its proper place. | A simple sorting algorithm that repeatedly steps through the list, compares adjacent elements and swaps them if they are in the wrong order. |
A sorting algorithm that picks an element as a pivot and partitions the array around the pivot, recursively sorting the two sub-arrays. | A sorting algorithm that sorts an array by dividing it into two halves, sorting the two halves separately, and then merging the sorted halves. |
Data values | Scenario |
Recommendation | Algorithm choice |
Fitness for Purpose | Evaluating |
Logical Reasoning | Test Data |
A situation or problem that requires a solution, often involving a specific set of data values. | Values that are used as input to algorithms or stored in data structures. |
The process of selecting the most appropriate algorithm for solving a particular problem based on the available data and efficiency considerations. | A suggestion or advice given based on knowledge and expertise, often involving the appropriate algorithm choice. |
The process of assessing and analyzing the fitness for purpose of an algorithm. | The extent to which an algorithm meets its intended requirements and objectives. |
Data used for evaluating the fitness for purpose of an algorithm, typically representing a range of possible input values and edge cases. | The ability to think and reason logically to evaluate the effectiveness of an algorithm. |
Algorithm | Requirements |
Objective | Analysis |
Assessment | Input Values |
Edge Cases | Pseudocode |
The intended objectives and constraints that an algorithm is designed to meet. | A sequence of steps or instructions for solving a problem or performing a specific task, often expressed in pseudocode or a programming language. |
The process of breaking down a complex problem into smaller parts to better understand and evaluate its effectiveness. | Clearly defined goals that an algorithm is intended to achieve. |
The data or variables that are provided as input to an algorithm for computation or processing. | The process of evaluating the fitness for purpose of an algorithm by measuring its performance against defined criteria. |
A high-level, informal description of an algorithm, often used for planning and design purposes. | Test cases that examine extreme or unusual input values that may not be typical or common. |
Problem Decomposition | Importance |
Problem-Solving | Sub-Problems |
Simplification | Decomposition Strategy |
Algorithm Design | Modular Programming |
The importance of problem decomposition lies in its ability to simplify complex problems, making them easier to solve. | Problem decomposition is the process of breaking down a complex problem into smaller, more manageable sub-problems in order to simplify the problem-solving process. |
Sub-problems are smaller, more manageable problems that arise from breaking down a complex problem using problem decomposition. | Problem-solving is the process of finding solutions to difficult or complex issues. |
Decomposition strategy is a problem-solving approach that involves breaking down a complex problem into smaller sub-problems in order to solve them more easily. | Simplification is the process of making something easier to understand or solve. |
Modular programming is a programming technique that involves breaking down a program into smaller, independent modules that can be tested and maintained separately. | Algorithm design is the process of creating a step-by-step set of instructions for solving a problem. |
Abstraction | Top-Down Design |
Bottom-Up Design | Hierarchical Structure |
Problem Analysis | Problem Requirements |
Solution Design | Algorithm |
Top-down design is a problem-solving approach that involves starting with the big picture and breaking it down into smaller, more manageable pieces. | Abstraction is a problem-solving technique that involves focusing on the essential aspects of a problem and ignoring irrelevant details. |
A hierarchical structure is a system of organization that involves dividing a problem into sub-problems, each of which can be further divided into smaller sub-problems. | Bottom-up design is a problem-solving approach that involves starting with the details and building up to the big picture. |
The specific needs and constraints of a problem that must be met in order to develop a solution | The process of examining a problem in order to understand it better, identify the requirements and constraints, and develop an appropriate solution |
A set of instructions for carrying out a specific task or solving a specific problem | The process of creating a plan or strategy to solve a problem based on the requirements and constraints identified in the problem analysis phase |
Flowchart | Pseudo-code |
Abstraction | Modularity |
Top-down approach | Bottom-up approach |
Iteration | Testing |
A simplified, high-level description of a computer program that uses a combination of natural language and programming constructs to describe the steps involved | A graphical representation of the steps and decisions involved in a process or algorithm |
The practice of breaking a complex problem or system down into smaller, more manageable components or modules that can be developed and tested independently | The process of simplifying a complex system or problem by focusing only on the most important details and ignoring the rest |
A problem-solving approach that begins with the individual tasks and then builds them up into larger and larger components until the overall structure is identified | A problem-solving approach that begins with the overall structure and then breaks it down into smaller and smaller components until the individual tasks are identified |
The process of evaluating a solution in order to identify and fix any errors or problems | The process of repeating a set of steps or actions multiple times in order to refine or improve a solution |
Abstraction | Modelling |
Real World | Process |
Simplification | Data Abstraction |
Entity | Attribute |
Creating an abstract representation of a real-world system or process in order to better understand and solve problems related to it. | The process of removing unnecessary detail, while preserving the relevant and essential characteristics to create a simplified representation of a system or process. |
A sequence of steps taken to achieve a particular goal, often involving inputs, outputs, and transformations of data and information. | The physical, non-virtual world that surrounds us, and which we seek to represent in computational models. |
A technique for representing complex data structures in a simpler, more organized way, by focusing on their essential properties and ignoring irrelevant detail. | The act of reducing the complexity and number of details associated with a system or process, in order to make it easier to understand and work with. |
A characteristic or property of an entity, which we wish to represent in a computational model using abstraction. | An object or concept that exists in the real world, and which we wish to represent in a computational model using abstraction. |
Class | Inheritance |
Encapsulation | Interface |
Programming Abstractions | Classes |
Functions | Data Structures |
A mechanism in which one class inherits the attributes and behavior of another, allowing us to represent variations and hierarchies of entities in a computational model using abstraction. | A blueprint or template for creating objects of a certain type, which we use to represent entities in a computational model using abstraction. |
The set of public methods and properties that define how an object can be interacted with, without revealing its implementation details. | The practice of hiding implementation details of an object so that users of the object only need to know its abstract interface. |
A class is a blueprint or template for creating objects in an object-oriented programming language. | Programming abstractions are techniques used to simplify complex programming problems by using abstract representations to represent common features of the problem. |
A data structure is a way of organizing and storing data in a computer so that it can be accessed and modified efficiently. | A function is a self-contained block of code that performs a specific task and returns a result. |
Object-oriented Programming | Abstraction |
Inheritance | Encapsulation |
Polymorphism | Modularity |
Function Overloading | Function Templates |
Abstraction is the process of reducing complexity by hiding unnecessary details while highlighting relevant ones. | Object-oriented programming is a programming paradigm that uses objects to represent and manipulate data and behavior. |
Encapsulation is the practice of hiding the internal details of an object from the outside world, while providing a public interface for interacting with it. | Inheritance is a mechanism in object-oriented programming that allows a new class to be based on an existing class, inheriting its methods and properties. |
Modularity is the practice of breaking a program down into smaller, more manageable pieces, or modules, that can be independently developed, tested, and maintained. | Polymorphism is the ability of an object to take on many forms, depending on the context in which it is used. |
Function templates are a mechanism in C++ that allow the creation of generic functions that can work with many different data types. | Function overloading is the process of defining multiple functions with the same name but with different parameters. |
Problem Decomposition | Abstraction |
Modularization | Top-Down Design |
Bottom-Up Design | Divide and Conquer |
Recursion | Algorithm |
The process of focusing on the important information and ignoring irrelevant details. | The process of breaking down a large and complex problem into smaller, more manageable sub-problems that are easier to solve. |
A problem-solving approach that starts with a high-level view of the problem and gradually breaks it down into smaller and more manageable sub-problems. | The process of dividing a system into smaller, independent components or modules that can be developed and tested separately. |
A problem-solving approach that involves dividing a problem into smaller and more manageable sub-problems, solving each sub-problem separately, and then combining the solutions to solve the original problem. | A problem-solving approach that starts with small and simple sub-problems and gradually builds them up into a complete solution. |
A step-by-step procedure for solving a problem or achieving a specific goal. | A problem-solving technique that involves solving a problem by breaking it down into smaller instances of the same problem until a base case is reached. |
Pseudocode | Flowchart |
Debugging | Testing |
Readable code | Comments |
Descriptive names | Indentation |
A graphical representation of the steps involved in solving a problem or achieving a specific goal, using symbols and arrows to indicate the flow of control. | A high-level description of the steps involved in solving a problem or achieving a specific goal, using a combination of natural language and programming-like syntax. |
The process of running a program or system to identify errors or problems and ensure that it meets its specified requirements. | The process of identifying and correcting errors or bugs in a program. |
Text added to code that explains what the code does. Comments can help others understand the code and make it more readable. | Code that is easy to read and understand, which makes it more maintainable and efficient. |
The use of spaces or tabs to visually indent code. Indentation makes the code more readable and helps others understand the structure of the code. | The use of descriptive names for variables, constants, and subprograms in code. Descriptive names make the code more understandable and reduce the need for comments. |
Whitespace | Consistent style |
Simplicity | Modularity |
Refactoring | Documentation |
Code review | Testing |
The use of a consistent style in code, such as consistent indentation and naming conventions. Consistent style makes the code more readable and reduces confusion. | Empty space between characters in code. The use of whitespace can improve readability and make the code easier to understand. |
The practice of breaking code into smaller, more manageable pieces called modules. Modularity makes the code more readable and maintainable. | The practice of keeping code simple and easy to understand. Simple code is easier to maintain and debug. |
The practice of writing documentation for code, such as user guides and technical manuals. Documentation makes the code more understandable for others who may work on the code in the future. | The process of improving the structure and readability of existing code. Refactoring can make code easier to understand and maintain. |
The process of testing code to ensure that it performs as expected. Well-tested code is more maintainable and readable. | The process of reviewing and critiquing code written by others. Code review can identify areas for improvement and improve code readability. |
Programming Error | Logic Error |
Syntax Error | Runtime Error |
Debugging | Breakpoints |
Traceback | Variable |
A type of programming error that occurs when the code runs without producing any error messages, but does not produce the desired output due to flawed logic. | A mistake made by the programmer in the process of writing a computer program that prevents the code from running or achieving the desired result. |
A type of programming error that occurs during the execution of a program, resulting in an unexpected program termination or abnormal behavior. | A type of programming error that occurs when the code fails to follow the rules of the programming language, resulting in a compile-time error. |
A debugging tool used to stop the execution of a program at a specific point in the code, allowing the programmer to examine the state of the program and variables. | The process of finding and fixing errors or bugs in computer programs. |
A named storage location in a computer program that stores a value or a reference to a value. | A list of function calls that shows the path of execution of a program leading up to an error or exception. |
Value | Reference Error |
Syntax Analyzer | Exception |
Test plans | Test data |
Program validation | Normal data |
A type of runtime error that occurs when a program tries to access a variable or object that does not exist or has not been initialized. | Data that is assigned to a variable in a computer program, such as a number, string, or object reference. |
An unexpected event or error that interrupts the normal flow of execution of a program. | A tool used to parse and analyze the syntax of a program to check for errors and ensure that it complies with the rules of the programming language. |
The input values and test cases that are used to check the correctness and accuracy of a program during testing. | A detailed document that outlines the strategies, methods, tools, and resources required to verify and validate the functionality of a program. |
Test data that conforms to the expected or typical input values and conditions for a program. | The process of testing and verifying a program's functionality, reliability, usability, and security before it is released or deployed. |
Boundary data | Erroneous data |
Test plan design | Test plan execution |
Test case | Test suite |
Test coverage | Debugging |
Test data that contains mistakes, errors, or invalid values that are intentionally used to check whether the program can detect and handle them correctly. | Test data that falls on or near the minimum and maximum input values for a program and tests whether the program can handle them correctly. |
The process of carrying out the test plan and recording the results and observations for each test case. | The process of creating and organizing a test plan based on the program's specifications, requirements, and objectives. |
A collection of related test cases that are designed to test a certain functionality or module of the program. | A specific type of test scenario or input combination that is designed to evaluate a certain aspect or feature of the program. |
The process of identifying, analyzing, and fixing errors or faults in a program during testing or development. | The degree to which a test plan and its associated test cases cover all the possible input values, conditions, and features of a program. |
Error Message | Syntax Error |
Logic Error | Debugging |
Compile Error | Runtime Error |
Exception Handling | Breakpoint |
An error in the syntax of a program that prevents it from running correctly. This often occurs when there is a typographical error such as a missing or extra character or incorrect use of punctuation. | A message produced by a computer program that indicates an error or a problem with the program. It often includes details about the error such as the line number and type of error. |
The process of finding and fixing errors in a program. This involves identifying the location of the error, understanding what caused it, and correcting the code to resolve the problem. | A type of error in a program that occurs when the code itself is not logically sound and does not produce the expected result. This often occurs when there is an error in the program's algorithm or data structure. |
An error that occurs during the execution of a program. This can occur due to various reasons such as incorrect or unexpected input, out of memory errors, or division by zero errors. | A type of error that occurs during the compilation process when the code is transformed from source code to executable code. This often occurs when there is a syntax error or other problem with the code. |
A point in the code where execution can be paused during debugging in order to inspect program state, values of variables, and step through lines of code. | A programming construct that allows for the detection and handling of errors that occur during program execution. It allows for the program to gracefully handle errors and recover from them. |
Step Through | Try-Catch Block |
Stack Trace | Debugging Tool |
Trace Table | Variable |
Value | Debugging |
A programming construct used to catch exceptions during execution of a program. Code within the try block is executed, and if an exception is caught, the catch block is executed to handle the error. | A debugging process where code is executed line by line, allowing the programmer to observe the program's state and values of variables at each step. |
A software program or feature that helps programmers detect and fix errors in their code. Examples of debugging tools include IDEs, debuggers, and profilers. | A printout of the function calls that led up to the error or exception. This can help identify the root cause of the error and locate where it occurred in the code. |
A named storage location in a computer program. | A tool used to determine the value of a variable at a specific point in a program. |
The process of identifying and removing errors from software programs. | A data stored in a program variable. |
Table Header | Table Entry |
Initial Value | Assignment Statement |
Variable Scope | Execution Order |
Iteration | Conditional Statement |
A row in a trace table that shows the values of all variables at a specific point in the program. | The top row of a trace table that lists the names of all variables in the program. |
A statement in a program that assigns a value to a variable. | The value of a variable before the start of a program or at the beginning of a block. |
The order in which statements in a program are executed. | The region of a program where a variable is accessible. |
A statement in a program that performs an action based on a condition. | The repetition of a set of statements in a program. |
High-level programming language | Syntax |
Structure | Compiler |
Interpreter | Variables |
Data types | Control structures |
The set of rules that define the structure and format of a programming language. | A programming language that abstracts complex details of the underlying hardware and operating system, making it easier to write, read and maintain programs. |
A software tool that translates source code written in a high-level programming language into machine code that can be executed by a computer. | The arrangement of programming language elements to form a correct and valid program. |
Storage containers that hold values used by a program. | A software tool that executes high-level language programs directly without translating them into machine code. |
Programming language constructions used to control the flow of program execution, such as loops and conditionals. | The classification of data items based on the type of value they hold, such as string, integer, or floating-point number. |
Functions | Object-oriented programming |
Debugging | IDE |
Readability | Indentation |
Comments | Descriptive names |
A programming paradigm that uses objects to represent and interact with data and other objects, with an emphasis on encapsulation, inheritance and polymorphism. | Reusable blocks of code that perform specified operations and can be called from different parts of a program. |
Integrated Development Environment, a software application that provides comprehensive facilities to computer programmers for software development. | The process of discovering and correcting problems in a program. |
The use of spaces or tabs to arrange code in a way that makes it easier to read and follow. | The ease with which code can be understood and modified by other programmers. |
Meaningful names given to variables, constants, and subprograms that make their purpose immediately clear. | Text added to code to explain what the code is doing and why it is doing it. |
Camel Case | Pascal Case |
Snake case | Procedural abstraction |
Refactoring | Boolean |
Logical operators | Control flow |
A naming convention in which multiple words are concatenated and the first letter of each is capitalized. | A naming convention in which multiple words are concatenated and the first letter of each is capitalized except the first. |
The process of breaking down complex code into simpler, more manageable units. | A naming convention in which multiple words are concatenated and separated by underscores. |
A data type that can only take on the values true or false. | The process of restructuring existing code to improve its readability, performance, and/or maintainability. |
The order in which statements are executed in a program, often dictated by conditional statements and loops. | Operators used to combine and manipulate Boolean values, such as AND, OR, and NOT. |
Programming errors | Syntax errors |
Logic errors | Runtime errors |
Debugging | Breakpoints |
Variable | Syntax |
Errors caused by violating the programming language's rules of syntax or grammar. | Mistakes made by programmers while writing code that prevent the program from running correctly. |
Errors that occur while the program is running, caused by unforeseen situations such as invalid user input or hardware malfunctions. | Errors caused by incorrect logic or reasoning in the program's algorithm. |
Markers set by the programmer in the code where the program execution will pause to allow debugging. | The process of finding and fixing errors in a program. |
The set of rules that define the structure of a programming language. | A location in memory where a programmer can store a value for later use in the program. |
Algorithm | Logic |
Compilation | Interpreter |
Error message | Syntax error |
Logic error | Runtime error |
The reasoning process used by a programmer to create a program's algorithm. | A step-by-step procedure for solving a problem or achieving a goal in a computer program. |
A program that directly executes source code, translating it one line at a time. | The process of translating human-readable code into machine-executable code by a compiler program. |
A type of error caused by incorrect use of programming language syntax. | A message displayed by the computer when a program encounters an error while running. |
A type of error that occurs during the execution of a program. | A type of error caused by incorrect programming logic that produces unexpected or incorrect results. |
Debugging | Breakpoint |
Step over | Step into |
Watch window | Debugging tool |
Logic | Programming language syntax |
A marker set by a programmer in a program's source code that pauses program execution when reached. | The process of finding and fixing errors in programs. |
A debugging technique that allows you to step inside functions and subroutines. | A debugging technique that executes the current line of code and stops at the next line of code. |
A program or feature that assists in finding and fixing errors in programs. | A debugging tool that displays the value of a variable while the program is running. |
The set of rules or grammar for writing programs in a programming language. | The set of rules or principles that govern the behavior of a program. |
Trace Tables | Variable Values |
Execution | Program |
State | Algorithm |
Iteration | Conditionals |
The value a variable holds at a specific point in a program | A table used to systematically trace the values of variables in a program as it executes |
A set of instructions that a computer follows to perform a specific task | The process of running a program |
A set of instructions or steps for solving a problem | The values of all variables at a specific point in a program |
Statements in a program that only execute if a certain condition is met | The process of repeating a set of instructions a certain number of times or until a certain condition is met |
Boolean | Debugging |
Syntax | Semantic |
Performance | Functionality |
Evaluation | Testing |
The process of identifying and fixing errors in a program | A data type that has only two possible values: true or false |
The meaning of code and how it executes | The set of rules that dictate how code must be structured and written in a programming language |
Refers to the range of features a program provides to carry out specific tasks | The measure of how well a program executes its tasks within a given time frame |
A technique used to evaluate a program's functionality and detect errors or defects | The process of examining a program's performance and functionality to determine its strengths and weaknesses |
Debugging | Bottleneck |
Optimization | Refactoring |
Documentation | Usability |
Backward compatibility | Beta testing |
A point in the program where performance is degraded due to resource limitations | The process of finding and eliminating errors or defects in a program |
The process of restructuring a program's internal structure to improve its maintainability and flexibility | The process of improving the efficiency of a program by reducing its resource requirements |
The extent to which a program is user-friendly and efficient to use | The process of creating records that describe a program's functionality, design, and usage |
A form of testing where the program is released to a limited audience to gather feedback and detect defects | The ability of a program to run on older versions of its operating system or hardware |
Sequencing | Selection |
Iteration | Loop |
Conditional | Boolean |
Function | Argument |
A programming structure that allows a program to execute different sets of instructions depending on whether a certain condition is true or false. | The process of executing a series of statements one after another in the order in which they are written. |
A programming structure that repeats a set of instructions until a certain condition is met. | A programming structure that repeats a set of instructions a specific number of times, or until a certain condition is met. |
A data type that can only have two values: true or false. | A programming structure that allows a program to execute different sets of instructions depending on whether a certain condition is true or false. |
A value that is passed to a function when it is called, allowing the function to work with that value. | A set of instructions that performs a specific task. Functions help to keep code organized and more manageable. |
Parameter | Variable |
Increment | Decrement |
Variable Declarations | Type Declarations |
Command Sequences | Selection |
A named storage location in a program where data can be stored and retrieved. | A value that is specified in a function definition, representing a value that the function will need to work with when it is called. |
To decrease the value of a variable by a certain amount. | To increase the value of a variable by a certain amount. |
A statement that defines the data type of a variable. This can be used to specify what kind of data is stored in the variable, such as an integer or a string. | A statement that defines a variable and assigns it a value. Variables store data that can be used in a program. |
A programming construct that allows a program to make decisions based on certain conditions. This can be achieved using keywords such as if, else and switch statements. | A series of program statements or instructions that are executed one after the other. These can be used to carry out a set of operations or calculations. |
Iteration | Data Structures |
Subprograms | Syntax |
Purpose | Appropriate Use Cases |
Variable | Type Declaration |
A way of organizing and storing data in a program. This can be achieved using arrays, lists and other data structures. | The repetition of a set of program statements or instructions until a certain condition is met. This can be achieved using loops such as for and while loops. |
The set of rules that govern the structure of program statements or instructions. This determines how statements must be written and formatted in order for them to be executed correctly. | A named section of a program that performs a specific task. These can be used to modularize code and make it easier to maintain. |
The situations or problems for which a particular structural component is best suited. This can depend on factors such as the nature of the data being processed and the desired outcome of the program. | The reason for using a particular structural component in a program. This can vary depending on the context and goal of the program. |
The process of defining the type of a variable | A name given to a memory location to store data |
Command Sequence | Selection |
Iteration | Data Structure |
Subprogram | Boolean |
Integer | Float |
A programming structure used to make decisions between different options | A series of commands executed in a predefined order |
A way of organizing and storing data for efficient access and modification | A programming structure used to repeat a sequence of instructions multiple times |
A data type that can represent either true or false | A self-contained unit of code that performs a specific task |
A data type that can represent decimal numbers | A data type that can represent whole numbers |
Array | Function |
Sequencing | Selection |
Iteration | Control structure |
Loop | Conditional |
A subprogram that returns a value and can be called from other parts of the program | A data structure that stores a collection of elements of the same type |
A control structure in programming where the program chooses which action to take based on specified conditions. | The process of putting a group of commands in a specific order so that they can be executed in that order. |
A programming language feature that controls the order in which statements are executed. | A control structure in programming that allows the program to execute a block of code repeatedly as long as a specified condition is true. |
A control structure in programming that allows the program to make decisions based on specified conditions. | A control structure in programming that repeats a block of code until the specified condition is false. |
Function | Efficient program |
Effective program | Identifying |
Building | Program efficiency |
Integer | Real |
A program that accomplishes its task with minimal use of resources, usually in terms of time and memory usage. | A reusable block of code that performs a specific task. |
The process of recognizing, distinguishing, and understanding the characteristics of a specific control structure needed to solve a task. | A program that accomplishes its task correctly and in the most logical and efficient way possible. |
The ability of a program to complete its task using as few resources as possible, such as time, memory, or processing power. | The process of creating a program or software by composing, integrating, and testing individual functional components. |
A data type that represents a decimal number. | A data type that represents a whole number. |
Boolean | Char |
String | Byte |
Double | Float |
Long | Short |
A data type that represents a single character. | A data type that represents True or False values. |
A data type that represents a number between 0 and 255. | A data type that represents a sequence of characters. |
A data type that represents a floating-point number with single precision. | A data type that represents a floating-point number with double precision. |
A data type that represents a small integer. | A data type that represents a large integer. |
Array | Object |
Records | Fields |
Arrays | One-dimensional arrays |
Two-dimensional arrays | Index |
A data type that represents an instance of a class. | A data structure that stores a collection of elements of the same data type. |
Individual pieces of data in a record. | Collections of related data items that are grouped together for easier processing. |
Arrays that store data in a single row or single column. | Collections of data items that are stored together under a single name. |
A number that identifies the position of an item in an array. | Arrays that store data in multiple rows and columns, forming a grid or matrix. |
Element | Initialization |
Accessing | Traversal |
Sorting | Searching |
String | Concatenation |
The process of assigning initial values to an array. | An individual item that is stored in an array. |
The process of visiting all elements of an array in a sequential order. | The process of retrieving an element at a given index from an array. |
The process of finding a specific element in an array. | The process of arranging the elements of an array in a specific order. |
The process of joining one or more strings together to create a new string. | A sequence of characters. In programming, strings are usually enclosed in quotation marks. |
Indexing | Substring |
Length | Upper case |
Lower case | Replace |
Split | Join |
A smaller string extracted from a larger string. Substrings are created by specifying the start and end indexes of the desired characters. | The process of accessing individual characters within a string using an index number. |
A string with all characters in upper case letters. | The number of characters in a string. |
The process of replacing one or more substrings in a string with a new substring. | A string with all characters in lower case letters. |
The process of combining multiple strings into a single string, separated by a delimiter. | The process of breaking a string into multiple substrings based on a delimiter. |
Reverse | Trim |
Global Variables | Local Variables |
Subprograms | Parameter |
Scope | Global scope |
The process of removing leading and trailing white spaces from a string. | A string with the order of its characters reversed. |
Variables that are declared inside a subprogram and can only be accessed and modified within that subprogram. | Variables that can be accessed and modified by any part of the program. |
A value that is passed to a subprogram when it is called, which can be used as input for the subprogram. | A section of code that performs a specific task and can be called by other parts of the program. |
The part of the program where a global variable can be accessed. | The part of the program where a variable can be accessed. |
Local scope | Variable naming conventions |
Variable shadowing | Variable lifetime |
Pass by value | Pass by reference |
Variables | Constants |
Rules for naming variables, including using descriptive names and following a consistent style. | The part of the program where a local variable can be accessed. |
The duration for which a variable exists in the program. | When a local variable has the same name as a global variable, and the local variable is used instead of the global variable within the local scope. |
A method of passing parameters to a subprogram where the memory location of the parameter is passed to the subprogram, allowing the subprogram to modify the original value. | A method of passing parameters to a subprogram where the value of the parameter is copied and passed to the subprogram. |
Containers that hold data that cannot be changed during the execution of a program. | Containers that hold data that can be changed during the execution of a program. |
Declare | Python |
Variable vs. Constant | Naming conventions |
Data types | Integer |
Float | String |
A high-level, interpreted programming language commonly used for data analysis, web development, and artificial intelligence. | To assign a name to a variable or constant, and possibly specify its data type. |
Rules for choosing descriptive and readable names for variables and constants, such as using all lowercase letters and underscores to separate words. | Variables can be changed during program execution, while constants cannot. |
A data type that holds whole numbers (positive, negative, or zero) in Python. | The different kinds of data that can be stored in a variable or constant, such as numbers, strings, and booleans. |
A data type that holds a sequence of characters (letters, numbers, and symbols) in Python. | A data type that holds decimal numbers (floating-point numbers) in Python. |
Boolean | Syntax |
User Input | Code |
Accepting Input | Responding to Input |
Variables | Data Types |
The set of rules for writing statements or expressions in a programming language, including punctuation, indenting, and order of keywords. | A data type that holds either True or False (representing on/off or yes/no) in Python. |
A language used to communicate instructions to a computer for it to perform a specific task. | The data entered into a program by the user during its execution. |
The process by which a program provides output in response to user input. | The process by which a program receives input data from a user. |
A classification of the type of data that a variable can hold in a program. Examples include integers, strings, and Boolean. | A quantity that can assume any of a set of values, typically used in a program to store input and output values. |
User Interface | Input Validation |
Conditional Statements | Loops |
Event-driven Programming | User Feedback |
Validation | Importance of validation |
The process of checking user input for accuracy and usability before processing it further in a program. | The means by which a user interacts with a computer program, typically through a graphical interface. |
A programming structure that allows a section of code to be repeated a certain number of times or until a specific condition is met. | A programming structure that allows the code to take one of two or more paths based on a given condition. |
Information provided to a user regarding the status of the program or the success of an action performed by the user. | A programming paradigm that allows the program to respond to user actions or events, such as clicking a button or pressing a key. |
Understanding the value of data validation such as avoiding errors, ensuring data consistency, and increasing data accuracy. | The process of checking whether the data entered by the user is correct and suitable for the intended purpose. |
Methods of implementing validation | Data type validation |
Range validation | Length validation |
Verification | Difference between validation and verification |
Input validation | Output validation |
Ensuring that data entered by the user is of the correct type, such as numbers, letters, or dates. | Ways to validate data such as data type validation, range validation, and length validation. |
Ensuring that the data entered by the user is of a certain length, e.g. a password must be at least 8 characters long. | Ensuring that the data entered by the user falls within a permissible range of values. |
Where validation ensures that data entered is correct, verification ensures that the software works as expected. | The process of checking whether the software or system meets the requirements and specifications. |
Ensuring that the results generated by the software are correct and valid for the intended purpose. | Ensuring that the data entered by the user is valid, before proceeding with the further processing. |
Error message | Sanitization |
Text file | Reading |
Writing | Python |
File operations | Implement |
The process of cleaning user inputs to prevent code injections and other malicious attacks. | Notifications or prompts displayed when the data entered is invalid or incorrect. |
The process of extracting data from a file and loading it into a program or application. | A file that stores data in a format that can be read and edited using a text editor or word processor. |
A high-level programming language used in various applications, including web development, scientific computing, and data analysis. | The process of saving or outputting data from a program or application to a file. |
To put into action or effect, such as using programming code to perform a desired function or task. | The various actions that can be performed on a file, including reading, writing, renaming, copying, and deleting. |
Data storage | Text editor |
Word processor | Extracting |
Loading | Outputting |
User Input | Input Prompt |
A software application used for creating, editing, and formatting text-based files, typically without rendering them as images or layouts. | The process of storing and preserving data, such as in a file or database, for later use or retrieval. |
The process of selecting and copying specific data from a larger set of information, such as a file or database. | A software application used for creating, editing, and formatting text-based documents that can include images, tables, charts, and other visual elements. |
The process of transferring or exporting data from one location or format to another, such as from a program or application to a file. | The process of transferring or importing data from one location or format to another, such as from a file to a program or application. |
A message that directs the user to provide specific input in order to interact with a program. | Data provided by a user that is used by a program to make decisions or perform actions. |
Input Validation | Input Encoding |
Input Handling | Output |
String | Integer |
Float | Boolean |
The process of converting user input into a format that can be used by a program, such as ASCII or Unicode. | The process of checking that user input is of the correct format or within certain parameters before using it. |
Data displayed to the user by a program in response to input or other actions. | The process of accepting and processing user input in a program. This includes validation and error handling. |
A whole number used in programming to represent quantities such as counts or indexes. | A sequence of characters, typically used to represent words, phrases, or other text data in a program. |
A data type that can have one of two values: true or false. | A number with a decimal point used in programming to represent real numbers or measurements. |
Variable | Control Structure |
Text files | Read |
Write | Open |
Close | File pointer |
A programming construct that directs the flow of execution in a program based on conditions or loops. | A named storage location in a program that can hold data and be referenced or manipulated by the program. |
The process of accessing and retrieving data from a file. | A type of file that stores the data in human-readable text format. |
The process of establishing a connection between the program and the file to be read or written. | The process of saving or storing data into a file. |
A pointer used to keep track of the current position of data being read or written in a file. | The process of terminating the connection between the program and the file after reading or writing. |
End-of-file | Text mode |
Binary mode | Buffering |
Flush | Error handling |
Arithmetic Operators | Addition Operator |
A mode in which the data is read or written as text, and new-line characters are treated specially. | A condition that occurs when the program has reached the end of a file while reading. |
The process of temporarily storing data in a buffer before reading or writing it to a file. | A mode in which the data is read or written as binary, and no special treatment is given to new-line characters. |
The process of handling errors that may occur while reading or writing to a file. | The process of writing the buffered data to the file. |
A binary operator used to add two numbers together | A set of mathematical operations that can be performed on numeric values |
Subtraction Operator | Multiplication Operator |
Division Operator | Modulus Operator |
Integer Division Operator | Operator Precedence |
Associativity | Operand |
A binary operator used to multiply two numbers together | A binary operator used to subtract one number from another |
A binary operator used to return the remainder of a division operation | A binary operator used to divide one number by another |
The order in which arithmetic operations are performed | A binary operator used to divide two integers and return the quotient without any remainder |
A value on which an operation is performed | The order in which arithmetic operations with the same precedence are performed |
Unary Operator | Binary Operator |
Relational operators | Equal to |
Less than | Greater than |
Not equal to | Less than or equal to |
An operator that operates on two operands | An operator that operates on a single operand |
A relational operator used to compare values. It returns true if the values being compared are equal. | Symbols used to compare values in programming. They include equal to, less than, greater than, not equal to, less than or equal to, and greater than or equal to. |
A relational operator used to compare values. It returns true if the first value is greater than the second value. | A relational operator used to compare values. It returns true if the first value is less than the second value. |
A relational operator used to compare values. It returns true if the first value is less than or equal to the second value. | A relational operator used to compare values. It returns true if the values being compared are not equal. |
Greater than or equal to | Comparison |
Boolean | Conditional statement |
Variable | Syntax |
Arithmetic Operators | Addition |
The act of comparing two or more values in programming using relational operators to determine if they are equal, less than, greater than, or not equal to each other. | A relational operator used to compare values. It returns true if the first value is greater than or equal to the second value. |
A programming construct that executes code only if a certain condition evaluates to true. Relational operators are often used to create conditional statements. | A data type in programming that can have one of two values: true or false. Relational operators return boolean values. |
The set of rules that govern the structure of code in programming. Relational operators must be used correctly in order to conform to the syntax of a programming language. | A named location in memory that stores a value in programming. Relational operators can be used to compare the values stored in variables. |
Addition is an arithmetic operator that adds two or more numerical values together to produce their sum. | Arithmetic operators are symbols used in computer programming, including addition (+), subtraction (-), multiplication (*), division (/), modulus (%), and integer division (//), to perform mathematical operations on numerical values. |
Subtraction | Multiplication |
Division | Modulus |
Integer Division | Operator Precedence |
Associativity | Unary Operators |
Multiplication is an arithmetic operator that multiplies two or more numerical values together to produce their product. | Subtraction is an arithmetic operator that subtracts a value from another value to produce their difference. |
Modulus is an arithmetic operator that returns the remainder of a division operation. | Division is an arithmetic operator that divides a value by another value to produce their quotient. |
Operator precedence is the order in which arithmetic operators are evaluated in a mathematical expression. | Integer division is an arithmetic operator that divides a value by another value, rounding down to the nearest whole number. |
Unary operators are operators that act on a single operand, such as negation (-) or logical not (!). | Associativity is the order in which arithmetic operators are evaluated when they have the same precedence. |
Binary Operators | Expression |
Relational operators | Equals (==) |
Not equals (!=) | Greater than (>) |
Less than (<) | Greater than or equal to (>=) |
An expression is a sequence of values, variables, and operators that can be evaluated to produce a single value. | Binary operators are operators that act on two operands, such as addition (+), subtraction (-), multiplication (*), or division (/). |
A relational operator used to compare two values for equality. | A type of operator that compares two values and returns either true or false based on the comparison. |
A relational operator used to compare two values to determine if one is greater than the other. | A relational operator used to compare two values for inequality. |
A relational operator used to compare two values to determine if one is greater than or equal to the other. | A relational operator used to compare two values to determine if one is less than the other. |
Less than or equal to (<=) | Logical operators |
AND (&&) | OR (||) |
NOT (!) | Expression |
Logic Operators | AND Operator |
Operators used to combine relational operators to produce complex expressions. | A relational operator used to compare two values to determine if one is less than or equal to the other. |
A logical operator that returns true if one of the statements is true. | A logical operator that returns true if both statements are true. |
A combination of values, operators, and functions that evaluates to a value. | A logical operator that reverses the result of a relational expression. |
A logic operator that returns true if both conditions it connects are true | A method of combining conditional statements to evaluate true or false |
OR Operator | NOT Operator |
Operand | Truth Table |
Precedence | Boolean Value |
Conditional Statement | Logical Expression |
A logic operator that returns true if the condition it operates on is false | A logic operator that returns true if either of the conditions it connects are true |
A table that shows all the possible outcomes of a logic expression | A value or expression used in conjunction with a logic operator |
A value that can only be true or false | The order in which logic operators are evaluated in an expression |
A combination of conditional statements connected by logic operators | A statement that is evaluated as either true or false |
Short-circuit Evaluation | De Morgan's Laws |
Subprogram | Advantages of subprograms |
User-defined subprograms | Built-in subprograms |
Library subprograms | Function |
A set of rules that describe how to negate a logical expression | The process of evaluating logical expressions by stopping as soon as the outcome can be determined |
They allow for code reusability, readability, and easier maintenance | A sequence of instructions that performs a specific task and can be reused by calling it multiple times |
Subprograms that come pre-installed with the programming language and can be used without any additional configuration | Subprograms that are created by the programmer for specific tasks |
A type of subprogram that returns a value | Subprograms that are included in external libraries and can be used by importing the library |
Procedure | Parameter |
Argument | Local variable |
Global variable | Call |
Subprogram | Parameter |
A value or variable that is passed into a subprogram and used as input | A type of subprogram that does not return a value |
A variable that is declared within a subprogram and can only be accessed within that subprogram | A value or variable that is passed into a subprogram as input |
The act of invoking a subprogram within a program | A variable that is declared outside a subprogram and can be accessed from any part of the program |
A value passed into a subprogram to be used during its execution. | A self-contained block of code that can be called by other parts of a program. |
Input Parameters | Output Parameters |
Function | Procedure |
Call | Argument |
Variable Scope | Local Variable |
Values that are returned by a subprogram when it is executed. | Values that are passed into a subprogram when it is called. |
A subprogram that does not return a value. | A subprogram that returns a value. |
A value passed into a subprogram when it is called. | The action of executing a subprogram. |
A variable that is declared and used within a subprogram. | The area of code where a variable can be accessed. |
Global Variable | Recursion |
The process of a subprogram calling itself. | A variable that can be accessed from anywhere in a program. |
Subprogram | Modularity |
The practice of breaking down a complex problem into smaller, more manageable parts (subprograms). | A self-contained, named block of code that performs a specific task and can be reused when needed. |
Abstraction | Code reuse |
Maintainability | Function |
Procedure | Parameter |
Argument | Library |
The practice of using existing code (subprograms) to avoid duplicating effort and improve efficiency. | The ability to hide complex implementation details behind a simple interface, making it easier for users to work with. |
A type of subprogram that returns a value and can be used in expressions. | The ease with which code (including subprograms) can be modified, updated, and debugged over time. |
A variable passed to a subprogram that is used as input for calculations or other tasks. | A type of subprogram that performs a specific task, but does not return a value. |
A collection of pre-existing subprograms that can be used by programmers to avoid writing common code from scratch. | The value passed to a subprogram as input for a parameter. |
Header | Body |
Subprogram | Parameters |
Function | Procedure |
Argument | Return |
The part of a subprogram that contains the actual code that performs the task specified in the header. | The part of a subprogram that declares the name of the subprogram, the parameters it takes, and the data type it returns. |
Values passed to a subprogram when it is called or invoked to perform a specific task. | A self-contained block of code that performs a specific task and can be invoked multiple times from any part of the program. |
A subprogram that performs a specific task and does not return a value, and can be called or invoked from other parts of the program. | A subprogram that returns a value and can be called or invoked from other parts of the program. |
The value that a subprogram sends back to the calling part of the program after completing its task. | A value passed to a subprogram as one of its parameters when it is called or invoked. |
Call | Input |
Output | Local variables |
Global variables | Parameter passing mechanisms |
Subprograms | Passing Data |
Data provided to a subprogram as one of its parameters to perform a specific task. | To invoke or execute a subprogram from another part of the program. |
Variables declared inside a subprogram and only accessible within that subprogram. | Data returned by a subprogram after completing its task and sent back to the calling part of the program. |
The way in which parameters are passed to a subprogram, including call-by-value and call-by-reference. | Variables declared outside of any subprogram and can be accessed and modified from any part of the program. |
The process of sending input data to a subprogram and receiving output data from a subprogram. | A set of instructions that performs a specific task within a program and can be reused whenever necessary. |
Parameters | Arguments |
Return Value | By Value |
By Reference | Procedures |
Functions | Void |
Values passed as input data to a subprogram from the calling program. | Variables used in a subprogram to receive input data from the calling program. |
Passing input data to a subprogram by making a copy of the data in a new memory location. | The output data returned from a subprogram to the calling program. |
Subprograms that do not return a value but perform a specific task within a program. | Passing input data to a subprogram by using the memory location of the original data. |
A data type used for procedures that do not return a value. | Subprograms that return a value after performing a specific task within a program. |
Scope | Global Variables |
Binary | Denary |
Binary-Denary Conversion | Bit |
Decimal | Binary Number |
Variables that can be accessed and manipulated from any part of a program. | The area of a program where a variable can be accessed and manipulated. |
A numbering system consisting of 10 digits (0-9). | A numbering system consisting only of 0's and 1's. |
The smallest unit of data in a computer, representing a single 0 or 1. | The process of converting a number from binary to denary, or denary to binary. |
A number expressed in the binary numbering system. | Another name for the denary numbering system. |
Denary Number | Convert |
Place Value | Binary Digit |
Radix | Base 2 |
Binary | Arithmetic |
To change a number from one numbering system to another. | A number expressed in the denary numbering system. |
Another name for a bit, representing a single 0 or 1 in a binary number. | The value of a digit in a number, determined by its position. |
Another name for the binary numbering system, due to its base of 2. | Another term for the base of a numbering system. |
A branch of mathematics that deals with the properties and relationships of numbers. | A number system consisting of two digits, 0 and 1. |
Overflow | Shift |
Addition | Subtraction |
Multiplication | Division |
Binary Representation | Signed Binary Representation |
To move the bits of a binary number to the left or right. | The result of an operation exceeds the range of values that can be represented with a given number of bits. |
A binary arithmetic operation that finds the difference between two values by subtracting their digits. | A binary arithmetic operation that combines two values into a single value by adding their digits. |
A binary arithmetic operation that finds the quotient of two values by dividing their digits. | A binary arithmetic operation that finds the product of two values by multiplying their digits. |
A method of representing positive and negative numbers in binary form. | The representation of a number in binary (base 2) form. |
Two's Complement | Real-world Problems |
Binary | Bit |
Byte | ASCII |
Binary Addition | Binary Conversion |
Problems that require the application of binary arithmetic and overflow concepts to solve practical issues. | A method of representing negative numbers in binary form by taking the two's complement of the positive number. |
A single unit of binary, either a 0 or a 1. | A numbering system used in computers and digital devices that uses only two digits, 0 and 1, to represent all numbers and symbols. |
A standardized system of codes used to represent letters, numbers, and symbols in digital devices, using 7 or 8 bits. | A group of 8 bits, used to represent a single character or other data unit. |
The process of converting a number or character from decimal or text form into binary form. | The process of adding two binary numbers together, using the same rules as for decimal numbers. |
Overflow error | Logic Gates |
Binary Code | Binary Division |
Binary Multiplication | Binary Subtraction |
Unsigned integers | Signed integers |
Electronic circuits that perform Boolean logic operations on binary inputs (0s and 1s) to produce binary outputs. | An error that occurs when a binary operation results in a number that is too large to be represented with the available number of bits. |
The process of dividing one binary number by another, using the same rules as for decimal numbers. | A system of representing text, computer instructions, or other data using binary digits (0s and 1s). |
The process of subtracting one binary number from another, using the same rules as for decimal numbers. | The process of multiplying two binary numbers together, using the same rules as for decimal numbers. |
Numbers that can be positive, negative or zero, represented by a sequence of bits in a computer's memory with a sign bit. | Positive whole numbers represented by a sequence of bits in a computer's memory without a sign bit. |
Sign and magnitude | Two's complement |
Arithmetic operations | Overflow |
Bitwise operations | Bit shifting |
Sign extension | Little endian |
A method of representing negative signed integers by flipping all the bits of the positive integer and adding 1. | A method of representing negative signed integers by assigning the leftmost bit as the sign bit and the remaining bits as the magnitude bits. |
A condition that occurs when the result of an arithmetic operation is too large or too small to be represented using the limited number of bits available in the computer's memory. | Mathematical operations performed on numbers in a computer's memory, including addition, subtraction, multiplication, and division. |
Moving the bits of a binary number left or right by a certain number of positions in order to multiply or divide by a power of two. | Operations performed on the individual bits of a binary number, including bitwise AND, bitwise OR, and bitwise NOT. |
A method of storing multi-byte data in which the least significant byte is stored first. | Adding additional bits to a binary number to preserve its signed value when it is extended to a larger size. |
Big endian | Hexadecimal |
Binary number system | Denary |
Binary-Denary conversion | Binary digit |
Denary digit | Binary place value |
A base-16 numbering system used to represent binary data more compactly and human-readable. | A method of storing multi-byte data in which the most significant byte is stored first. |
A numbering system that represents numbers using only ten digits, 0 to 9. | A numbering system that represents numbers using only two digits, 0 and 1. |
A digit in the binary number system, which can have a value of either 0 or 1. | The process of converting numbers between binary and denary number systems. |
The value of a binary digit based on its position in a binary number. | A digit in the denary number system, which can have a value of 0 to 9. |
Denary place value | Binary addition |
Denary addition | Binary subtraction |
Denary subtraction | Binary conversion chart |
Hexadecimal Notation | Binary |
The process of adding two binary numbers together. | The value of a denary digit based on its position in a denary number. |
The process of subtracting one binary number from another. | The process of adding two denary numbers together. |
A chart that helps convert binary numbers to denary numbers and vice versa. | The process of subtracting one denary number from another. |
A number system that uses only 0 and 1 to represent values. | A number system that uses 16 symbols, including 0-9 and A-F, to represent values. |
Decimal | Conversion |
Base | Nibble |
Binary-to-Hex Conversion | Hex-to-Binary Conversion |
Octal | Bit |
The process of changing a value from one numerical system to another. | A number system that uses 10 symbols, including 0-9, to represent values. |
A group of four bits. | The number system in which a value is represented. |
The process of converting a hexadecimal value to a binary value. | The process of converting a binary value to a hexadecimal value. |
The smallest unit of data in a binary value. | A number system that uses eight symbols, including 0-7, to represent values. |
Sign Bit | Nibble Value |
Binary Arithmetic | Addition |
Shifts | Logical Shift |
Arithmetic Shift | Overflow |
The decimal value of a nibble in a hexadecimal value. | The leftmost bit in a binary value that denotes whether a number is positive or negative. |
A binary arithmetic operation that involves adding two binary numbers to obtain their sum. | A method of performing arithmetic operations (such as addition, subtraction, multiplication, and division) using only two digits: 0 and 1, also known as the binary number system. |
A shift operation in binary arithmetic that does not preserve the sign of the number being shifted. | A binary arithmetic operation that involves moving all the digits of a binary number by a certain number of places to the left or right. |
The situation when the result of an arithmetic operation exceeds the range that can be represented by the number of bits available. | A shift operation in binary arithmetic that preserves the sign of the number being shifted. |
Range | Binary Number System |
Bitwise Operation | Carry Bit |
Sign Bit | Two's Complement |
Character Encoding | ASCII |
A numeral system that represents numbers using only two digits: 0 and 1. | The total number of values that can be represented by a certain number of bits. |
A bit that is generated when two binary numbers are added and the sum of their digits in a certain column exceeds 1. | An operation that acts on a binary number at the level of its individual bits. |
A method of representing negative numbers in binary by taking the complement of the positive equivalent and adding 1. | A bit in a binary number that determines whether the number is positive or negative. |
ASCII (American Standard Code for Information Interchange) is the most widely used character encoding standard. It uses 7 bits to represent each character, giving it a total of 128 characters. | Character encoding refers to the method used to represent character data in a computer. It assigns a unique code, known as a code point, to each character. |
Unicode | Code Point |
Extended ASCII | UTF-8 |
UTF-16 | BOM |
Endianness | Code Page |
A code point is a numerical value assigned to each character in a character encoding system. It is used to represent the character in computer memory. | Unicode is a character encoding standard that uses 16 bits to represent each character, allowing it to represent a much larger range of characters than ASCII. It is also backward-compatible with ASCII. |
UTF-8 (Unicode Transformation Format 8-bit) is a popular Unicode encoding that uses variable-length encoding, allowing it to represent any Unicode character using 1-4 bytes. | Extended ASCII is a character encoding standard that uses 8 bits to represent each character, giving it a total of 256 characters. It includes the 128 characters of ASCII and an additional 128 characters. |
BOM (byte order mark) is a special three-byte sequence that is used at the beginning of a file encoded in UTF-8 or UTF-16 to indicate the byte order of the file. | UTF-16 (Unicode Transformation Format 16-bit) is a Unicode encoding that uses 16 bits to represent each character. It can represent any Unicode character using 1 or 2 16-bit code units. |
Code page is a term used to describe a specific mapping of characters to code points in a character encoding system. | Endianness refers to the byte order of multi-byte numeric values such as integers and floating-point numbers. Big-endian byte order stores the most significant byte first, while little-endian byte order stores the least significant byte first. |
Escape Sequence | Hexadecimal |
Bitmap Image | Binary Representation |
Pixel | Resolution |
Color Depth | RGB |
Hexadecimal is a base-16 numbering system that uses 16 distinct symbols, 0-9 and A-F, to represent numbers. It is commonly used to represent character codes and memory addresses. | An escape sequence is a combination of characters used to represent a special character or control sequence in a character string. Escape sequences typically begin with a backslash character. |
The representation of data in terms of only two options, 1 and 0. | An image made up of pixels that is stored in a computer as a series of 1s and 0s. |
The number of pixels in an image, usually measured as width x height. | The smallest unit of a digital image that can be displayed or printed. |
A color model in which red, green, and blue light are added together in various ways to reproduce a broad array of colors. | The number of bits used to represent the color of a pixel in an image. |
CMYK | Bitmap File Format |
Lossless Compression | Lossy Compression |
Color Palette | Histogram |
Analog signal | Digital signal |
A file format for storing digital images in which each pixel is represented by a fixed number of bits. | A color model used for printing, in which colors are created by combining cyan, magenta, yellow, and black ink. |
A compression algorithm that sacrifices some quality for smaller file size. | A compression algorithm that enables the original data to be perfectly reconstructed from the compressed data. |
A chart that shows the distribution of tones in an image. | The collection of colors available for a particular image or device. |
A signal that is represented by discrete values (binary digits) and can be processed by a computer. | A continuous signal that varies over time and can take any value within a certain range. |
Sampling | Quantization |
Bit depth | Sampling rate |
Aliasing | Nyquist frequency |
Compression | File formats |
The process of converting the continuous amplitude values of an analog signal to discrete values (binary digits) in a digital signal. | The process of measuring the amplitude of an analog signal at regular intervals and converting it to a digital signal. |
The number of samples taken per second when converting an analog signal to a digital signal. Higher sampling rates result in more accurately represented sound. | The number of bits used to represent the amplitude values in a digital signal. Higher bit depths result in more accurately represented sound. |
The highest frequency that can be accurately represented in a digital signal at a given sampling rate. | The phenomenon where a high frequency signal is incorrectly represented as a lower frequency signal due to insufficient sampling. |
Different ways of encoding and storing digital sound files, such as MP3, WAV, and AIFF. | The process of reducing the size of a digital sound file by removing redundant information. Lossy compression reduces the file size by permanently removing data, while lossless compression reduces the file size without losing any information. |
Binary representation | Benefits of binary representation |
Binary representation | Sampling frequency |
Resolution | Bit |
Byte | Limitations of binary representation |
Binary representation allows sound to be easily stored, transmitted, and processed by computers. It also allows for easy manipulation of sound, such as adding effects or editing. | The process of representing sound using binary digits (bits). This allows sound to be stored and processed by computers. |
The number of times a signal is sampled per second. It determines the highest frequency that can be faithfully represented. | The process of representing data in a binary (base-2) numeral system. This representation uses only two digits, 0 and 1. |
Short for binary digit. The smallest unit of digital information, it can represent either 0 or 1. | The number of bits used to represent a single sample of analog data. It determines the accuracy and precision of the digital signal that is produced. |
The inability to represent infinite precision and range in digital signals due to the finite number of bits used. | A group of 8 bits. It is a common unit of measurement for digital data storage and transmission. |
Quantization error | Nyquist Theorem |
Aliasing | Binary overflow |
Data compression | Lossless compression |
ASCII | Unicode |
States that the highest frequency that can be represented by a digital signal is half of the sampling frequency. | The difference between the actual analog signal and its digital approximation caused by the limitations of binary representation. |
Occurs when the result of a binary operation exceeds the maximum value that can be represented with the available number of bits. | Occurs when the sampling frequency is too low, causing high frequency components of a signal to be improperly represented as lower frequencies. |
A data compression technique that retains all the original information of the data. | The process of reducing the number of bits used to represent data while minimizing the loss of information. |
A character encoding standard that provides a unique number for every character, no matter what platform, device, or program is used. | A character encoding standard used to represent text in computers. It uses a 7-bit binary number to represent each character. |
Encoding | Character |
Binary | Bit |
ASCII Table | Unicode Table |
Extended ASCII | UTF-8 |
A unit of information that represents a letter, digit, or punctuation symbol in a writing system. | The process of converting data into a format that can be stored and transmitted. |
A fundamental unit of information that can represent two states, usually 0 and 1. | A number system that uses only two digits, 0 and 1. |
A table that lists all possible characters that can be represented using Unicode code. | A table that lists all possible characters that can be represented using ASCII code. |
A character encoding standard that uses one to four 8-bit bytes to represent a character. | A variation of ASCII that uses 8 bits, rather than 7, to represent characters. |
UTF-16 | BOM |
Bitmap Image | Pixel |
Binary Representation | Resolution |
Colour Depth | DPI (Dots per inch) |
A sequence of bytes at the beginning of a text file, used to indicate the text encoding. | A character encoding standard that uses one or two 16-bit bytes to represent a character. |
The smallest element of an image that can be individually processed or manipulated. | An image made up of pixels that are represented in binary format. |
The number of pixels in an image, often measured as width x height. | A digital representation of data using only two states, typically expressed as 0 or 1. |
A measure of image resolution, traditionally used to describe the quality of printed images. | The number of bits used to represent the color of a pixel in an image. |
Raster Graphics | JPEG |
PNG | GIF |
BMP | Color Palette |
Analogue signals | Binary form |
A commonly used file format for compressed digital images, often used for photographs. | A type of digital image made up of a grid of pixels. |
A file format for digital images that supports animation and limited transparency. | A file format for digital images that supports transparency and lossless compression. |
The set of colors available for use in an image or graphics program. | A file format for digital images that is compatible with Microsoft Windows. |
Representing sound using only two possible values, 0 and 1, using a series of bits. | Continuous signals that vary in amplitude and time, used to represent sound in its natural form. |
Digital form | Sampling |
Quantization | Bit rate |
Sampling rate | Nyquist Theorem |
Aliasing | Compression |
The process of capturing snapshots of sound waves at regular intervals and converting these into digital binary signals. | Representing sound using discrete values, using a range of quantization levels, allowing for better accuracy and manipulation in processing. |
The number of bits per second that represent a sound wave in digital form. | The process of turning a continuous signal into a digital signal by attributing specific, discrete values to the amplitudes. |
The theory that the highest frequency captured during sampling cannot be more than half the sampling rate, to avoid aliasing distortions. | The number of times per second that a sound wave is sampled to be converted into binary form. |
A process of reducing the file size of digital audio through mathematical algorithms to discard components of the sound that are less noticeable to the human ear. | An undesirable effect whereby frequencies above the Nyquist limit appear as lower frequencies in the digital output. |
Lossy compression | Lossless compression |
Binary | Denary |
Multiples | Bit |
Byte | Kibibyte (KiB) |
A type of compression method that eliminates redundant data without any permanent data loss from the original recording. | A type of compression method that permanently discards data from the original recording, resulting in a lower quality replica of the sound. |
The decimal numerical system, which uses 10 digits (0-9) to represent all information. | The numerical system that uses only two digits, 0 and 1, to represent all information in a computer or digital device. |
The smallest unit of digital information in a computer, representing either a 0 or a 1. | A quantity that is a multiple of another quantity; e.g. 10 is a multiple of 5 because it can be divided evenly by 5. |
A unit of digital information that is equal to 1024 bytes. | A sequence of 8 bits that can represent a single character of text, a number, or a symbol. |
Mebibyte (MiB) | Gibibyte (GiB) |
Tebibyte (TiB) | Kilobyte (kB) |
Megabyte (MB) | Gigabyte (GB) |
Terabyte (TB) | Data Compression |
A unit of digital information that is equal to 1024 mebibytes, or 1,073,741,824 bytes. | A unit of digital information that is equal to 1024 kibibytes, or 1,048,576 bytes. |
A unit of digital information that is equal to 1000 bytes. | A unit of digital information that is equal to 1024 gibibytes, or 1,099,511,627,776 bytes. |
A unit of digital information that is equal to 1000 megabytes, or 1,000,000,000 bytes. | A unit of digital information that is equal to 1000 kilobytes, or 1,000,000 bytes. |
The process of reducing the size of data to save storage space and reduce transmission time while maintaining its original integrity. | A unit of digital information that is equal to 1000 gigabytes, or 1,000,000,000,000 bytes. |
Lossless Compression | Lossy Compression |
JPEG | MP3 |
Huffman Encoding | Run Length Encoding |
Dictionary Compression | Lempel-Ziv-Welch (LZW) Compression |
A method of data compression that selectively discards some data in order to reduce the size of the file, while maintaining an acceptable level of quality. | A method of data compression that allows the original data to be fully restored from the compressed data without any loss of information. |
A lossy compression algorithm used primarily for digital audio that achieves high compression ratios with minimal loss of sound quality. | A lossy compression algorithm used primarily for digital images that achieves high compression ratios with minimal loss of image quality. |
A method of lossless compression that replaces repeated occurrences of data with a single data value and a count of the number of times it occurs. | A method of lossless compression that assigns variable length codes to symbols in a message based on their frequency of occurrence. |
A lossless compression algorithm that replaces frequently occurring patterns with a code, which is then added to a dictionary for subsequent use in compression. | A method of lossless compression that replaces repetitive data sequences with shorter codes, or references to a dictionary of previously encountered data sequences. |
Entropy Encoding | Compression Ratio |
Data Degradation | Binary |
Denary | Multiples |
Understanding | Conversion |
The ratio of the original size of a file to its compressed size. A higher compression ratio indicates more effective compression. | A method of lossless compression that assigns codes with fewer bits to more frequent symbols and codes with more bits to less frequent symbols. |
A system of numeric notation that has a radix of 2, using only 0s and 1s. | The loss of quality or accuracy of data as a result of compression or other forms of data manipulation. |
Numbers that are a product of a given number and an integer. | A system of numeric notation that has a radix of 10, using digits 0 through 9. |
The process of changing a number from one system of notation to another, such as from binary to denary. | Comprehension of the concept and principles behind binary and denary multiples. |
Units | IEC |
Bit | Byte |
Kilobyte | Megabyte |
Gigabyte | Data Compression |
International Electrotechnical Commission, an organization that standardizes electrotechnology related activities. | Distinct quantities or values used to measure or express values of binary and denary multiples. |
A group of eight bits, capable of representing a single character or numerical value. | The smallest unit of data in a computer system, either 0 or 1 in binary. |
Approximately one million bytes, commonly used to measure the size of digital files. | Approximately 1000 bytes, commonly used to measure the size of digital files. |
The process of reducing the size of data so that it occupies less storage space and can be transmitted more efficiently. | Approximately one billion bytes, commonly used to measure the size of digital files. |
Lossless Compression | Lossy Compression |
Compression Ratio | Entropy Coding |
Dictionary Coding | Run Length Encoding |
Transform Coding | JPEG |
A compression technique that achieves higher compression ratios, but at the cost of losing some information. The decompressed data is not an exact replica of the original data. | A compression technique that allows the original data to be perfectly reconstructed from the compressed data, without any loss of information. |
A compression technique that takes advantage of the statistical patterns in the data to encode it more efficiently, by assigning shorter codes to more frequent patterns. | The ratio of the original size of data to the compressed size of data. A higher compression ratio indicates more efficient compression. |
A compression technique that replaces repeated runs of the same symbol in the data with a code that represents the symbol and the length of the run. This technique works well for data with long runs of identical symbols. | A compression technique that replaces repeated patterns in the data with shorter codes. The patterns are stored in a dictionary, which is transmitted to the decoder along with the compressed data. |
A lossy compression algorithm commonly used for compressing digital images. It uses a combination of entropy coding, transform coding, and quantization to achieve high compression ratios. | A compression technique that transforms the data into a frequency domain, where the energy of the data is concentrated in fewer frequency components. This allows for more effective compression. |
MP3 | Quantization |
Discrete Cosine Transform | File storage |
Bytes | Kilobytes |
Megabytes | Gigabytes |
The process of approximating the continuous range of values in the data with a finite set of discrete values. This reduces the amount of information that needs to be stored or transmitted. | A lossy compression algorithm commonly used for compressing digital audio. It uses a combination of transform coding, psychoacoustic modeling, and entropy coding to achieve high compression ratios. |
The process of storing and organizing digital files on a computer system or other storage device. | A mathematical transformation used in some lossy compression algorithms to convert the data from the spatial domain to the frequency domain. It is similar to the Fourier transform, but uses only real numbers. |
A unit of measurement for digital data storage, equivalent to 1,000 bytes. | The basic unit of measurement for digital data storage, equivalent to one character of text or 8 bits. |
A unit of measurement for digital data storage, equivalent to 1,000 megabytes or 1,000,000,000 bytes. | A unit of measurement for digital data storage, equivalent to 1,000 kilobytes or 1,000,000 bytes. |
Calculating file sizes | Practical problems |
Critical thinking | Problem-solving skills |
Binary system | Digital data |
Storage devices | Run-length encoding (RLE) |
Real-world challenges or situations that require problem-solving skills and application of knowledge in a specific field or domain. | The process of determining the amount of storage space required to save a file based on its size and the unit of measurement used. |
The ability to identify, analyze, and solve problems in a systematic and effective manner. | The process of analyzing, evaluating, and synthesizing information to make informed decisions or judgments. |
Information that is represented in binary form and can be processed, stored, and transmitted using digital devices. | A system of numerical notation that uses only two digits (0 and 1) to represent all values. |
A type of lossless data compression where consecutive identical data values are replaced by a count and a single value. | Hardware components that are used to store and retrieve digital data, such as hard drives, solid-state drives, and flash drives. |
Consecutive | Data compression |
Lossless | Algorithm |
Implementation | Data values |
Count | Bit |
The process of reducing the amount of data required to represent a given quantity of information. | Following in order without interruption. |
A step-by-step procedure for solving a problem, often expressed in computer code. | A type of data compression where the original data can be perfectly reconstructed from the compressed data without any loss of information. |
The individual pieces of data being compressed or encoded. | The process of putting a design, plan, or decision into effect. |
The smallest unit of digital information. | The number of consecutive identical data values replaced by RLE. |
Encoding | Compression ratio |
Practical examples | Encryption |
Encryption algorithm | Pigpen cipher |
Caesar cipher | Vigenere cipher |
The ratio of the size of the compressed data to the size of the original data. | The process of transforming information from one form to another for the purpose of efficient transmission or storage. |
The process of converting plaintext into ciphertext to ensure confidentiality and security of information. | Real-world scenarios where RLE can be applied, such as images with large areas of the same color. |
A substitution cipher using symbols instead of letters and numbers. | A set of steps and rules used to encrypt and decrypt data. |
A polyalphabetic cipher where a different shift is used for each letter of the plaintext message, based on a keyword. | A substitution cipher where each letter is shifted to a certain number of places down the alphabet. |
Rail fence cipher | Symmetric key cryptography |
Asymmetric key cryptography | Key length |
Block cipher | Stream cipher |
Cryptanalysis | Data Encryption |
Encryption and decryption using the same key. | A transposition cipher where the plaintext is written in a diagonal pattern across a grid, then read off row by row. |
The number of bits used in an encryption key, which affects the strength of the encryption algorithm. | Encryption and decryption using different keys – one public and one private. |
A type of encryption algorithm that works on individual bits or bytes of data, rather than block by block. | A type of encryption algorithm that works on fixed-size blocks of data. |
Data encryption is the process of converting plain text data into an unreadable format, which can only be accessed using a secret key. | The study of cryptographic systems with the aim of finding weaknesses and breaking codes. |
Encryption Algorithm | Symmetric Encryption |
Asymmetric Encryption | Key Length |
Digital Certificate | Public Key Infrastructure |
Hash Function | Transport Layer Security |
Symmetric encryption is a method of encryption where a single key is used to both encrypt and decrypt the data. The same key is used by both the sender and the recipient. | An encryption algorithm is a series of mathematical operations that converts plaintext into ciphertext. |
Key length refers to the number of bits used to generate a key. Longer key lengths make it more difficult to crack the encryption. | Asymmetric encryption is a method of encryption where a pair of keys is used to encrypt and decrypt data. One key is used to encrypt the data, while the other is used to decrypt the data. |
Public Key Infrastructure (PKI) is a system that enables the creation, distribution and management of digital certificates. It provides a secure way to exchange information over an insecure network. | A digital certificate is an electronic document that proves the ownership of a public key. It is used to verify the identity of the parties involved in a transaction. |
Transport Layer Security (TLS) is a protocol that provides secure communications over the internet. It uses encryption to protect data during transmission. | A hash function is a mathematical algorithm that converts data of any size into a fixed size output. The output value is called the hash, and it is unique to the input data. |
Secure Sockets Layer | Digital Signature |
Decryption | Encryption |
Cipher | Pigpen Cipher |
Caesar Cipher | Vigenére Cipher |
A digital signature is a mathematical technique used to verify the authenticity and integrity of a digital document or message. It provides assurance that the document or message has not been altered in transit. | Secure Sockets Layer (SSL) is a protocol that provides secure communications over the internet. It uses encryption to protect data during transmission. |
The process of converting plain text into a coded message for the purpose of keeping it secure from unauthorized access. | Decryption is the process of converting encrypted data back into plaintext using a secret key. It is the opposite of encryption. |
A simple substitution cipher that replaces letters with symbols and shapes. | An algorithm for performing encryption or decryption, typically involving a series of steps that transform plaintext into ciphertext. |
A polyalphabetic substitution cipher that uses a series of interwoven Caesar ciphers based on a keyword. | A substitution cipher that shifts letters by a fixed number of positions in the alphabet. |
Rail Fence Cipher | Substitution Cipher |
Polyalphabetic Cipher | Transposition Cipher |
Encryption Key | Decryption |
Encryption Algorithm | Input-Process-Output Model |
A type of cipher that replaces each plaintext character with a ciphertext character based on a set of rules or algorithms. | A transposition cipher that arranges plaintext letters in a zigzag pattern before reading them off in rows. |
A type of cipher that rearranges the order of characters in the plaintext to form the ciphertext. | A cipher that uses multiple substitution alphabets to encrypt different parts of the message for added security. |
The process of converting ciphertext back into plaintext using an encryption key and algorithm. | A piece of data used in conjunction with an encryption algorithm to convert plaintext into ciphertext. |
A model used to describe the way data is entered, processed, and transformed into meaningful output. | A set of mathematical rules and procedures used to transform plaintext into ciphertext. |
Data | Input |
Processing | Output |
Components | Input Devices |
Processor | Memory |
Data that is entered into a computer for processing. | Information that is entered into a computer for processing. |
The result of data that has been processed or transformed into meaningful information. | The manipulation of data, performed by a computer program or software. |
Hardware devices used to input data into a computer, such as a keyboard or mouse. | The individual parts that make up the input-process-output model, including input devices, processors, and output devices. |
The storage space in a computer where data and instructions are stored temporarily while they are being processed. | The central processing unit (CPU) that performs the processing of data within a computer. |
Output Devices | Examples |
Calculator | Input |
Process | Output |
Input-Process-Output Model | Control Unit |
Instances where the input-process-output model is used, such as a calculator or a search engine. | Hardware devices used to output data from a computer, such as a printer or monitor. |
Data or information entered into a system, which is then processed to produce an output. | A simple example of the input-process-output model, where data is entered, processed, and output as a result. |
The resulting product or information produced by the system after processing the input. | The series of actions or steps taken to transform input into output. |
The part of a computer that manages the execution of instructions. | A model used to describe the flow of data through a system, which involves the input of data, the processing of that data, and the resulting output. |
Arithmetic and Logic Unit (ALU) | Primary Memory |
Secondary Memory | Hardware |
Software | Real World Problem-solving |
System | Virtualization |
The part of a computer that stores data and instructions that are currently being used by the CPU. | The part of a computer that performs arithmetic and logical operations on the input data. |
The physical components of a computer system, such as the CPU, memory, and input/output devices. | The part of a computer that stores data and instructions that are not currently being used by the CPU. |
The process of applying problem-solving skills to real-world situations in order to find a solution. | The programs and instructions that tell the computer what to do, including system software and application software. |
The concept of creating a virtual version of something, such as a virtual machine, operating system or storage device. | A collection of components working together to achieve a common goal or purpose. |
Virtual machine | Hypervisor |
Host machine | Guest machine |
Isolation | Snapshots |
Cloning | Hardware emulation |
A piece of software that enables the creation and management of virtual machines. | A software program or operating system that simulates a physical computer, enabling multiple operating systems to run on a single physical system. |
A virtual machine that runs on a host machine. | A physical machine that hosts one or more virtual machines. |
A feature of virtual machines that enables the capture and restoration of a particular state of the guest machine. | The ability of a virtual machine to run independently of the host machine and other virtual machines, providing a high level of security and control. |
The process of simulating hardware in software to enable different operating systems to run on the same hardware. | The process of creating a copy of a virtual machine with the same configuration and data as the original. |
Scalability | Virtual network |
Virtual appliance | CPU |
Main Memory | Secondary Storage |
Input Devices | Output Devices |
A virtualized network that connects virtual machines and enables communication between them. | The ability of virtual machines to be dynamically provisioned and de-provisioned depending on demand. |
The central processing unit (CPU) is the brain of the computer. It performs calculations and instructions that control the other components of the computer. | A pre-configured virtual machine that is designed to provide a specific service or function, such as a web server or database. |
Secondary storage refers to devices that can store data for long periods of time, even when the computer is turned off. Examples include hard disk drives, solid-state drives, and flash drives. | Main memory, also known as RAM (random access memory), is used to temporarily store data and instructions that the CPU needs to access quickly. |
Output devices are used to display or otherwise output data from the computer. Examples include monitors, printers, and speakers. | Input devices are used to send data and instructions to the computer. Examples include keyboards, mice, and scanners. |
Motherboard | Power Supply |
Expansion Cards | Cooling System |
Bus | Hard Disk Drive |
Solid-State Drive | Central Processing Unit (CPU) |
The power supply is responsible for converting the AC power from the outlet into the DC power needed by the components of the computer. | The motherboard is the main circuit board that connects all the other components of the computer. It serves as the central hub for communication between the various parts of the computer. |
The cooling system is used to regulate the temperature of the components of the computer, preventing damage from overheating. | Expansion cards are used to add additional functionality to the computer. Examples include graphics cards, sound cards, and network cards. |
A hard disk drive (HDD) is a type of secondary storage device that uses magnetic disks to store data. It is a common type of storage device for personal computers and servers. | The bus is a communication pathway used to transfer data between the various components of the computer. |
The CPU is the primary component of a computer system that performs arithmetic, logical, and input/output operations. | A solid-state drive (SSD) is a type of secondary storage device that uses flash memory to store data. It is faster and more reliable than a traditional hard disk drive. |
Main Memory | Secondary Storage |
Input Devices | Output Devices |
Motherboard | Expansion Cards |
Power Supply Unit (PSU) | Heat Sink |
Secondary storage devices are used to store data permanently, such as hard drives, flash drives and CDs. | Main memory, also known as RAM (Random Access Memory), is the location where the computer stores data that is currently being used. |
Output devices are used to display or output data from the computer, such as a monitor, printer or speakers. | Input devices are used to enter data and commands into the computer system, such as a keyboard, mouse or scanner. |
Expansion cards are circuit boards that can be added to the motherboard to provide additional functionality, such as a graphics card or sound card. | The motherboard is a printed circuit board that connects and controls all the components of the computer system. |
A heat sink is a passive component that dissipates heat from a computer component, such as the CPU, to prevent overheating. | The power supply unit converts AC power from the mains into DC power that can be used by the computer components. |
Fan | System Bus |
Data Bus | Random-Access Memory (RAM) |
Read-Only Memory (ROM) | Cache Memory |
Virtual Memory | Main Memory |
The system bus is a collection of wires and circuits that connects the CPU, main memory and other components of the computer system. | A fan is an active component that circulates air over a computer component, such as the heat sink, to aid in heat dissipation. |
A type of computer memory that allows data to be read and written in any order. | The data bus is a portion of the system bus that carries data between the CPU, main memory and input/output devices. |
A type of computer memory that is used to improve data access times by temporarily storing frequently accessed data. | A type of computer memory that contains data that cannot be modified. |
The memory that a computer uses to temporarily store data while it is running. | A type of computer memory that allows the operating system to use hard disk space to supplement the RAM when the RAM is full. |
Secondary Memory | Flash Memory |
Dynamic RAM (DRAM) | Static RAM (SRAM) |
Non-Volatile Memory | Volatile Memory |
Magnetic Storage | Stored program |
A type of non-volatile memory that can be electrically erased and reprogrammed. | The memory in a computer that is used for long-term storage of data or programs. |
A type of RAM that does not need to be refreshed constantly to retain its data. | A type of RAM that needs to be refreshed constantly to retain its data. |
A type of computer memory that loses its data when the power is turned off. | A type of computer memory that retains its data even when the power is turned off. |
A concept in computer science that refers to a program that is stored in a computer's memory. | A type of secondary memory that uses magnetic patterns on spinning disks or tapes to store data. |
CPU | Fetch-decode-execute cycle |
CU | ALU |
Registers | Clock |
Address bus | Data bus |
The cycle that the CPU goes through in order to execute instructions: fetching the instruction from memory, decoding it, and then executing it. | Central Processing Unit, the part of a computer that performs most of the processing and control. |
Arithmetic Logic Unit, the part of the CPU that performs calculations and logical operations. | Control Unit, the part of the CPU that manages the flow of data and instructions within the CPU. |
The component of the CPU that sets the pace at which instructions are executed, by generating clock cycles. | Small amounts of memory within the CPU that are used to store data temporarily during processing. |
The part of the CPU that carries signals from the memory to the CPU and vice versa, in order to transfer data. | The part of the CPU that carries signals from the CPU to the memory in order to fetch data or instructions. |
Control bus | Cloud storage |
Remote access | Scalability |
Data security | Data ownership |
Data privacy | Cost savings |
A type of secondary storage where data is stored remotely on multiple servers on the internet. | The part of the CPU that carries signals that control the operations of the CPU, such as signalling the start of a new clock cycle. |
The ability of cloud storage to easily accommodate changes in storage needs without requiring physical upgrades or changes to individual devices. | The ability to access stored data from any location with an internet connection. |
The rights and control a user has over the data they store in the cloud. | The protection of data from unauthorized access, use, disclosure, destruction, modification, or disruption. |
The reduction in costs associated with physical storage devices and maintenance, as well as the ability to scale storage needs up or down as required. | The protection of sensitive data from being accessed or disclosed by unauthorized parties. |
Redundancy | Bandwidth |
Latency | Local storage |
External hard drive | Embedded System |
Microcontroller | Hardware |
The amount of data that can be transmitted over an internet connection in a given amount of time. | The storage of data in multiple locations for increased reliability and fault tolerance. |
The storage of data on physical devices located on a user's premises. | The delay between the transmission of data and the receipt of a response. |
A dedicated computer system designed for one or a few specific functions. | A portable device used for backing up and storing data, usually connected to a computer via USB. |
The physical parts of a computer system that can be touched and seen. | A small computer on a single integrated circuit containing a processor core, memory, and programmable input/output peripherals. |
Software | Input device |
Output device | Real-time system |
Sensor | Actuator |
Interface | Mass production |
Hardware devices that are used to enter data and instructions into a computer system. | The set of instructions that tells a computer what to do. |
An embedded system that must respond to input/outputs instantly within a specified time. | Hardware devices that are used to display data or information processed by a computer system. |
A device that converts the output of a computer system into a physical action or movement. | A device that detects and responds to some type of input from the physical environment. |
The production of goods in large quantities using standardization and assembly line techniques. | A device or program that enables communication between a computer system and other devices or users. |
Customized production | Data storage |
Physical devices | Magnetic devices |
Optical devices | Solid state devices |
Hard disk drives | Floppy disk drives |
The retention of electronic data in a persistent form on a physical device. | Production of goods according to the specific needs or requirements of customers or clients. |
Physical devices that use magnetic fields to store electronic data. | Hardware components designed to store electronic data in a persistent form. |
Physical devices that use flash memory to store electronic data. | Physical devices that use light to store electronic data. |
Obsolete magnetic devices that use thin magnetic disks to store electronic data. | Magnetic devices that use spinning platters to store electronic data. |
Compact disc drives | Digital versatile disc drives |
Blu-ray disc drives | Flash memory |
Advantages of solid state devices | Disadvantages of solid state devices |
AND operator | OR operator |
Optical devices that use lasers to read and write electronic data on a disc. | Optical devices that use lasers to read and write electronic data on a disc. |
Solid state devices that use NAND or NOR gates to store electronic data. | Optical devices that use blue lasers to read and write electronic data on a disc. |
Higher cost per GB compared to magnetic storage, limited write cycles per cell. | Low power consumption, faster access times, and high durability. |
A logical operator that returns true if at least one of the operands is true. | A logical operator that returns true if and only if both operands are true. |
NOT operator | Logic statement |
Truth value | Truth table |
Conjunction | Disjunction |
Negation | Compound logic statement |
A statement that can be evaluated as either true or false. | A logical operator that negates the value of its operand. |
A table used to list all possible combinations of inputs and their corresponding truth values for a logic statement. | The value (true or false) that a logic statement evaluates to. |
A compound logic statement formed by the OR operator. | A compound logic statement formed by the AND operator. |
A logic statement formed by combining two or more simple logic statements. | A logic statement formed by the NOT operator. |
Logical equivalence | Tautology |
Contradiction | Logic statement |
Negation | Conjunction |
Disjunction | Conditional statement |
A logic statement that is always true, regardless of the inputs. | Two logic statements are logically equivalent if they have the same truth values for all possible combinations of inputs. |
A proposition that can be either true or false. | A logic statement that is always false, regardless of the inputs. |
The logical 'and' operator, which produces a true value only if both statements being compared are true. | The opposite of a logical statement; the negation of a true statement is false, and vice versa. |
A statement that asserts a connection between two other statements, often expressed as 'if p then q', where p and q are logical statements. | The logical 'or' operator, which produces a true value if either of the statements being compared is true. |
Contrapositive statement | Inverse statement |
Logical equivalence | Truth table |
Tautology | Contradiction |
Logical inference | Utility software |
A conditional statement in which both the antecedent and consequent have been negated, resulting in a logically distinct statement. | A conditional statement in which the antecedent and consequent have been negated and swapped, resulting in a logically equivalent statement. |
A table that shows the truth value of a logic statement for every possible combination of values of its components. | Two statements that are true under exactly the same circumstances. |
A logical statement that is always false, regardless of the truth values of its components. | A logical statement that is always true, regardless of the truth values of its components. |
Software designed to perform specific tasks, usually related to managing, maintaining, and optimizing a computer system. Examples include antivirus software, backup software, disk defragmenter software, compression software, and file conversion software. | The process of deriving a conclusion from one or more premises, using the rules of logic. |
File management | File repair |
File conversion | Compression utility |
Defragmentation utility | Backup utility |
Anti-malware software | Virus |
The process of fixing errors or damage in files, typically performed by specialized software. | The process of organizing and categorizing files on a computer or other storage device. |
Utility software that reduces the size of files or collections of files, typically used to save storage space or to make it easier to transfer files over the internet. | The process of changing one file format to another, usually performed by specialized software. |
Utility software that creates copies of files or entire storage devices, typically used to protect against data loss in the event of hardware failure or other disasters. | Utility software that reorganizes the files on a hard drive to make them more efficient and easier to access, typically resulting in faster performance. |
A type of malware that spreads by inserting copies of itself into other programs or files on a computer system, with the goal of causing harm to the system or stealing data. | Software designed to protect computer systems against viruses, spyware, and other malicious code. |
Spyware | Adware |
Firewall | Operating System |
Process Management | File Management |
Hardware Management | User Interface |
A type of malware that displays unwanted advertisements or pop-ups on a user's computer system, often attempting to trick the user into downloading more malicious software or products. | A type of malware that is designed to monitor and collect information from a computer system, often used for nefarious purposes such as stealing personal data or tracking a user's online behavior. |
An Operating System is a software that acts as an interface between the user and the computer hardware. It manages the resources of a computer system and provides common services for computer programs. | A security system that restricts incoming and outgoing network traffic based on a set of configurable rules, typically used to prevent unauthorized access to or from a private network. |
File Management is the act of managing files in a computer system, including creating, deleting, copying, moving, and organizing files. | Process Management is the act of managing multiple processes running on a computer system by scheduling the tasks, allocating resources, and synchronizing the processes. |
A User Interface is the means by which the user interacts with the computer system. This includes graphical user interfaces (GUIs), command-line interfaces (CLIs), and other types of interfaces. | Hardware Management is the act of managing the hardware components of a computer system, including input/output devices, memory, and storage devices. |
Batch Operating System | Interactive Operating System |
Real-time Operating System | Multi-tasking |
Multi-processing | Multi-user |
Graphical User Interface (GUI) | Utility software |
An Interactive Operating System is an operating system that allows the user to interact with the computer system through a user interface. | A Batch Operating System is an operating system that processes a group of similar tasks in batches without user interaction. |
Multi-tasking is the ability of an operating system to run multiple tasks or processes at the same time on a single processor. | A Real-time Operating System is an operating system that guarantees a specific response time for critical operations, such as controlling industrial processes or scientific experiments. |
Multi-user is the ability of an operating system to allow multiple users to access the computer system simultaneously, with each user having their own user account and access rights. | Multi-processing is the ability of an operating system to utilize multiple processors or cores to run multiple tasks or processes at the same time. |
Utility software is a program that is used to perform maintenance or support tasks on a computer system, such as file management, disk repair, compression, backup and antivirus software. | A Graphical User Interface (GUI) is a type of user interface that allows the user to interact with the computer system through pictures, images, and icons, rather than text commands. |
File manager | Disk repair software |
Compression software | Backup software |
Antivirus software | Diagnostic software |
Disk clean-up software | Firewall software |
Disk repair software is a type of utility software that is used to repair damaged or corrupted hard disks or other storage devices, in order to prevent data loss and ensure the continued functioning of the computer. | A file manager is a type of utility software that allows users to manage files and folders on their computer, such as renaming, moving, copying and deleting files. |
Backup software is a type of utility software that is used to create and maintain copies of important data, in case of accidental deletion, hardware failure, or other data loss events. | Compression software is a type of utility software that is used to reduce the size of files or folders, making them easier to store, send or share over the internet or other digital media. |
Diagnostic software is a type of utility software that is used to identify and troubleshoot problems in a computer system, such as hardware or software failures, conflicts, or performance issues. | Antivirus software is a type of utility software that is used to protect a computer system against viruses, malware, spyware, and other forms of malicious software that can harm the system or compromise user privacy. |
Firewall software is a type of utility software that is used to monitor and control incoming and outgoing network traffic, in order to prevent unauthorized access, data leaks, and other security breaches. | Disk clean-up software is a type of utility software that is used to identify and remove unnecessary or temporary files, cookies, and other junk data from a computer system, in order to free up space and optimize performance. |
Registry cleaner software | Encryption software |
Virtualization software | System Software |
Operating System | Device Driver |
Utility Program | Application Software |
Encryption software is a type of utility software that is used to encrypt or scramble sensitive data, such as passwords, financial information, or private messages, in order to prevent unauthorized access or theft. | Registry cleaner software is a type of utility software that is used to clean and optimize the Windows registry, which is a database that stores settings and configurations for the operating system and applications, in order to improve performance and stability. |
The software that manages and controls the hardware components and provides a platform for running applications. | Virtualization software is a type of utility software that is used to create virtual machines, which are simulated computer systems that can run multiple operating systems or programs, in order to partition or share resources, test new software, or enhance security. |
A type of system software that enables communication between the device and the operating system. | A type of system software that manages computer hardware and provides services for applications. |
The software that is designed to perform specific tasks for the user, such as word processing, spreadsheet, or graphics. | A type of system software that performs maintenance tasks for the operating system and other software. |
Web Browser | Word Processing Software |
Spreadsheet Software | Database Software |
Graphics Software | Multimedia Software |
Productivity Software | Software Simulation |
A type of application software that allows the user to create, edit, and format text documents. | A type of application software that enables users to access and navigate the World Wide Web. |
A type of application software that allows the user to organize and manage large amounts of data in an efficient way. | A type of application software that allows the user to create, organize, and analyze data in rows and columns. |
A type of application software that allows the user to create, edit, and play audio and video files. | A type of application software that allows the user to create and manipulate images and graphics. |
The process of using software to create a simulation of real-world events and scenarios. | A category of application software that includes tools for creating, editing, and managing documents, presentations, and spreadsheets. |
Modeling | Real-World Events |
Scenarios | Phenomena |
Advantages | Disadvantages |
Accuracy | Interactivity |
Actual occurrences in the physical world that are being simulated by software. | The process of using software to create a model of real-world situations and phenomena. |
Observable occurrences or facts that happen in the world that can be modeled in software. | Possible sequences of events or situations that can occur in real-world environments or simulations. |
Negative consequences or limitations resulting from using simulations and models in software. | Benefits or positive outcomes resulting from using simulations and models in software. |
The ability of simulations and models to be manipulated and interacted with by users in order to gain insights or test hypotheses. | The degree to which a simulation or model accurately represents the real-world event or scenario being simulated or modeled. |
Complexity | Simulation Software |
Modeling Software | High-Level Programming Language |
Low-Level Programming Language | Abstraction |
Compiler | Interpreter |
Software specifically designed to create simulations of real-world events and phenomena. | The level of detail and intricacy that can be modeled in a simulation or model, which can impact its accuracy and practicality. |
A programming language that abstracts away details of the underlying hardware and provides constructs that are closer to the way humans think about solving problems. | Software specifically designed to create models of real-world situations and phenomena. |
The process of reducing complexity by hiding details and providing a simpler, high-level interface. | A programming language that is closer to the hardware and provides direct access to hardware resources and machine instructions. |
A program that reads and executes source code written in a high-level language directly, without first translating it into machine instructions. | A program that translates source code written in a high-level language into machine instructions that a computer can understand. |
Syntax | Semantics |
Data Types | Variables |
Control Flow | Assembly Language |
Machine Language | Assembler |
The meaning of programming constructs and how they are executed by a computer. | The set of rules that govern the structure of a programming language. |
Named storage locations in a program that hold values of a particular data type. | The classification of data items into different types, such as integers, floating-point numbers, or characters. |
A low-level language that uses mnemonic codes to represent individual machine instructions. | The order in which statements are executed in a program, determined by logic and conditional statements. |
A program that translates assembly language into machine language. | The language understood by a computer consisting of binary digits (0 and 1) that represent individual machine instructions. |
Compiler | Interpreter |
Assembly Language | Machine Language |
High-Level Language | Source Code |
Object Code | Executable Code |
A program that executes code one line at a time without translating it into machine language. Advantages include faster development time and greater platform independence. Disadvantages include slower execution and harder debugging. | A program that translates high-level language into machine language. Advantages include faster execution and easier debugging. Disadvantages include longer development time and less platform independence. |
The binary code that a computer can execute directly. | A low-level programming language that uses mnemonic codes to represent machine language instructions. |
The human-readable version of a program, written in a programming language. | A programming language that is closer to natural language and more abstract than low-level languages like assembly language. |
The machine-language version of a program that can be run directly by a computer. | The machine-readable version of a program, produced by a compiler or assembler. |
Debugging | Platform Independence |
Development Time | High-level programming language |
Low-level programming language | Abstraction |
Compiler | Interpreter |
The ability of a program to run on different operating systems or hardware without modification. | The process of finding and fixing errors in code. |
A programming language that is closer to human language and provides a high level of abstraction from the hardware. | The amount of time it takes to write a program, from start to finish. |
The process of removing unnecessary details and focusing on essential features. | A programming language that is closer to the hardware and provides a low level of abstraction from it. |
A program that executes source code written in a high-level language directly, without translating it into machine code. | A program that translates source code written in a high-level language into machine code. |
Assembly language | Machine code |
Portability | Source code |
Debugging | Object-oriented programming |
Structured programming | Assemblers |
The language that a computer can directly understand, consisting of binary instructions. | A low-level programming language that represents machine instructions in mnemonic form. |
The original human-readable program written in a high-level language. | The ability of a program to run on different hardware or software platforms without modification. |
A programming paradigm that uses objects to represent real-world concepts and encapsulates data and behavior within them. | The process of finding and fixing errors in a program. |
A program that translates assembly language code into machine code. | A programming paradigm that uses control structures such as loops and conditionals to organize code and minimize complexity. |
Compilers | Interpreters |
Assembly language | Machine code |
High-level programming language | Compilation |
Execution | Advantages of assemblers |
A program that directly executes high-level programming language code without the need for compilation. | A program that translates high-level programming language code into machine code. |
Instructions that can be executed directly by the CPU of a computer. | A low-level programming language that is human-readable and closely related to machine code. |
The process of translating high-level programming language code into machine code using a compiler. | A programming language that is easier for humans to understand and write than low-level languages like assembly language. |
Assembly language is faster and more efficient than high-level programming languages. | The process of the CPU running machine code instructions to carry out a program's tasks. |
Disadvantages of assemblers | Advantages of compilers |
Disadvantages of compilers | Network |
Network Topology | Node |
Server | Client |
High-level programming languages are more human-readable, easier to write and maintain than assembly language. | Assembly language is more difficult to read, write, and maintain than high-level programming languages. |
A group of interconnected computers that can communicate and share resources with each other. | The compilation process takes longer and requires more resources than simply writing and running assembly language code. |
Any device connected to a network, such as a computer, printer, or router. | The arrangement of nodes and connections in a network. |
A computer on a network that requests resources or services provided by the server. | A computer on a network that provides resources or services to other computers, called clients, on the network. |
LAN | WAN |
Internet | Protocol |
Bandwidth | Latency |
Reliability | LAN |
A wide area network, which is a network that covers a large geographical area, such as a city, country, or continent. | A local area network, which is a network that covers a small geographical area, such as a home, office, or building. |
A set of rules and standards that enable devices to communicate with each other in a network. | A global network of computer networks that use standard protocols to communicate with each other. |
The amount of time it takes for data to travel from one point to another in a network, usually measured in milliseconds (ms). | The amount of data that can be transmitted over a network in a certain amount of time, usually measured in bits per second (bps). |
A Local Area Network (LAN) connects computers and devices in a limited geographical area, such as a home, school, or office building. | The ability of a network to deliver data without errors or loss, usually measured in terms of uptime and downtime. |
WAN | PAN |
Client-server | Peer-to-peer |
Advantages | Disadvantages |
Bandwidth | Latency |
A Personal Area Network (PAN) is a network of devices such as computers, smartphones, tablets, and other personal devices connected to one another. | A Wide Area Network (WAN) connects computers and devices over a larger geographical area, such as a city, region, or country. |
A model in which the tasks of storing and processing information are distributed among many computers on the network. Each computer on the network can act as a client or a server, and can share resources such as files and printers. | A model in which the tasks of storing and processing information are divided between a client and a server computer. The client sends requests to the server for data or services, and the server responds to these requests. |
The drawbacks or negative aspects of a particular type of network, such as complexity, cost, and security challenges. | The benefits or positive aspects of a particular type of network, such as speed, reliability, and ease of use. |
The time delay between when data is sent and when it is received on a network, usually measured in milliseconds (ms). | The amount of data that can be transmitted over a network connection in a given amount of time, usually measured in bits per second (bps). |
Topology | Protocol |
Router | Wired Connectivity |
Wireless Connectivity | Ethernet |
Fiber Optic | Coaxial |
A set of rules and standards for communication between devices on a network, specifying the format and timing of data transmission. | The layout or structure of a network, including the physical and logical connections between devices and the arrangement of nodes and links. |
A type of computer network which uses physical cables to transmit data between devices. | A device that connects multiple networks and directs data traffic between them, using protocols such as TCP/IP and DHCP. |
A wired network technology that uses twisted pair cables to connect devices. | A type of computer network which uses radio waves to transmit data between devices. |
A wired network technology that uses coaxial cables to transmit data. | A wired network technology that uses fiber cables to transmit data at high speeds. |
Networking Devices | Radio Wave |
Wi-Fi | Bluetooth |
Cellular Network | Latency |
Bandwidth | Interference |
A type of wireless signal that is used to transmit data between devices. | Devices used to connect computers and other devices to a network, such as routers, switches, and hubs. |
A type of wireless technology used to connect devices directly to each other over a short distance. | A type of wireless technology that allows devices to connect to a network without the need for physical cables. |
The delay between the moment data is sent and the moment it is received. | A type of wireless network used to provide mobile connectivity to devices using cellular towers. |
The disruption of a wireless signal caused by other electronic devices or physical barriers. | The amount of data that can be transmitted over a network in a given amount of time. |
Protocol | TCP |
IP | HTTP |
FTP | SMTP |
DNS | SSL |
Transmission Control Protocol. A protocol responsible for reliable data transmission over a network. | A set of rules that governs data communication over a network. |
Hypertext Transfer Protocol. A protocol used for accessing and transferring data on the World Wide Web. | Internet Protocol. A protocol responsible for routing data packets over a network. |
Simple Mail Transfer Protocol. A protocol used for sending and receiving email over a network. | File Transfer Protocol. A protocol used for transferring files between systems over a network. |
Secure Sockets Layer. A protocol used for securing data transmission over a network. | Domain Name System. A protocol used for translating domain names into IP addresses. |
UDP | POP3 |
IMAP | VoIP |
Data transmission | Layered protocol stacks |
Stack | TCP/IP model |
Post Office Protocol version 3. A protocol used for retrieving email from a mail server. | User Datagram Protocol. A protocol used for unreliable data transmission over a network. |
Voice over Internet Protocol. A protocol used for transmitting voice and multimedia content over the internet. | Internet Message Access Protocol. A protocol used for accessing email on a remote mail server. |
A system that organizes communication protocols into a hierarchy of layers that operate cooperatively to transmit data. | The process of transmitting data from one device to another over a communication channel, such as a network or the Internet. |
A four-layer protocol stack used to transmit data over the Internet or other networks. | A collection of communication protocols organized into layers that operate cooperatively to transmit data. |
Data link layer | Network layer |
Transport layer | Application layer |
Packet | Routing |
Internet Protocol (IP) | Transmission Control Protocol (TCP) |
The layer of the TCP/IP model responsible for routing data between networks. | The layer of the TCP/IP model responsible for transmitting data between nodes on a network. |
The layer of the TCP/IP model responsible for providing services to applications that communicate over a network. | The layer of the TCP/IP model responsible for ensuring reliable transmission of data between devices. |
The process of finding the best path for data to travel between networks. | A unit of data transmitted over a network, consisting of a header and a payload. |
A protocol used to ensure reliable transmission of data over a network. | A protocol used to transmit data over the Internet or other networks. |
Network Topology | Bus Topology |
Star Topology | Ring Topology |
Mesh Topology | Hybrid Topology |
Scalability | Reliability |
A type of network topology in which all devices are connected to a common backbone or cable. | The physical or logical layout of a network, including devices and connections that make up the network. |
A type of network topology in which all devices are connected in a circular manner to form a closed loop. | A type of network topology in which all devices are connected to a central hub or switch. |
A type of network topology that combines two or more different types of topologies. | A type of network topology in which all devices are connected to each other, forming a fully connected network. |
The ability of a network to function properly and consistently. | The ability of a network to expand or handle increasing numbers of devices or users. |
Ease of Administration | Cost |
Speed | Security |
3G | 4G |
5G | CDMA |
The expense involved in setting up and maintaining a network. | The ease with which a network can be managed and maintained. |
The measures taken to protect a network from unauthorized access or attacks. | The rate at which data can be transmitted over a network. |
A mobile communication standard that offers internet and data connectivity at speeds of up to 100Mbps. | A mobile communication standard that offers internet and data connectivity at speeds of up to 2Mbps. |
Code Division Multiple Access is a wireless communication standard that uses spread spectrum technology to increase capacity and improve call quality. | A mobile communication standard that offers internet and data connectivity at speeds up to 20Gbps, low latency, and the ability to connect multiple devices at once. |
GSM | LTE |
Wi-Fi | Bluetooth |
NFC | Network |
Roaming | Frequency Spectrum |
Long-Term Evolution is a high-speed wireless communication standard for mobile devices that offers faster download and upload speeds compared to previous generations of cellular networks. | Global System for Mobile Communications is a standard for cellular networks used by mobile phones based on time division multiplexing. |
A wireless communication standard that enables short-range data exchange between devices such as smartphones, laptops, and wireless headphones. | A wireless networking technology that uses radio waves to provide high-speed internet and network connections to devices in close proximity. |
A system of interconnected devices and communication infrastructure that enable data exchange and resource sharing between devices and users. | Near Field Communication is a technology that allows wireless communication between devices at close proximity, enabling secure and fast data exchange, payments, and access control. |
The range of electromagnetic frequencies used for wireless communication, including radio waves, microwaves, and infrared radiation. | The ability of a mobile device to automatically connect to different cellular networks while traveling outside of the device's home network coverage area. |
Computer network | Topology |
LAN | WAN |
Routing | Firewall |
Ethernet | Wireless network |
The physical or logical arrangement of computers and other devices on a network. | A group of interconnected computers and devices that are linked together to facilitate communication and resource sharing. |
A wide area network that connects computers and other devices over a large geographical area, such as a city, country, or the world. | A local area network that connects computers and other devices within a limited geographical area, such as a home or office. |
A security system that monitors and controls incoming and outgoing network traffic based on predetermined security rules and policies. | The process of forwarding data packets from one network to another network based on their destination addresses. |
A type of network that does not use physical wires or cables and instead uses radio waves to transmit data. | A popular networking technology that uses a logical bus topology and supports data transfer rates of up to 10 Gbps. |
VPN | Intranet |
Extranet | Bandwidth |
Wired connectivity | Wireless connectivity |
Ethernet | Router |
A private network that is only accessible to authorized users within a specific organization or company. | A virtual private network that provides a secure and encrypted connection between two or more computers or networks over the Internet. |
The maximum amount of data that can be transmitted over a network in a given time period, usually measured in bits per second (bps). | A private network that is accessible to authorized users outside of a specific organization or company, such as customers or suppliers. |
Wireless connectivity refers to the method of connecting devices without the use of physical cables. An example of wireless connectivity is using Wi-Fi to connect a smartphone to the internet. | Wired connectivity refers to the method of connecting devices using physical cables. An example of wired connectivity is using an Ethernet cable to connect a computer to a router. |
A router is a device that connects multiple devices to a network, and directs traffic between them. Routers can provide both wired and wireless connectivity. | Ethernet is a type of wired network technology that is commonly used to connect devices in a local area network (LAN). |
Wi-Fi | Bluetooth |
NFC | LAN |
WAN | IP address |
Gateway | Hotspot |
Bluetooth is a wireless communication technology that allows devices to connect and exchange data over short distances. It is commonly used for connecting devices such as headphones and speakers to a smartphone or computer. | Wi-Fi is a wireless network technology that allows devices to connect to a network without the use of physical cables. It is commonly used for internet access in homes and businesses. |
A LAN (Local Area Network) is a network of devices that are connected to each other within a limited area, such as a home or office. Wired and wireless connectivity can both be used in a LAN. | NFC (Near Field Communication) is a short-range wireless communication technology that allows devices to exchange data by touching or bringing them close together. It is commonly used for mobile payments and data transfer between devices. |
An IP address is a unique numerical address that is assigned to each device connected to a network. It is used to identify and communicate with the device over the network. | A WAN (Wide Area Network) is a network of devices that are connected to each other over a large geographical area, such as different cities or countries. It typically uses wired connectivity such as fiber optic cables. |
A hotspot is a physical location (such as a coffee shop or airport) where Wi-Fi is available for public use. Devices can connect to the internet through the hotspot using wireless connectivity. | A gateway is a device that connects different networks and directs traffic between them. It can provide access to the internet or other external networks. |
Data Speed | Bandwidth |
Throughput | Latency |
Jitter | Mbps |
Gbps | Data Rate |
The maximum amount of data that can be transmitted over a communication channel in a given amount of time. | The rate at which digital data is transmitted over a communication channel, usually measured in bits per second (bps). |
The time delay between the sending and receiving of data over a communication channel. | The actual amount of data that is transmitted over a communication channel in a given amount of time. |
Megabits per second, a unit of measurement for data transmission speed equal to one million bits per second. | The variation in the delay of packets as they are transmitted over a communication channel. |
The rate at which data is transmitted over a communication channel, usually measured in bits per second (bps). | Gigabits per second, a unit of measurement for data transmission speed equal to one billion bits per second. |
Upload Speed | Download Speed |
Ping | Packet Loss |
Network Protocol | Ethernet® |
Wi-Fi | TCP/IP |
The speed at which data is transmitted from a network or server to a computer or device. | The speed at which data is transmitted from a computer or device to a network or server. |
The failure of one or more packets of data to reach their destination over a communication channel. | A measurement of the time it takes for data to travel from one device to another over a network, usually measured in milliseconds (ms). |
A wired networking standard that uses cables to transmit data between devices in a local area network (LAN). | A set of rules and standards that enable devices to communicate with each other over a network. |
A set of protocols used for communicating data over a network, including the transmission control protocol (TCP) and internet protocol (IP). | A wireless networking standard that allows devices to connect to a network without needing cables. |
HTTP | HTTPS |
FTP | POP3 |
SMTP | IMAP |
Data Transmission | Accuracy |
A secure version of HTTP that uses encryption to protect data transferred over the internet. | A protocol used to transfer data over the internet, typically used to request and receive web pages in a web browser. |
A protocol used for receiving email messages from a mail server. | A protocol used for transferring files over a network, often used for uploading and downloading files from a website. |
A protocol used for accessing and manipulating email messages stored on a mail server. | A protocol used for sending email messages between mail servers. |
The degree to which data transmitted over a network is received correctly by the receiving device. | The process of sending digital data from one device to another over a network. |
Security | Packet transmission |
Computer networks | TCP/IP |
Four-layer model | Application layer |
Transport layer | Internet layer |
The process of dividing data into packets and transmitting them over a network to a destination computer. | The protection of network data from unauthorized access, use, disclosure, or destruction. |
The Transmission Control Protocol/Internet Protocol, a set of protocols used for communication on the internet and other networks. | A group of interconnected computers that communicate with each other to share resources and information. |
The top layer of the TCP/IP model that handles application-specific protocols and data exchange between programs running on different computers. | The TCP/IP model consisting of four layers: application, transport, internet, and network access. |
The layer of the TCP/IP model that handles addressing and routing of packets across multiple interconnected networks. | The layer of the TCP/IP model that provides reliable transmission of data between applications running on different computers. |
Network access layer | Functionality |
Layered protocol stacks | Data transmission |
Protocol | 3G |
4G | 5G |
The specific roles and tasks performed by each layer in the TCP/IP model to ensure the reliable and efficient transmission of data over a network. | The bottom layer of the TCP/IP model that handles the physical transmission of data over a network, including the protocols used for data link and physical layers. |
The process of sending data from one computer or device to another over a network, using protocols and standards to ensure the data is transmitted reliably and efficiently. | The use of multiple layers of protocols in the TCP/IP model to break down the complex process of data transmission into smaller, more manageable components. |
The third generation of mobile communication standards, capable of providing faster data transfer rates and improved multimedia capabilities than its predecessor, 2G. | A set of rules and standards that govern the communication between devices on a network, ensuring that data is transmitted reliably and efficiently. |
The fifth generation of mobile communication standards, designed to offer faster data transfer rates, lower latency, enhanced connectivity, and improved network capacity compared to its predecessor, 4G. | The fourth generation of mobile communication standards, offering higher data transfer rates, lower latency, and better network efficiency than its predecessor, 3G. |
LTE | HSPA |
EDGE | GPRS |
CDMA | TDMA |
frequency band | latency |
Short for High-Speed Packet Access, a mobile communication protocol based on the 3G UMTS infrastructure, providing faster data transfer rates for mobile devices. | Short for Long-Term Evolution, a standard for wireless communication of high-speed data for mobile phones and data terminals, based on the GSM/EDGE and UMTS/HSPA technologies. |
Short for General Packet Radio Service, a standard for wireless communication of high-speed data for mobile phones and data terminals, providing faster data transfer rates than the 2G mobile technology, GSM. | Short for Enhanced Data rates for GSM Evolution, a standard for wireless communication of high-speed data for mobile phones and data terminals, providing faster data transfer rates than GPRS, the 2.5G mobile technology. |
Short for Time Division Multiple Access, a digital cellular technology that divides each frequency channel into time slots, allowing multiple users to share a single frequency channel. | Short for Code Division Multiple Access, a digital cellular technology used for transmitting voice, data, and other digital content over wireless communication channels. |
The time delay between the initiation of a data transfer and the actual transmission of the data, measured in milliseconds (ms). | A range of radio frequencies allocated for wireless communication by regulatory agencies, such as the Federal Communications Commission (FCC) in the United States. |
network capacity | Local Area Network (LAN) |
Wide Area Network (WAN) | Personal Area Network (PAN) |
Client-server model | Peer-to-peer model |
Network topology | Switch |
A network of computers and devices in a small physical area such as a home or office building. | The maximum number of simultaneous connections that a communication network can support, determined by factors such as bandwidth, number of access points, and transmission speed. |
A network of personal devices such as smartphones, laptops, and tablets, typically connected via Bluetooth or Wi-Fi. | A network that covers a large geographic area, such as a city or country, and connects multiple LANs. |
A networking model in which multiple devices are connected without a central server, and each device can serve as a client or server. | A networking model in which client devices request services or resources from a central server, which responds to those requests. |
A network device that connects multiple devices on a LAN and is used to forward data to its intended destination. | The physical or logical layout of a network, including the devices, connections, and communication protocols. |
Router | Wireless network |
Internet | Bandwidth |
Latency | Bus topology |
Ring topology | Star topology |
A network that uses radio waves or infrared signals to connect devices without physical cables. | A network device that connects multiple networks, such as LANs and WANs, and is used to forward data between them. |
The maximum amount of data that can be transmitted over a network in a given period of time, typically measured in bits per second. | A global network of networks that uses standard communication protocols to connect devices and share information. |
A network topology in which all devices are connected to a single communication line or cable. Data is transmitted sequentially, and all devices receive all transmissions, but only the intended recipient processes the transmission. | The delay between the transmission of data and its arrival at its intended destination, typically measured in milliseconds. |
A network topology in which each device is connected directly to a central hub or switch. Data is transmitted through the hub, which can filter and direct transmissions based on their destination. | A network topology in which all devices are connected in a circular, sequential fashion. Data is transmitted in one direction, and each device acts as a repeater to pass the transmission to the next device in the circle. |
Mesh topology | Node |
Communication line | Transmission |
Sequential transmission | Circular transmission |
Repeater | Hub |
A device or element in a network, such as a computer, printer, switch, or hub. | A network topology in which each device is connected directly to every other device in the network. Data can be transmitted along multiple paths, which increases reliability and resiliency but can also be complex and costly to implement. |
The process of sending data or information from one device to another over a network. | A physical connection between two network devices, such as a cable, wire, or fiber optic line. |
A method of transmitting data in which each device in a network receives and repeats the transmission before passing it on to the next device in a circular pattern. | A method of transmitting data in which bits are sent one after the other, serially, along a communication line or cable. |
A device that acts as a central connection point for devices in a network. A hub receives transmissions sent by one device and relays them to all other devices connected to it. | A device that strengthens and amplifies a signal to extend its range or overcome attenuation or other signal loss. |
Switch | Cloud storage |
Security issues | Encryption |
Access control | Backup |
Data privacy | Compliance |
A method of storing data that involves storing it on remote servers that can be accessed via the internet. | A device that directs transmissions to their intended destination in a network. A switch analyzes the destination address of a transmission and sends it only to the device it is intended for, rather than broadcasting to all devices. |
The process of encoding data so that it can only be read by an authorized party who has the decoding key. | Problems or challenges that arise in relation to the protection of data in cloud storage, such as unauthorized access, data breaches, data loss, or hacking. |
A process of copying and archiving data for the purpose of data recovery in the event of data loss or corruption. | Measures that limit who can access data stored in the cloud, such as passwords, biometrics, or two-factor authentication. |
The adherence to legal, regulatory, or industry standards and requirements regarding the security and privacy of data in cloud storage. | The protection of personal or confidential data from unauthorized or unintended access or sharing. |
Risk management | Data sovereignty |
Service level agreement (SLA) | Multi-factor authentication (MFA) |
Data breach | Technical Weaknesses |
Cyber Attack | Social Engineering |
The concept that data is subject to the laws and regulations of the country or region where it is stored or processed, which may impact the security and privacy of data in cloud storage. | The process of identifying, assessing, and mitigating risks associated with the use of cloud storage, such as data loss, data breaches, or service interruptions. |
A security mechanism that requires users to provide two or more forms of authentication, such as a password and a security token or a biometric measure, to access data in cloud storage. | A contractual agreement between a cloud storage provider and a customer that defines the terms and conditions of the service, including uptime guarantees, data backup and recovery, security measures, and service fees. |
The vulnerabilities in software or hardware that can be exploited by cyber criminals to gain unauthorized access to a system or network. | An incident where sensitive, protected, or confidential data is accessed, stolen, or exposed to unauthorized parties or systems. |
The use of psychological manipulation to trick people into divulging sensitive information or performing actions that may not be in their best interest. | An attempt by hackers or cyber criminals to gain unauthorized access to a system or network for malicious purposes. |
Phishing | Shoulder Surfing |
Pharming | Unpatched Software |
USB Devices | Digital Devices |
Eavesdropping | Malware |
A form of social engineering attack where the attacker looks over someone's shoulder to steal their login credentials or other sensitive information. | A type of social engineering attack where the attacker sends out emails or other messages that look legitimate but contain links or attachments that install malware or steal sensitive information. |
Software that has not been updated to fix known vulnerabilities, which can be exploited by cyber criminals to gain unauthorized access to a system or network. | A type of social engineering attack where the attacker redirects traffic to a fake website that looks legitimate but is designed to steal sensitive information. |
Any electronic device that can be connected to a network, including computers, smartphones, tablets, and IoT devices. | External storage devices that can be used to transfer data between computers, but can also be used to install malware or steal sensitive information if not properly secured. |
Software that is designed with malicious intent, such as viruses, trojans, or ransomware, which can be used to steal sensitive information or cause damage to a system or network. | The act of monitoring electronic communications, such as phone calls or emails, without the knowledge or consent of the parties involved. |
Firewall | Network Security |
Validation | Authentication |
Digital signature | Encryption |
Decryption | Access Control |
The protection of computer networks from unauthorized access, use, modification, or destruction. | A security system that monitors and controls incoming and outgoing network traffic, and can be used to block unauthorized access to a network. |
Verification of the identity of a person or process. | A process of checking and verifying data to ensure that it is correct and meets certain requirements. |
The process of converting information into a code to prevent unauthorized access. | An encrypted message that proves that a specific message was sent by a specific sender. |
A security technique that restricts access to resources to authorized users only. | The process of converting encrypted data back into its original form. |
Firewall | Password |
Physical Security | Intrusion Detection |
Public Key Infrastructure (PKI) | Cloud storage |
Data breaches | Encryption |
A secret word or phrase that is used to gain access to a computer or network. | A program that controls access to a computer or network, based on predefined security rules. |
A security technique that monitors network traffic and system activities for signs of unauthorized access or malicious activity. | The protection of physical assets, including buildings, hardware, and equipment, from unauthorized access, theft, or damage. |
A method of storing data on the internet that provides users with on-demand, scalable resources and eliminates the need for local servers or storage devices. | A system that uses public and private keys to secure communications over a network. |
The process of converting plain text into coded, unintelligible text for secure transmission, storage or protection of data. | Unauthorized access or disclosure of sensitive information by an individual, group or software application that poses a threat to the confidentiality, integrity or availability of data. |
Virtual private network (VPN) | Identity and Access Management (IAM) |
Multi-factor authentication (MFA) | Denial of Service (DoS) attacks |
Service level agreement (SLA) | Cloud provider |
Data residency | Data loss |
A security framework that manages user identities, permissions and access to resources to ensure that only authorized individuals or systems can access sensitive data. | A secure and private network connection that enables users to access resources over the internet while maintaining security, privacy and anonymity. |
A cyber attack that overwhelms a network or system with traffic or requests to disrupt its normal operation. | A security mechanism that requires users to provide multiple forms of authentication such as a password, smart card or biometric verification to access resources. |
A company that provides cloud computing services to businesses or individuals, including infrastructure, platform or software as a service (IaaS, PaaS or SaaS). | A contract between a service provider and a customer that outlines the quality, availability and reliability of services to ensure that they meet the customer's needs and expectations. |
The accidental or intentional destruction, corruption or theft of data that can result in financial, reputational or legal consequences for businesses or individuals. | The legal and regulatory requirements that dictate the physical location of data and ensure that it is stored in compliance with local laws and policies. |
Cloud audit | Cyber Attack |
Technical weaknesses | Behavior-based attacks |
Phishing | Shoulder Surfing |
Pharming | Unpatched software |
A form of attack that targets computer systems or devices via the internet. | An independent review of cloud provider's security controls, processes, and policies to evaluate their effectiveness in protecting data and mitigating risks. |
Attacks that target human behavior or psychology, such as phishing or social engineering. | Flaws or vulnerabilities in the hardware or software of a computer system, which can be exploited by attackers. |
A type of social engineering attack where an attacker looks over a victim's shoulder to obtain sensitive information, such as a password. | A type of social engineering attack where an attacker poses as a trustworthy entity to obtain sensitive information, such as login credentials or financial information. |
Software that has not been updated with the latest security patches, making it vulnerable to attacks. | A type of social engineering attack where an attacker redirects a victim's web traffic to a fake website to obtain sensitive information. |
USB devices | Digital devices |
Eavesdropping | Impact |
Social engineering | Vulnerability Identification Methods |
Passive Reconnaissance | Active Reconnaissance |
Electronic devices that connect to the internet, such as smartphones or smart home devices, which can be vulnerable to attacks if not properly secured. | Portable storage devices that can be used to transfer data between computers, but can also be used to spread malware or viruses. |
The effect or influence that an attack can have on personal or business data, including financial loss, identity theft, or reputational damage. | The act of listening in on private communication, such as phone calls or internet traffic, without the knowledge or consent of the parties involved. |
The process of identifying weaknesses or vulnerabilities in a computer system or network that attackers may exploit. | The use of manipulation or deception to trick individuals into divulging sensitive information or performing actions that are harmful to themselves or others. |
The process of actively probing a target system or network to identify vulnerabilities and weaknesses. | The process of gathering information about a target system or network without actively engaging with it. |
Penetration Testing | Ethical Hacking |
Exploit | Vulnerability Scanner |
Network Policies | User Policies |
Commercial Analysis Tools | Vulnerability Assessment |
The process of hacking into a computer system or network with permission, in order to identify vulnerabilities and weaknesses. | The process of testing a computer system or network for vulnerabilities and weaknesses by simulating an attack. |
A tool used to automatically scan a computer system or network for vulnerabilities and weaknesses. | A piece of software or code that takes advantage of a vulnerability or weakness in a system or network. |
A set of rules and guidelines that dictate the proper use and security of a computer system by its users. | A set of rules and guidelines that dictate the proper use and security of a computer network. |
A process used to identify, quantify, and prioritize vulnerabilities in a computer system or network. | Software tools used to identify vulnerabilities and weaknesses in a computer system or network that are sold commercially. |
Exploit Framework | Software Design Considerations |
Audit Trail | Securing Operating Systems |
Secure Coding Principles | Code Reviews |
Modular Testing Techniques | Network Security |
The factors to be considered during the design of software to protect it from cyber attacks. | A set of tools and techniques used for finding and exploiting vulnerabilities in a computer system or network. |
The process of protecting an operating system from unauthorized access and malicious attacks. | A record of all events and actions that have been performed on a computer system to identify security breaches. |
The process of reviewing and analyzing code to identify and remove bad programming practices and vulnerabilities. | The guidelines and best practices for writing secure code that is free of vulnerabilities and easy to maintain. |
The measures taken to protect a computer network from unauthorized access, attacks, and data theft. | The methods used to test software modules to ensure that they are secure, reliable and meet the design specifications. |
Vulnerability Assessments | Access Control |
Encryption | Firewalls |
Intrusion Detection | Internet |
IP Addressing | DNS |
The process of controlling and managing access to computer systems and resources to ensure that only authorized users can access them. | The process of identifying, evaluating, and prioritizing software vulnerabilities and potential threats. |
A security software or hardware device that monitors and controls incoming and outgoing network traffic based on a set of rules. | The process of encoding data and messages to protect them from unauthorized access and tampering. |
A global network of interconnected computers that communicate with each other using standard communication protocols. | The process of monitoring and analyzing computer systems and networks for signs of unauthorized access or attacks. |
A system that translates domain names into IP addresses, allowing people to access websites using human-readable names instead of IP addresses. | A unique numerical identifier assigned to each device connected to the internet, which enables the device to communicate with other devices on the internet. |
Protocol | Router |
Gateway | TCP/IP |
Bandwidth | Latency |
Packet | HTTP |
A device that connects different networks together and directs traffic between them. | A set of rules and standards that govern communication between devices on a network, ensuring that data is transmitted and received correctly. |
A suite of communication protocols that govern the transfer of data over the internet, including the Transmission Control Protocol (TCP) and Internet Protocol (IP). | A device or software application that enables devices to connect and communicate with other devices on different networks. |
The delay or lag that occurs when data is transmitted over a network, often measured in milliseconds (ms). | The amount of data that can be transmitted over a network in a given time, usually measured in bits per second (bps). |
A protocol used to transfer data over the internet, typically used to access websites and other web-based services. | A unit of data that is transmitted over a network, consisting of a header that contains information about the data and a payload that contains the actual data. |
HTTPS | World Wide Web |
Components | Web server |
URL | ISP |
HTTP | HTTPS |
A system of interlinked hypertext documents accessed through the internet. | A secure version of HTTP that encrypts data transmitted over the internet to ensure privacy and security. |
A computer program that processes requests via HTTP, the basic network protocol used to distribute information on the World Wide Web. | The parts that make up the World Wide Web, such as web servers, URLs, ISP, HTTP, HTTPS and HTML. |
Internet Service Provider; a company that provides internet access to customers. | Uniform Resource Locator; a string of characters that provides a way to find and access resources on the internet, such as web pages, images, videos, etc. |
Hypertext Transfer Protocol Secure; an extension of HTTP that encrypts and decrypts user page requests as well as the pages that are returned by the web server. | Hypertext Transfer Protocol; the main communications protocol used to exchange data on the World Wide Web. |
HTML | Web browser |
Hyperlink | Web page |
Search engine | IP Addressing Standards |
IPv4 | IPv6 |
A software application used to access and display web pages and other content on the World Wide Web. | Hypertext Markup Language; a standard programming language used to create web pages and other information that can be displayed in a web browser. |
A document on the World Wide Web that can contain text, images, videos, audio, and other multimedia elements. | A clickable link that takes you from one web page to another, or to a different part of the same page. |
A set of rules and guidelines used for assigning and managing IP addresses to devices on a network. | A program that helps you find information on the World Wide Web by searching for keywords or phrases that you enter. |
A newer version of the Internet Protocol that supports many more unique addresses than IPv4. | A version of the Internet Protocol that is still widely used and supports up to 4.3 billion unique addresses. |
Binary | Decimal |
Octet | Subnet Mask |
Default Gateway | Network Address |
Broadcast Address | Private IP Address |
A number system based on ten digits (0-9) that is commonly used in everyday life. | A number system based on two digits (0 and 1) that is commonly used in computing and networking. |
A number used to divide an IP address into network and host portions. | A group of eight bits that is often used to represent one part of an IP address in binary form. |
The identifier for a specific network that is part of an IP address. | A device or node on a network that serves as an access point to other networks or the Internet. |
An IP address that is reserved for use within a private network and is not accessible from the Internet. | The address used to send data to all devices on a network segment. |
Public IP Address | Internet |
IP Addressing | IPv4 |
IPv6 | Packet |
Protocol | DNS |
A global network of connected computers that allows the sharing of information and communication through various protocols. | An IP address that is used to identify a device on the Internet and is publicly accessible. |
A 32-bit IP address format that consists of four numbers separated by periods, with each number ranging from 0 to 255. | A numerical identification assigned to each device connected to the internet that is used to identify and communicate with that device. |
A unit of data that is transmitted over a network, containing information such as the sender, receiver, and content of the communication. | A 128-bit IP address format that is designed to replace IPv4 and provides a much larger address space for more devices to be connected to the internet. |
Domain Name System is a hierarchical naming system designed to resolve human-readable domain names into IP addresses. | A set of rules and standards that guide data transmission and communication between devices on a network. |
Domain | TLD |
WHOIS | Hyperlink |
TCP/IP | World Wide Web |
Web server | URL |
Top-Level Domain is the last part of a domain name, such as .com, .org, .edu, etc. | A unique name that identifies a website or other internet resource, consisting of a series of labels separated by periods. |
A clickable link that takes the user to another webpage or resource, often indicated by underlined or differently formatted text. | A protocol for querying databases that store information about domain names, IP addresses, and other internet resources. |
A global system of hypertext documents connected on the Internet, which enables the sharing of information and communication between users. | Transmission Control Protocol/Internet Protocol is the set of protocols that form the foundation of the internet and allow data transmission between devices. |
A unique address that identifies a webpage on the internet, consisting of a domain name, protocol, and path. | A computer that stores and delivers web pages to client devices upon request over the internet. |
ISP | HTTP |
HTTPS | HTML |
Server-side script | Client-side script |
Webpage | Web browser |
Hypertext Transfer Protocol is a protocol used for transferring data over the World Wide Web. | An Internet Service Provider is a company that provides internet access to customers. |
Hypertext Markup Language is the standard markup language used to create web pages. | Hypertext Transfer Protocol Secure is a protocol used for secure communication over the World Wide Web. |
A program that runs on the client device, such as a web browser, and operates on the user's computer rather than on the web server. | A program on the web server that generates dynamic content in response to user requests. |
A software application used to access web pages on the World Wide Web. | A document or information resource that is displayed on the World Wide Web. |
Hyperlink | IP Addressing |
Standards | IPv4 |
IPv6 | Binary |
Octet | Network ID |
A method of assigning a unique numerical label to each device on a network. | A link from a hypertext document to another location, such as a website. |
A 32-bit IP address format that uses decimal notation, separated by periods, to represent four 8-bit numbers. | Agreed-upon specifications that ensure devices on a network can communicate with each other. |
A numbering system that uses only two digits, 0 and 1, to represent values. | The latest version of IP addressing, which uses a 128-bit address format and provides more unique addresses than IPv4. |
The part of an IP address that identifies the network to which a device belongs. | A group of 8 bits representing a number in binary notation. |
Host ID | Subnet Mask |
Classful Addressing | Classless Addressing |
IP Telephony | Modem |
Router | Switch |
A number that defines which bits of an IP address represent the network ID and which bits represent the host ID. | The part of an IP address that identifies the specific device on a network. |
A more flexible method of IP addressing that allows for variable-length subnet masking and greater efficiency in address usage. | A method of IP addressing that divides addresses into predefined classes, with specific ranges of network and host IDs. |
A device that converts digital signals from a computer into an analog signal for transmission over telephone lines and vice versa. | A technology that allows voice communication over IP networks. |
A device that connects devices together on a computer network, allowing them to communicate with each other efficiently. | A device that forwards data packets between computer networks, facilitating communication between devices on different networks. |
Wireless Access Point | Internet access |
Modulation | Broadband |
ISP | Ethernet |
Wi-Fi | DSL |
The ability to connect to the internet and access online services such as email, web browsing, and online gaming. | A device that allows wireless devices to connect to a wired network using Wi-Fi or other radio signals. |
A high-speed internet connection that is always on and can transmit large amounts of data at fast speeds. | The process of converting digital signals into analog signals that can be transmitted over telephone lines or other communication channels. |
A standard for networking computers and other devices together using wired connections, typically over copper or fiber optic cabling. | An Internet Service Provider that provides internet access to customers, typically through a wired or wireless connection. |
A type of internet connection that uses existing telephone lines to transmit data, allowing for high-speed internet access without the need for expensive new infrastructure. | A wireless networking technology that uses radio waves to transmit data over short distances. |
Cable internet | Environmental impact |
Carbon footprint | Renewable energy |
E-waste | Green technology |
Climate change | Sustainability |
The effect that human actions and activities, including the use of technology, have on the environment and its ecosystems. | A type of internet connection that uses coaxial cable infrastructure to transmit data, typically providing high-speed internet access to residential and commercial customers. |
Energy that is generated from sources that are naturally replenished, such as wind, solar, and hydro power, and do not contribute to the depletion of finite resources or harm the environment. | The amount of greenhouse gases, primarily carbon dioxide, released into the atmosphere by human activities such as burning fossil fuels. |
Technology that is designed to promote sustainability, reduce pollution and waste, and minimize harm to the environment. | Discarded electronic devices and equipment which contain hazardous materials that can contaminate the environment and pose health risks. |
The ability to meet the needs of the present without compromising the ability of future generations to meet their own needs. | The long-term alteration of temperature and typical weather patterns in a place resulting from human activities, primarily the burning of fossil fuels, which release large amounts of greenhouse gases into the atmosphere. |
Global warming | Ecological footprint |
Environmental degradation | Carbon offset |
Pollution | Ethics |
Technology | Impact |
The amount of land, water, and other natural resources needed to sustain human activities and meet the demand for resources such as food, energy, and consumer goods. | The gradual increase in the average temperature of the Earth's atmosphere and oceans, primarily caused by the burning of fossil fuels and deforestation, which trap heat in the atmosphere. |
The practice of reducing greenhouse gas emissions in one area, such as through renewable energy, to compensate for emissions made in another area, such as through the use of fossil fuels. | The deterioration of the environment and ecosystems resulting from human activities such as pollution, deforestation, and the overuse of natural resources. |
Moral principles that govern a person's or group's behavior | The presence or introduction into the environment of harmful substances or pollutants, such as chemicals, noise, or waste, that cause damage to ecosystems and harm human health. |
To have a strong effect on someone or something | The application of scientific knowledge for practical purposes |
Society | Ethical Implications |
Analysis | Importance |
Considerations | Usage |
Privacy | Security |
The consequences of an action in terms of right and wrong | The aggregate of people living together in a more or less ordered community |
The quality of being significant or having value | A detailed examination of the elements or structure of something |
The way in which something is used | The act of thinking carefully about something before making a decision |
The state of being free from danger or threat | The state of being free from public attention or observation |
Ownership | Intellectual property |
Privacy | Cybercrime |
Data protection | Censorship |
Net neutrality | E-commerce |
The legal ownership of creative works and inventions that can be protected by patents, trademarks and copyrights. | The act, state, or right of possessing something |
Criminal activities conducted through the use of technology and the internet. | The right to keep personal information private and to protect it from unauthorized access. |
The suppression or restriction of information or ideas through government, media or other means. | The laws and policies that regulate the collection, use and storage of information by companies and organizations. |
The buying and selling of goods and services over the internet, regulated by laws and policies related to online transactions. | The principle that all internet traffic should be treated equally, without discrimination or charging different rates based on content or source. |
Online identity | Surveillance |
Digital rights | Access to information |
Internet governance | Quantum Computing |
DNA Computing | Artificial Intelligence |
The monitoring and recording of activities, behavior and communications by individuals or groups, regulated by laws related to privacy and surveillance. | The digital representation of a person's identity and personal information on the internet, protected by laws and policies related to privacy and data protection. |
The right of individuals to access and use information, including government and public information, regulated by laws related to freedom of information and censorship. | The legal rights of individuals to access, use, copy and distribute digital content and technology, protected by laws and policies related to intellectual property and free speech. |
A type of computing that utilizes quantum-mechanical phenomena, such as superposition and entanglement, to perform operations on data. | The policies and procedures that regulate the internet, including issues of access, security, privacy and free speech, developed and enforced by government and non-governmental organizations. |
The ability of machines to perform cognitive tasks, such as thinking, reasoning, and problem-solving, that were previously only possible for humans. | A computing technique that uses DNA molecules instead of traditional computer architecture to perform calculations. |
Nanotechnology | Superposition |
Entanglement | DNA Assembly |
Machine Learning | Nanorobotics |
Quantum Supremacy | Neural Networks |
The ability of quantum systems to be in multiple states at once, allowing for the parallel processing of data. | The manipulation of matter on an atomic, molecular, and supramolecular scale to create new materials, devices, and structures. |
The process of building complex DNA molecules by combining smaller DNA fragments in a controlled manner. | The correlation of two or more quantum systems in a way that their future states become dependent on each other, allowing for faster and more secure data transmission. |
The design and construction of robots on a nanoscale, allowing for precise manipulation of biological and mechanical systems. | A type of artificial intelligence that enables machines to learn from data and improve their performance without being explicitly programmed. |
A type of machine learning that mimics the structure and function of the human brain, allowing machines to perform complex tasks such as image and speech recognition. | The ability of quantum computers to solve problems faster than classical computers, creating a significant shift in computing power. |
Molecular Electronics | |
The development of electronic devices and circuits using individual molecules and nanostructures, allowing for faster and more efficient computing. | |