Glossary

5 Steps to a 5: AP Computer Science Principles 2024 - Sway J.S. 2023

Glossary
Appendix

Abstraction Abstraction is the process of removing unnecessary details to focus on essential ones.

Algorithm An algorithm is a set of steps to do a task or solve a problem.

Analog data Analog data is a continuous series of data values that change smoothly over time.

API API stands for Application Programming Interface. APIs define how other programs can interface or interact with their programming module or application.

Argument An argument holds a value that is passed to a procedure when it is called. An argument can be a constant, a variable, or an expression to evaluate.

Arithmetic operators These are the symbols used in computer programs for mathematical operations.

+ addition

— subtraction

* multiplication

/ division

MOD modulus math results in the remainder after dividing

Assignment statement An assignment statement stores a value in a variable. The right side of the assignment statement is evaluated, and the result is stored in the variable on the left side of the assignment operator, which is the ← for this course.

Authentication Authentication involves verifying users requesting access to a system before providing admittance.

Bandwidth Bandwidth measures the amount of data that can be sent over a network in a fixed amount of time.

Bias Bias in computer science is the discrimination for or against certain groups or individuals. The bias can come from the data used or the way the code was written.

Binary number system The binary number system uses the values 0 and 1 and is used by computers at the lowest level to execute code.

Binary search A binary search is an algorithm that uses a “divide and conquer” process. The data must be sorted, and each iteration searches in the middle of the dataset. After determining if the value is higher or lower than the value at the current position, the half of the dataset that does not contain the value is no longer included in subsequent iterations of the search.

Bit A bit is a binary digit, which can only be 0 or 1.

Boolean values These are values that can only be true or false.

Byte A byte is made up of 8 bits.

Certificate Authority (CA) A Certificate Authority issues digital certificates that verify that the data encryption code belongs to the organization. This enables the transfer of confidential data such as passwords or credit card information on the associated website.

Citizen scientist Citizen scientists are volunteers who work with a scientific team to help collect or review data from their home, which can be in a separate location than the scientific team.

Clarity The clarity of a program means how easy it is to understand the code.

Classifying data Classifying data involves organizing and identifying categories that fit the data to make it easier to search for patterns and trends leading to insights.

Cleaning data Cleaning data is the process of identifying incomplete or duplicate data and ensuring the data is uniform (St. or street) without changing the meaning of the data.

Code segment A code segment can be a single line or a collection of lines of code that are part of a program.

Code statement Code statements are sections of a program with an action to be executed.

Collaboration Collaboration is people working together to produce a quality product.

Comments Comments are used to document a program. They should be used to include a brief description of the program, along with who wrote it and when, and to document complicated sections of code. Comments are for people and are ignored by the computer.

Computer virus A computer virus is spread by attaching itself to a valid file. It can then replicate and spread, either collecting or destroying data and programs.

Computing device A computing device is a piece of equipment that can run a computer program.

Computing network A computing network is a connection of computing devices that send and receive data.

Computing system A computing system is when multiple computing devices and programs work together for a specific purpose, such as managing the power grid.

Concatenation Concatenation is when strings are joined or “glued” together to form a new string.

Condition Conditions use the relational operators (<, ≤, >, ≥, =, and ≠) to compare two values, variables, or expressions and return true or false.

Creative Commons Licensing Creative Commons Licensing allows creators to assign different levels of copyright access to their intellectual property.

Crowdfunding Crowdfunding uses resources like the Internet to ask people across the globe to donate money to help fund their project or need.

Crowdsourcing Crowdsourcing provides opportunities for anyone with access to a site to participate in various ways, such as providing feedback, helping to solve problems, offering funding, or offering assistance finding employment.

Cybersecurity Cybersecurity protects our computing devices and networks from attacks and unauthorized access.

Data abstraction Data abstraction is assigning a data value to a list. The list can be used and updated without needing multiple variables to hold the data, copies of the data in the program or knowing the details of how it is stored.

Data mining Data mining analyzes large datasets to search for patterns that can lead to new insights for the organization.

Data stream Data streams are segments of data packaged in packets sent through a network such as the Internet.

Debugging Debugging is finding and correcting errors in a program.

Decidable problem A problem is decidable when an algorithm can be created that provides a yes or no answer for all instances of the problem.

Decision problem A decision problem only needs a yes or no answer.

Decryption Decryption is the process of deciphering an encrypted message so it can be read.

Digital data Digital data is made up of discrete data values. These look like stairsteps and can approximate analog data.

Digital divide The digital divide describes those who lack access to the Internet based on location, economic, or accessibility reasons.

Distributed computing system Distributed computing systems are when multiple computers are used to process a program or application. The computers each have their own processor and communicate over a network. The Internet is an example of a distributed computing system.

Efficiency The efficiency of an algorithm measures the amount of resources, such as memory and time, it takes to run.

Element Each data value in a list is an element. It is referenced through its index.

Encryption Encryption is the process of converting data into a coded format.

Event-driven programming Event-driven programming is when a program operates in a wait state and an action, such as pressing a button, provides input and triggers a section of code to run.

Expression An expression is a combination of variables or values and operations to be performed on them. Expressions are evaluated to determine a single value.

Fault-tolerant A system, such as the Internet, is fault-tolerant when redundancy is built in to ensure processing can occur even when sections of the system are not working.

Filtering data Filtering data involves selecting a subset of data, sometimes based on its classifications, to use for further analysis.

Heuristic A heuristic is a solution to a problem that is not optimal or the best but is close enough to work, especially when the optimal solution is unreasonable.

Hypertext Transfer Protocol (HTTP) The World Wide Web uses HTTP to send requested web pages across the Internet.

Hypertext Transfer Protocol Secure (HTTPS) HTTPS provides the secure processing of a web page. Always check for HTTPS before making a purchase online to ensure your credit card number is encrypted.

Incremental development process An incremental development process subdivides a program into small modules. Each section is coded, tested, and approved and then added to the larger application and tested with other completed parts of it.

Information Information is data that has been analyzed and has meaning applied to it. Information can guide decision-making for the data owners.

Intellectual property Anything a person creates using a computer is the intellectual property of that person.

Internet Protocol (IP) address An Internet Protocol address is a unique number assigned each time a device connects to the Internet. It is how the network knows where to find your device to get and send requested information.

Iterative Iterative means to repeat code a specified number of times or until a condition is true (for this course) using a loop structure.

Iterative development process The Iterative development process repeats the steps of coding, testing, and feedback to refine a section of code until it is complete.

Keylogging Keylogging software is malware that captures keystrokes and stores them in a file that is later transmitted to whoever planted the software.

Library A library is a collection of programs where the executable code is made available to other programmers. The entire library or a module from it can be imported into a program.

Linear search A linear search is a sequential search of a dataset. It starts at the beginning and checks each value to see if it matches the target value being sought.

Lists A list is a collection of data values stored in one variable. Each data value, or element, is referenced by its index position.

Logic error A logic error occurs when the code runs but produces incorrect results.

Logical operators The logical operators are AND, OR, and NOT and are used to create more complex conditions that evaluate to a Boolean value (true or false).

Lossless data compression Lossless data compression is a technique to make files smaller and allows the original file to be restored when the data is decompressed.

Lossy data compression Lossy data compression techniques can achieve more compression than lossless techniques, but some data is lost, and the original file cannot be restored.

Malware Malware stands for malicious software and includes anything placed on a device, unknown to the owner, for destructive purposes.

Metadata Metadata is data about data, such as the author of a document. It is used to help organize and find data.

Modularity Modularity is a style of programming that breaks the requirements into smaller pieces until each module does a specific task or set of tasks.

Modulus This operation provides only the remainder after dividing.

Multifactor authentication Multifactor authentication uses more than one method to ensure someone trying to access an account should be granted access.

Open access Data that is open access is freely available online with limited, if any, copyright restrictions.

Open source Open-source software is available for anyone to use or modify without restrictions.

Optimization problem An optimization problem attempts to find the best solution for the problem.

Overflow error An overflow error occurs when a number is too large for the number of bits the programming language allocates for it. The sign bit for the number is flipped as the number “overflows” out of its assigned range of bits.

Packets Packets are created by breaking data into same-size segments (except possibly the last one). A header is created with the sending and receiving IP addresses, the size of the packet, and its position in the reassembled data stream.

Parallel computing system Parallel computing systems use multiple computers to process a section of a program at the same time. The results are then combined for the complete solution. The devices in a parallel computing system share memory.

Parameter Parameters are used to accept data values into a procedure. The values are sent through arguments when the procedure is called.

Patterns in data Raw data is analyzed for patterns to help gain insights into its meaning.

PII (Personally Identifiable Information) PII is any information that identifies you such as birthdate, address, driver’s license number, and email address.

Phishing A phishing attack uses messages and websites that look like another organization’s official site to fool users into clicking on it and entering information such as passwords and account data.

Plagiarism Plagiarism is copying information or computational artifacts without direct permission from the owner/creator or without permission via the use of Creative Commons licensing.

Procedural Abstraction Once a procedure is defined, tested, and working, it can be encapsulated or protected so users of it only need to know the input to send it and the output to expect from it. The details of how the procedure accepts the input and produces the output do not need to be known and are abstracted away.

Procedure A procedure is a defined block of code that does a specific task or tasks. It does not run until it is called in the program, and it can be called as many times as needed.

Program A program is a collection of code to perform a specific task.

Program behavior A program’s behavior is how it performs when it is running and how users interact with the program.

Program documentation Program documentation describes a program’s purpose and how it achieves it. Documentation is used by anyone who needs to review and understand the code. Documentation can also include the user’s manual on how to use the program and help text to solve errors that occur.

Program input Program input is data sent to a program. It can be in a variety of formats, depending on what the program will accept.

Program output Program output is data produced by the program and sent by the program to a device such as a screen or printer or file.

Prototype A prototype is a draft or incomplete version used to obtain feedback from users and team members before allocating resources such as time and money to create the final version.

Protocols Protocols are rules. The Internet has protocols that are open for everyone to ensure that different manufacturers create equipment that can connect to and communicate with all other devices and equipment following the same protocols.

Pseudocode Pseudocode is a combination of natural language, such as English, and program code. It is used to design the structure or outline of a program prior to writing the code.

Public key encryption Public key encryption uses one key for encrypting data and another to decrypt it. The encryption key is public knowledge, and the decryption key is private to the person receiving the data.

Readability Making a program readable should be a goal of every programmer. The use of blank space and comments along with well-named variables and procedures help to make a program more readable.

Redundancy Redundancy, or duplication, is designed into the Internet to keep it operating even when sections of it are nonfunctional.

Relational operators The relational operators are the same as those used in mathematics: <, ≤, >, ≥, =, and ≠. They are used in comparisons to determine if the two operands match the operator or not and return the Boolean value of true or false.

Requirements Requirements are the specifications for the program to meet once it is complete.

RETURN statement The RETURN statement is used to immediately exit a procedure and return control back to the calling program. RETURN is also used to send values back to the calling program.

Rogue access point A rogue access point is one that is on an organization’s secure network, but it is not managed by their network administrator.

Round-off or Rounding error A rounding error occurs because real numbers (those with decimals) are stored imprecisely in computer memory. 0.1 could be stored as 0.0999998.

Router A router manages the devices and routes packets to their destination along a network path. It can provide wireless access for smaller networks.

Runtime error A runtime error occurs when the program is executing. The error may not occur each time the program runs but only when certain conditions exist, such as trying to divide by zero.

Scalability Scalability in networking means devices can be easily added or removed without interrupting service. The Internet is scalable because new devices and networks can be added without impacting the current operational structure.

Selection statement Selection statements are used to filter out sections of code that are only executed when a specified condition is true. Different code can be executed when the condition is false.

Sequential computing system A sequential computing system processes data by executing lines of code one after the other in order.

Sequential statement A sequential statement executes as soon as the program statement ahead of it finishes executing. These run one after the other in the order specified and should be in the correct order to avoid invalid results.

Simulation A simulation is a test environment of a model representing a real object or event.

String A string is a series of characters. These can be letters, symbols, or numbers. When numbers are part of a string, mathematical operations cannot be performed on them.

Substring A substring method returns a specified section of a string.

Symmetric key encryption Symmetric key encryption uses the same key to encrypt and decrypt data.

Syntax error Syntax errors break the rules of the programming language. A program cannot run until the syntax errors are corrected.

Targeted marketing Targeted marketing is when advertising is sent to a specific group of people, usually based on their prior searches and pages viewed.

Testing Testing involves executing a program to ensure it produces correct output that meets the program requirements.

Transmission Control Protocol/Internet Protocol (TCP/IP) Transmission Control Protocol/Internet Protocol are the rules that govern the breaking of information into packets, sending the data stream across the Internet to its destination, and reassembling the packets to display the information.

Traverse Traverse means to process all or part of a list’s elements.

UDP User Datagram Protocol can be used in place of TCP to create and reassemble packets and work with IP to send the packets across the Internet. UDP does not send an acknowledgment that packets were received, whereas TCP does. UDP is faster than TCP.

Undecidable problem An undecidable problem is one where an algorithm cannot be written that returns a yes or no response for all inputs.

Unreasonable problem An unreasonable problem occurs when an algorithm to find the optimal solution takes too long or too much memory using current computing capabilities. Algorithms with exponential or factorial efficiency run in an unreasonable amount of time.

User interface The user interface includes all the ways a user would interact with a program, including providing input and viewing output.

Variable A variable is a holding place for data.

World Wide Web (www) The World Wide Web is an application that uses the Internet to share web pages, files, documents, images, and other forms of data.