upgrade
upgrade
⌨️AP Computer Science Principles
Key Terms

489 essential vocabulary terms and definitions to know for your AP Computer Science Principles exam

Study AP Computer Science Principles
Practice Vocabulary
⌨️AP Computer Science Principles
Key Terms by Unit

🕹Unit 1 – Creative Development

1.1 Intro to Big Idea 1

TermDefinition
biasPrejudice or systematic error in computing innovations that can result from algorithms or data, reflecting existing human prejudices.
collaborationThe process of working together with others to develop computing innovations that benefit from diverse talents and perspectives.
communicationThe exchange of information between developers and users to understand needs and incorporate diverse perspectives into computing innovations.
computing innovationA new or improved computer-based product, service, or concept that includes a program as an integral part of its function, which can be physical, nonphysical software, or a nonphysical concept.
conflict resolutionThe process of addressing and resolving disagreements or disputes that arise during collaboration.
consensus buildingThe process of working toward agreement among team members on decisions and goals.
consultationThe process of seeking input and advice from users and stakeholders during the development of computing innovations.
diversity of talents and perspectivesThe range of different skills, experiences, and viewpoints that team members bring to the development of a computing innovation.
feedbackInformation or comments provided by others to evaluate, critique, or improve ideas, code, or documents.
interpersonal skillsAbilities used to interact effectively with others, including communication, consensus building, conflict resolution, and negotiation.
negotiationThe process of discussing and reaching agreement on terms, decisions, or compromises within a collaborative team.
pair programmingA collaborative development practice where two programmers work together at the same workstation, with one writing code and the other reviewing it in real-time.

1.2 Program Function and Purpose

TermDefinition
audio outputProgram output in the form of sound or music produced by a device.
code segmentA portion of a program consisting of one or more lines of code that performs a specific function.
computing innovationA new or improved computer-based product, service, or concept that includes a program as an integral part of its function, which can be physical, nonphysical software, or a nonphysical concept.
creative expressionThe use of computing innovations to create, communicate, or share ideas, art, or other forms of human expression.
eventAn action associated with input data that is supplied to a program, such as a key press or mouse click.
event-driven programmingA programming approach where program statements are executed when triggered by events rather than through sequential flow of control.
executionThe process of running a program or code segment on a computer.
programA collection of program statements that performs a specific task when run by a computer; also referred to as software.
program behaviorHow a program functions during execution, often described by how a user interacts with it.
program inputData in various forms (tactile, audio, visual, or text) that is sent to a program for processing.
program outputAny data sent from a program to a device, which can take various forms such as tactile, audio, visual, or text.
program stateThe current values and conditions of a program's internal variables and data at any given time.
program statementsIndividual instructions or commands that make up a program or code segment.
purposeThe intended goal or function of a computing innovation, such as solving a problem or enabling creative expression.
tactile outputProgram output that can be felt or perceived through touch, such as vibrations or haptic feedback.
text outputProgram output in the form of written characters or strings displayed to the user.
visual outputProgram output displayed on a screen or device that can be seen, such as images, graphics, or animations.

1.3 Program Design and Development

TermDefinition
acknowledgeTo formally recognize and credit the source or author of code segments used in a program.
code segmentA portion of a program consisting of one or more lines of code that performs a specific function.
collaborativeDeveloped or created jointly with other programmers or sources.
commentsA form of program documentation written into the program to be read by people that does not affect how a program runs.
design phaseThe stage in program development where the approach to accomplishing a program specification is outlined and planned.
designingA phase of program development where developers plan the structure and approach for solving the problem.
development processA systematic approach to creating a program that may be ordered and intentional or exploratory in nature.
functional componentsIndividual parts of a program designed to perform specific functions or operations.
incremental development processA development process that breaks a problem into smaller pieces and ensures each piece works before integrating it into the whole program.
investigating and reflectingA phase of program development where developers examine the problem, gather information, and think critically about requirements and solutions.
investigationThe process of gathering information to understand program requirements, constraints, and the needs of users.
iterative development processA development process that involves repeated cycles of refinement and revision based on feedback, testing, or reflection, which may require revisiting earlier phases.
moduleDistinct, self-contained components of a program that can be organized and developed separately.
originThe source or starting point of code, including where it came from or who originally created it.
program constraintsLimitations or restrictions that affect how a program can be designed and developed.
program documentationA written description of the function of a code segment, event, procedure, or program and how it was developed.
program requirementsThe specifications and conditions that define what a program must accomplish and how it should behave.
program specificationA detailed definition of the requirements that a program must meet.
prototypingA phase of program development where developers create a preliminary version of the program to test ideas and concepts.
storyboardingA planning technique used during the design phase to visualize the sequence of user interactions and program flow.
testingA phase of program development where developers verify that the program works correctly and meets requirements.
testing strategyA plan developed during the design phase that outlines how a program will be tested to ensure it meets its requirements.
user interfaceThe visual and interactive elements of a program that allow users to interact with and control the application.
user testingA method of investigation where actual or potential users interact with a program to provide feedback on its functionality and design.

1.4 Identifying and Correcting Errors

TermDefinition
algorithmStep-by-step procedures or sets of rules designed to solve a problem or accomplish a task.
debuggersSoftware tools that help programmers find and correct errors by allowing them to step through code execution and inspect variables.
defined inputsSpecific, predetermined data values used to test an algorithm or program.
expected behaviorsThe correct or anticipated actions and responses that an algorithm or program should exhibit when executed.
expected outputsThe correct or anticipated results that an algorithm or program should produce for given inputs.
extremesThe minimum and maximum boundary values of input data used in testing to verify program behavior at limits.
hand tracingA debugging technique where a programmer manually follows the execution of a program step-by-step to identify errors.
logic errorA mistake in an algorithm or program that causes it to behave incorrectly or unexpectedly.
overflow errorAn error that occurs when a computer attempts to handle a number that is outside of the defined range of values.
programA collection of program statements that performs a specific task when run by a computer; also referred to as software.
program inputData in various forms (tactile, audio, visual, or text) that is sent to a program for processing.
program requirementsThe specifications and conditions that define what a program must accomplish and how it should behave.
run-time errorA mistake in a program that occurs during the execution of a program.
syntax errorA mistake in a program where the rules of the programming language are not followed.
test casesSpecific inputs and expected outputs used to verify that a program behaves correctly.
testingA phase of program development where developers verify that the program works correctly and meets requirements.
visualizationsGraphical representations of program execution or data structures used to identify and understand errors.

⚙️Unit 2 – Data in AP Computer Science Principles

2.1 Intro to Big Idea 2

TermDefinition
abstractionThe process of reducing complexity by focusing on main ideas and hiding irrelevant details to allow focus on the essential concept.
analog dataData that have values changing smoothly and continuously over time, such as pitch, volume, or position.
binaryA base-2 number system that uses only the digits 0 and 1 to represent data.
bitShorthand for binary digit; the smallest unit of data in computing, represented as either 0 or 1.
byteA unit of digital data consisting of 8 bits.
constantsFixed data values that do not change during program execution.
dataInformation represented in a form that can be processed by a program, such as numbers, text, or records.
decimalA base-10 number system that uses the digits 0-9 to represent data.
fixed number of bitsA predetermined, limited quantity of bits allocated to represent a data value in programming languages, which constrains the range of representable values.
integersWhole numbers (positive, negative, or zero) that are represented in programming languages using a fixed number of bits.
number basesDifferent systems for representing numerical values, such as binary (base 2) and decimal (base 10).
overflowAn error that occurs when a computed value exceeds the maximum value that can be represented by a fixed number of bits.
place valueThe numeric value assigned to a digit's position in a number, determined by the base raised to the power of the position.
real numbersNumbers that include both integers and decimal values, represented in programming languages with a fixed number of bits as approximations.
roundoff errorAn error that occurs when real numbers are approximated in computer storage due to limitations in the fixed number of bits used to represent them.
samplingA technique for approximating analog data digitally by measuring values of an analog signal at regular intervals.
variableA named container in a program that stores a value which can be changed through assignment.

2.2 Data Compression

TermDefinition
bitShorthand for binary digit; the smallest unit of data in computing, represented as either 0 or 1.
data compression algorithmsMethods or procedures used to reduce the number of bits needed to represent data while maintaining or approximating the original information.
lossless data compressionA compression algorithm that reduces the number of bits stored or transmitted while guaranteeing complete reconstruction of the original data.
lossy data compressionA compression algorithm that significantly reduces the number of bits stored or transmitted but only allows reconstruction of an approximation of the original data.
redundancyRepetition or unnecessary duplication in data representation that can be reduced through compression.

2.3 Extracting Information from Data

TermDefinition
biasPrejudice or systematic error in computing innovations that can result from algorithms or data, reflecting existing human prejudices.
causal relationshipA relationship where one variable directly causes changes in another variable, as opposed to merely being correlated.
conclusionA judgment or decision reached by analyzing and interpreting data from one or more sources.
correlationA relationship between two variables in data where changes in one variable are associated with changes in another.
dataInformation represented in a form that can be processed by a program, such as numbers, text, or records.
data cleaningThe process of making data uniform and consistent without changing their meaning, such as standardizing abbreviations, spellings, and capitalizations.
data setA collection of related data values organized for processing and analysis.
data sourcesOrigins or locations from which data are collected or obtained.
factsSpecific pieces of information or observations that form the basis of data.
incomplete dataData sets that are missing required information or values.
informationThe collection of facts and patterns extracted from data that provides meaning and insight.
invalid dataData that does not meet required standards or formats and cannot be properly processed.
metadataData that describes other data, such as the date of creation or file size of an image, used for finding, organizing, and managing information.
parallel systemsComputing systems that process data simultaneously across multiple processors or computers to handle large data sets efficiently.
patternRegularities or recurring structures that emerge from data when processed and analyzed using programs.
primary dataThe main data itself, which remains unchanged even if its associated metadata is modified or deleted.
scalabilityThe ability of a solution to maintain or improve performance as the problem size or computational resources increase.
trendsGeneral directions or tendencies in data over time or across categories.
variableA named container in a program that stores a value which can be changed through assignment.

2.4 Using Programs with Data

TermDefinition
classifyingA data processing technique that organizes data into categories or groups based on shared characteristics.
cleanTo process digital data by removing errors, inconsistencies, or irrelevant information to improve data quality.
clusteringA data processing technique that groups similar data points together to identify patterns and relationships.
combining dataThe process of merging or aggregating multiple data elements, such as adding up values or comparing records to find patterns.
dataInformation represented in a form that can be processed by a program, such as numbers, text, or records.
data filteringThe process of selecting specific elements from a data set based on defined criteria to find information and recognize patterns.
filterTo process digital data by selecting or removing specific elements based on criteria to gain insight and knowledge.
filtering a data setThe process of keeping only the elements in a data set that meet specific conditions, such as selecting only positive numbers or records matching certain criteria.
informationThe collection of facts and patterns extracted from data that provides meaning and insight.
insightUnderstanding or knowledge gained from analyzing and processing data using programs.
patternRegularities or recurring structures that emerge from data when processed and analyzed using programs.
search toolsPrograms or features that efficiently locate specific information within a data set.
spreadsheetsPrograms that organize data in rows and columns to efficiently manage, analyze, and identify trends in information.
transformingModifying or restructuring digitally represented information using programs to reveal patterns and insights.
transforming dataThe process of modifying every element in a data set according to a rule, such as doubling values or adding information to records.
translatingConverting digitally represented information from one format or representation to another to gain insight.
visualizing dataThe process of representing data through charts, graphs, or other visual representations to communicate insights and patterns.

📱Unit 3 – Algorithms & Programming Fundamentals

3.1 Variables and Assignments

TermDefinition
assignment operatorA symbol or operator that allows a program to assign a value to a variable, changing what the variable represents.
BooleanA data type that represents one of two values: true or false.
collectionA data structure that contains multiple values grouped together and can be represented by a single variable.
data storageThe memory location within a program where a variable's value is stored.
data typeA classification that specifies what kind of value a variable can hold, such as numbers, Booleans, lists, or strings.
expressionA combination of a value, variable, operator, or procedure call that can be evaluated to produce a single value.
listAn ordered sequence of elements, where each element is assigned a unique index for reference.
numberA data type that represents numeric values used in calculations and comparisons.
stringAn ordered sequence of characters.
variableA named container in a program that stores a value which can be changed through assignment.

3.10 Lists

TermDefinition
APPENDA list procedure that adds a value to the end of a list, increasing its length by 1.
averageThe mean value of a list of numbers, calculated by dividing the sum of all elements by the number of elements.
complete traversalA list traversal where all elements in the list are accessed.
FOR EACH loopAn iteration statement that assigns each element of a list to a variable sequentially and executes a block of statements for each element.
indexThe position of an element within a list, numbered starting from 1 through the length of the list.
INSERTA list procedure that adds a value at a specified index, shifting existing elements to the right.
iteration statementA control structure used to repeat a block of code, such as a FOR EACH loop, to traverse through elements of a list.
LENGTHA list procedure that returns the number of elements currently in a list.
list indexingThe process of accessing elements in a list by their position, where the first element is at index 1.
list proceduresBuilt-in operations that manipulate lists, such as INSERT, APPEND, REMOVE, and LENGTH.
list traversalThe process of accessing elements in a list, either completely (visiting all elements) or partially (visiting only some elements).
maximum valueThe largest element in a list, which can be determined using an iteration algorithm.
minimum valueThe smallest element in a list, which can be determined using an iteration algorithm.
partial traversalA list traversal where only a portion of the elements in the list are accessed.
REMOVEA list procedure that deletes an element at a specified index and shifts remaining elements to the left.
sequential searchA search algorithm that examines each element in a data set one by one in order until the desired value is found.
sumThe total obtained by adding all elements in a list of numbers, which can be computed using iteration.

3.11 Binary Search

TermDefinition
binary search algorithmA search algorithm that starts at the middle of a sorted data set and eliminates half of the remaining data with each iteration until the desired value is found or all elements are eliminated.
iterationsThe repeated cycles or steps of a process; in binary search, the number of times the algorithm divides the data set in half.
sequential searchA search algorithm that examines each element in a data set one by one in order until the desired value is found.
sorted dataData arranged in a specific order (ascending or descending) that is required for binary search to function correctly.

3.12 Calling Procedures

TermDefinition
argumentThe actual values passed to a procedure when it is called, which correspond to the procedure's parameters.
flow of controlThe order in which statements are executed in a program, including how control transfers to and from procedures.
parameterVariables in a procedure that allow it to accept different input values, enabling the procedure to be generalized and reused with a range of inputs.
procedureA named block of reusable code that performs a specific task and can be called multiple times throughout a program.
procedure callA statement that executes a named procedure, interrupting sequential execution and transferring control to the procedure.
return valuesValues that a procedure sends back to the point where it was called.
sequential executionThe execution of programming statements in the order they appear, one after another.

3.13 Developing Procedures

TermDefinition
argumentThe actual values passed to a procedure when it is called, which correspond to the procedure's parameters.
code readabilityThe quality of being easy to understand and follow in a program, which is improved through the use of procedural abstraction.
code reuseThe practice of using existing procedures or code in multiple places within a program to avoid duplication and manage complexity.
modularityThe subdivision of a computer program into separate subprograms or modules to manage complexity.
parameterVariables in a procedure that allow it to accept different input values, enabling the procedure to be generalized and reused with a range of inputs.
procedural abstractionA programming technique that provides a name for a process and allows a procedure to be used by knowing what it does without needing to know how it works internally.
procedureA named block of reusable code that performs a specific task and can be called multiple times throughout a program.
RETURN statementA statement that causes a procedure to immediately exit and return a value to the calling statement.
subproblemsSmaller, more manageable problems that together form the solution to a larger problem in a program.

3.14 Libraries

TermDefinition
application program interfaceSpecifications that define how procedures in a library behave and how they can be used in programs.
code segmentA portion of a program consisting of one or more lines of code that performs a specific function.
documentationWritten information that explains the behaviors provided by an API or library and how to use them.
procedureA named block of reusable code that performs a specific task and can be called multiple times throughout a program.
software libraryA collection of pre-written procedures and code that can be reused in creating new programs.

3.15 Random Values

TermDefinition
random integerA whole number selected randomly from a specified range, where each integer in that range has an equal probability of being chosen.
random number generationThe process of using a program function to produce unpredictable numeric values, where each program execution may produce different results.
random valuesNumbers generated by a program where each possible outcome is equally likely to occur, and the specific result cannot be predicted in advance.
RANDOM(a, b)A function that generates and returns a random integer from a to b, inclusive, where each result is equally likely to occur.

3.16 Simulations

TermDefinition
abstractionsSimplified representations of more complex objects or phenomena created by removing specific details or simplifying functionality.
biasPrejudice or systematic error in computing innovations that can result from algorithms or data, reflecting existing human prejudices.
hypothesesTestable predictions or proposed explanations about objects or phenomena that can be formulated and refined through simulations.
random number generatorsComputational tools that produce sequences of random values to simulate the variability and unpredictability found in real-world events.
real-world phenomenaEvents, processes, or systems that occur in nature or society that can be represented or studied through computational models.
simulationsAbstractions of real-world objects or phenomena that use varying sets of values to represent changing states for a specific purpose.
variabilityThe natural differences and unpredictability that exist in real-world systems and can be represented in simulations.

3.17 Algorithmic Efficiency

TermDefinition
algorithmStep-by-step procedures or sets of rules designed to solve a problem or accomplish a task.
approximate solutionA solution that is not guaranteed to be optimal but is sought when efficient algorithms for finding optimal solutions are impractical.
decision problemA problem that requires a yes-or-no answer as output.
efficiencyAn estimation of the amount of computational resources (such as time or memory) used by an algorithm, typically expressed as a function of the input size.
exponential efficiencyAn algorithm's efficiency that grows exponentially with input size, causing it to run in an unreasonable amount of time.
factorial efficiencyAn algorithm's efficiency that grows at a factorial rate with input size, causing it to run in an unreasonable amount of time.
heuristicAn approach to a problem that produces a solution that is not guaranteed to be optimal but may be used when techniques that always find an optimal solution are impractical.
optimization problemA problem with the goal of finding the best solution among many possible solutions.
polynomial efficiencyAn algorithm's efficiency that grows at a polynomial rate (constant, linear, square, cube, etc.) relative to input size, allowing it to run in reasonable time.
problemA general description of a task that can or cannot be solved algorithmically, which may have specific inputs or instances.
reasonable timeAlgorithms with polynomial efficiency or lower (constant, linear, square, cube, etc.) that can be solved in a practical amount of time.
unreasonable timeAlgorithms with exponential or factorial efficiencies that require impractically long amounts of time to solve.

3.18 Undecidable Problems

TermDefinition
algorithmStep-by-step procedures or sets of rules designed to solve a problem or accomplish a task.
decidable problemA decision problem for which an algorithm can be written to produce a correct output for all inputs.
decision problemA problem that requires a yes-or-no answer as output.
undecidable problemA problem for which no algorithm can be constructed that is always capable of providing a correct yes-or-no answer for all instances.

3.2 Data Abstraction

TermDefinition
complexityThe degree of difficulty in understanding and maintaining program code, which data abstractions help reduce by hiding implementation details.
data abstractionA programming technique that separates the abstract properties of a data type from the concrete details of its representation, allowing complex data to be managed with a simple name.
elementAn individual value in a list that is assigned a unique index.
indexThe position of an element within a list, numbered starting from 1 through the length of the list.
listAn ordered sequence of elements, where each element is assigned a unique index for reference.
stringAn ordered sequence of characters.

3.3 Mathematical Expressions

TermDefinition
additionAn arithmetic operation represented by the + symbol that combines two numbers to produce their sum.
algorithmStep-by-step procedures or sets of rules designed to solve a problem or accomplish a task.
arithmetic operatorsSymbols used in programming to perform mathematical operations, including addition, subtraction, multiplication, division, and modulus.
code statementA part of program code that expresses an action to be carried out.
divisionAn arithmetic operation represented by the / symbol that splits one number by another to produce a quotient.
expressionA combination of a value, variable, operator, or procedure call that can be evaluated to produce a single value.
iterationA repeating portion of an algorithm that executes a specified number of times or until a given condition is met.
modulus operatorAn arithmetic operator represented as MOD that evaluates to the remainder when one integer is divided by another.
multiplicationAn arithmetic operation represented by the * symbol that combines two numbers to produce their product.
operatorA symbol or keyword that performs an operation on one or more values or variables.
order of operationsThe set of rules that specifies which calculations to perform first in a mathematical expression, with MOD having the same precedence as multiplication and division.
procedure callA statement that executes a named procedure, interrupting sequential execution and transferring control to the procedure.
pseudocodeA method of expressing an algorithm using a combination of natural language and programming-like syntax, independent of any specific programming language.
selectionA control structure that determines which parts of an algorithm are executed based on whether a condition is true or false.
sequencingThe application of each step of an algorithm in the order in which the code statements are given.
sequential code statementsLines of code that are executed in the order they appear, one after another.
subtractionAn arithmetic operation represented by the - symbol that finds the difference between two numbers.
variableA named container in a program that stores a value which can be changed through assignment.

3.4 Strings

TermDefinition
string concatenationThe operation of joining two or more strings end-to-end to create a new string.
substringA contiguous sequence of characters that forms part of an existing string.

3.5 Boolean Expressions

TermDefinition
ANDA logical operator that evaluates to true only if both conditions are true; otherwise it evaluates to false.
Boolean expressionAn expression that evaluates to either true or false, often composed of conditions combined with logical operators.
Boolean valueA value that is either true or false, representing the result of a comparison or logical operation.
logical operatorsOperators such as NOT, AND, and OR that are used to combine or modify Boolean expressions to produce a Boolean result.
NOTA logical operator that evaluates to true if the condition is false, and evaluates to false if the condition is true.
operandA value or expression that a logical operator acts upon, which can be either a Boolean expression or a single Boolean value.
ORA logical operator that evaluates to true if at least one condition is true; otherwise it evaluates to false.
relational operatorsSymbols used to compare two variables, expressions, or values, including =, ≠, >, <, ≥, and ≤.

3.6 Conditionals

TermDefinition
algorithmStep-by-step procedures or sets of rules designed to solve a problem or accomplish a task.
Boolean expressionAn expression that evaluates to either true or false, often composed of conditions combined with logical operators.
conditionA statement that evaluates to either true or false, used to determine the flow of execution in a selection structure.
conditional statementA programming construct that executes different code blocks based on whether a specified condition is true or false.
ELSEA keyword used in conditional statements to specify a block of code that executes when the Boolean condition is false.
if-statementsA type of conditional statement that executes a block of code only if a specified Boolean condition is true.
selectionA control structure that determines which parts of an algorithm are executed based on whether a condition is true or false.
sequential flow of controlThe order in which statements are executed in a program; conditional statements can alter this flow by executing different code based on conditions.

3.7 Nested Conditionals

TermDefinition
conditional statementA programming construct that executes different code blocks based on whether a specified condition is true or false.
nested conditional statementsConditional statements that are placed within other conditional statements, allowing for more complex decision-making logic based on multiple conditions.

3.8 Iteration

TermDefinition
algorithmStep-by-step procedures or sets of rules designed to solve a problem or accomplish a task.
Boolean expressionAn expression that evaluates to either true or false, often composed of conditions combined with logical operators.
conditionA statement that evaluates to either true or false, used to determine the flow of execution in a selection structure.
infinite loopA loop that never terminates because the ending condition will never evaluate to true.
iterationA repeating portion of an algorithm that executes a specified number of times or until a given condition is met.
iteration statementsProgramming statements that repeat a block of code zero or more times until a stopping condition is met.
loop bodyThe block of statements that is repeated within an iteration statement.
REPEAT n TIMESAn iteration statement that executes a block of statements exactly n times.
REPEAT UNTIL(condition)An iteration statement that repeats a block of statements until a Boolean condition evaluates to true.
sequential flow of controlThe order in which statements are executed in a program; conditional statements can alter this flow by executing different code based on conditions.
stopping conditionA Boolean expression that, when true, causes an iteration loop to terminate.

3.9 Developing Algorithms

TermDefinition
algorithmStep-by-step procedures or sets of rules designed to solve a problem or accomplish a task.
averageThe mean value of a list of numbers, calculated by dividing the sum of all elements by the number of elements.
Boolean expressionAn expression that evaluates to either true or false, often composed of conditions combined with logical operators.
conditional statementA programming construct that executes different code blocks based on whether a specified condition is true or false.
equivalentHaving the same value, result, or effect; in algorithms, producing identical outcomes or side effects.
evenly divisibleA condition where one integer divides another integer with no remainder.
maximum valueThe largest element in a list, which can be determined using an iteration algorithm.
minimum valueThe smallest element in a list, which can be determined using an iteration algorithm.
side effectAny change in state or output that occurs as a result of executing an algorithm, beyond its primary return value.
sumThe total obtained by adding all elements in a list of numbers, which can be computed using iteration.

🖥Unit 4 – Computer Systems & Networks

4.1

TermDefinition
bandwidthThe maximum amount of data that can be sent in a fixed amount of time, typically measured in bits per second.
communication protocolsStandardized rules that govern how data is transmitted and received between computing devices on a network.
computer networkA group of interconnected computing devices capable of sending or receiving data.
computing deviceA physical artifact that can run a program, such as computers, tablets, servers, routers, and smart sensors.
computing systemA group of computing devices and programs working together for a common purpose.
data reassemblyThe process of reconstructing the original data from packets that may arrive out of order or incompletely.
data streamA continuous flow of information passed through the Internet, composed of chunks of data organized into packets.
dynamic routingA routing method where the path data takes across a network is determined in real-time rather than being specified in advance.
HTTPA protocol used by the World Wide Web to transmit and receive data between web browsers and servers.
interconnected networksMultiple separate networks that are connected together to form a larger network system, such as the Internet.
InternetA computer network consisting of interconnected networks that use standardized, open communication protocols to enable global communication and data exchange.
IPInternet Protocol; a common protocol used on the Internet for routing packets between devices.
metadataData that describes other data, such as the date of creation or file size of an image, used for finding, organizing, and managing information.
nonproprietaryNot owned or controlled by a single company; publicly available and accessible to all users.
open protocolsNon-proprietary communication protocols that are publicly available and allow users to easily connect additional devices to a network.
packetsChunks of data that are encapsulated with metadata and sent through the Internet from an origin to a destination.
pathA sequence of directly connected computing devices that begins at a sender and ends at a receiver on a computer network.
protocolAn agreed-upon set of rules that specify the behavior of a system and enable devices to communicate with each other.
receiverThe computing device that receives data sent from a sender in a network communication.
routingThe process of finding a path from sender to receiver on a computer network.
scalabilityThe ability of a solution to maintain or improve performance as the problem size or computational resources increase.
senderThe computing device that initiates the sending of data in a network communication.
TCPTransmission Control Protocol; a common protocol used on the Internet that ensures reliable, ordered delivery of data packets.
UDPUser Datagram Protocol; a common protocol used on the Internet for faster but less reliable data transmission compared to TCP.
World Wide WebA system of linked pages, programs, and files that operates on top of the Internet using HTTP protocol.

4.2 Fault Tolerance

TermDefinition
fault toleranceThe ability of a system to continue operating and providing service even when some of its components fail.
network redundancyThe practice of having multiple paths or duplicate components in a network to ensure continued operation if one path or component fails.
redundancyRepetition or unnecessary duplication in data representation that can be reduced through compression.
reliabilityThe ability of a system to perform its intended function consistently and dependably over time.
routingThe process of finding a path from sender to receiver on a computer network.
vulnerabilitiesWeaknesses or points of failure in a system that could cause it to malfunction or stop operating.

4.3 Parallel and Distributed Computing

TermDefinition
distributed computingA computational model in which multiple devices are used to run a program.
efficiencyAn estimation of the amount of computational resources (such as time or memory) used by an algorithm, typically expressed as a function of the input size.
parallel computingA computational model where a program is broken into multiple smaller sequential computing operations, some of which are performed simultaneously.
parallel portionThe part of a solution that can be executed simultaneously across multiple processors or cores.
processing timeThe amount of time required for a computer to execute a computation or solve a problem.
scalabilityThe ability of a solution to maintain or improve performance as the problem size or computational resources increase.
sequential computingA computational model in which operations are performed in order one at a time.
sequential portionThe part of a solution that must be executed in order, one step at a time, and cannot be parallelized.
speedupA measure of parallel computing performance calculated as the time to complete a task sequentially divided by the time to complete it in parallel.
storage needsThe amount of memory or data storage capacity required to solve a problem or store its data.

⌨️Unit 5 – Computing's Impact on Society

5.1 Beneficial and Harmful Effects

TermDefinition
beneficialProducing a positive or advantageous outcome or impact.
beneficial effectsPositive outcomes or advantages that result from the use of a computing innovation.
computing innovationA new or improved computer-based product, service, or concept that includes a program as an integral part of its function, which can be physical, nonphysical software, or a nonphysical concept.
data miningThe process of analyzing large datasets to discover patterns, trends, and insights that can be used for various purposes.
effectA consequence or result of a computing innovation that impacts people, society, or other fields.
harmfulProducing a negative or damaging outcome or impact.
harmful impactNegative consequences or damage that a computing innovation can cause to society, the economy, culture, or individuals.
intended purposeThe original goal or function that a computing innovation was designed to accomplish.
machine learningA computing technique that enables systems to learn and improve from data without being explicitly programmed for each task.
targeted advertisingA marketing technique that uses computing innovations to deliver specific advertisements to individuals or groups based on their data and behavior.
unintended beneficial effectsPositive consequences of a computing innovation that were not originally anticipated by its creators.
unintended purposeA use or application of a computing innovation that was not originally planned or designed by its creators.

5.2 Digital Divide

TermDefinition
accessThe ability to obtain and use computing devices and Internet services.
computing deviceA physical artifact that can run a program, such as computers, tablets, servers, routers, and smart sensors.
demographic characteristicsPopulation characteristics such as age, gender, education level, and other factors that affect access to technology.
digital divideThe differing access to computing devices and the Internet based on socioeconomic, geographic, or demographic characteristics.
equityFair and just access to resources and opportunities, particularly regarding technology and Internet access.
geographic characteristicsLocation-based factors that influence access to computing devices and Internet connectivity.
influenceThe power to affect decisions, information, and opportunities through access to computing and digital resources.
Internet accessThe ability to connect to and use the Internet, which varies based on socioeconomic, geographic, and demographic factors.
socioeconomic characteristicsFactors related to income level and social class that affect access to technology and the Internet.

5.3 Computing Bias

TermDefinition
algorithmStep-by-step procedures or sets of rules designed to solve a problem or accomplish a task.
biasPrejudice or systematic error in computing innovations that can result from algorithms or data, reflecting existing human prejudices.
computing innovationA new or improved computer-based product, service, or concept that includes a program as an integral part of its function, which can be physical, nonphysical software, or a nonphysical concept.
dataInformation represented in a form that can be processed by a program, such as numbers, text, or records.
software developmentThe process of creating and improving software applications where biases can be embedded at multiple levels.

5.4 Crowdsourcing

TermDefinition
citizen scienceScientific research conducted wholly or partly by non-professional scientists who contribute data and observations using their own computing devices.
collaborationThe process of working together with others to develop computing innovations that benefit from diverse talents and perspectives.
crowdsourcingThe practice of obtaining input, information, or solutions from a large number of people via the Internet.
dissemination of resultsThe process of sharing and distributing findings, solutions, or information widely to relevant audiences.
distributed individualsPeople spread across different locations who contribute to a common goal or research project, typically coordinated through digital networks.
problem-solving processesMethods and approaches used to identify, analyze, and develop solutions to challenges, often involving multiple participants working collaboratively.
public dataInformation that is openly accessible to the general public and can be used to identify problems and develop solutions.

5.5 Legal and Ethical Concerns

TermDefinition
algorithm biasPrejudice or unfair treatment built into algorithms that can raise legal and ethical concerns in computing innovations.
Creative CommonsA public copyright license that enables the free distribution of otherwise copyrighted work, allowing others to share, use, and build upon the creator's work.
data monitoringThe continuous collection and analysis of user activities through computing devices, which raises legal and ethical concerns.
digital divideThe differing access to computing devices and the Internet based on socioeconomic, geographic, or demographic characteristics.
intellectual propertyMaterial created on a computer or by an individual that is legally owned by the creator or an organization.
open accessOnline research output that is free of access restrictions and many usage restrictions, such as copyright or license limitations.
open sourcePrograms that are made freely available and may be redistributed and modified by users.
plagiarismThe use of material created by someone else without permission and presented as one's own, which may have legal consequences.

5.6 Safe Computing

TermDefinition
authentication measuresSecurity methods used to verify the identity of a user and protect devices and information from unauthorized access.
biometric dataPersonal information based on physical or behavioral characteristics, such as fingerprints or facial recognition, that can be used to identify an individual.
browsing historyA record of websites and pages an individual has viewed that can be collected and maintained by websites and networks.
certificate authorityAn organization that issues digital certificates to validate the ownership of encryption keys based on a trust model.
computer virusA malicious program that can copy itself and gain unauthorized access to a computer, often by attaching itself to legitimate programs.
cookiesData files stored on a user's device that track browsing behavior and can be aggregated with other personal data.
data aggregationThe process of combining disparate personal data from multiple sources to create comprehensive knowledge about an individual.
decryptionThe process of decoding encrypted data to make it readable.
digital certificateA credential issued by a certificate authority that validates the ownership of encryption keys used in secure communications.
encryptionThe process of encoding data to prevent unauthorized access.
freewareFree software that can potentially contain malware if downloaded from untrustworthy sources.
geolocationInformation about a user's physical location that can be collected by devices, websites, and networks.
identity theftThe unauthorized use of a person's PII to impersonate them or commit fraud.
keyloggingThe use of a program to record every keystroke made by a computer user in order to gain fraudulent access to passwords and confidential information.
malicious linkA link that can be disguised on a web page or in an email message to compromise computing security.
malwareSoftware intended to damage a computing system or to take partial control over its operation.
malware scanning softwareSoftware designed to detect and protect a computing system against infection from viruses and malware.
multifactor authenticationA method of computer access control requiring a user to present at least two separate pieces of evidence from the categories of knowledge (something they know), possession (something they have), and inherence (something they are).
permissionsSettings that control what information programs are allowed to collect from users and how they can access user data.
personally identifiable informationInformation about an individual that identifies, links, relates, or describes them, such as Social Security numbers, age, race, phone numbers, medical information, financial information, or biometric data.
phishingA technique that attempts to trick a user into providing personal information that can be used to access sensitive online resources.
public key encryptionAn encryption approach that uses a public key for encryption and a private key for decryption, allowing secure communication without sharing the private key.
rogue access pointA wireless access point that gives unauthorized access to secure networks.
search historyA record of searches made by users on search engines that can be collected, maintained, and used for targeted marketing or other purposes.
sharewareSoftware available for free or low cost that can potentially contain malware if downloaded from untrustworthy sources.
social mediaOnline platforms where individuals post information that can be viewed, shared, and used by others in ways not originally intended.
software updatesRegular patches and improvements to software that fix errors and design flaws that could compromise a computing system.
strong passwordA password that is easy for the user to remember but difficult for others to guess based on knowledge of that user.
symmetric key encryptionAn encryption approach that uses one key for both encrypting and decrypting data.
targeted advertisingA marketing technique that uses computing innovations to deliver specific advertisements to individuals or groups based on their data and behavior.
unauthorized accessGaining access to computing resources without permission, often through techniques like phishing, keylogging, or rogue access points.

Browse All A-Z

#

A