AP Computer Science Principles Vocabulary
Algorithm
A generalized solution to a problem that can be implemented in a computer program.
Application Program Interface (API)
A set of routines, protocols, and tools for constructing software applications. Specifies how software components should interact.
Binary
A numeric system of base 2, using only 0 and 1.
Computers operate in binary to store data and perform calculations.
Binary Search
A search algorithm that locates a target value within a sorted array by repeatedly dividing the search interval in half.
Can only be used when the list is sorted.
Boolean Function
A function based on the operations AND, OR, and NOT, with elements from the domain of Boolean algebra.
Central Processing Unit (CPU)
The "brains" of the computer where most calculations take place.
Contains the circuitry to interpret and execute program instructions.
Computational Artifact
Something created by a human using a computer (e.g., program, image, audio, video, presentation, or web page file).
Cryptography
The science of coding and decoding messages to keep them secure, using a key known only by the sender and recipient.
Floating Point Numbers
Numbers that contain floating decimal points (e.g., 5.5, 0.001, -2345.6789).
Numbers without decimal places are called integers.
Hexadecimal
A base-16 number system using 0-9 and A-F.
Used to represent digital data using fewer digits than binary.
Integers
Whole numbers (not fractions) that can be positive, negative, or zero.
Iterations
The repetition of part of an algorithm until a condition is met or for a specified number of times (loop).
Libraries
A collection of non-volatile resources that a program can use, often to develop software.
Linear/Sequential Search
A process that checks every element in a list sequentially until the desired element is found or all elements have been searched.
Lossless Data Compression
Compression where every bit of data remains after uncompression.
Used for text or spreadsheet files.
PNG is an example.
Lossy Data Compression
Compression that reduces a file by permanently eliminating certain information. Used for video and sound.
JPEG is an example.
Metadata
Data that describes other data, providing basic information about an item's content.
Parameters/Arguments
Values passed into a function.
Pseudocode
A readable description of what a computer program or algorithm must do, expressed in a formally-styled natural language.
Sequencing
The execution of each step/action of an algorithm in the precise order in which the statements are given.
Simulations
The use of a computer to represent the dynamic responses of one system by the behavior of another system modeled after it.
Strings
A data type used to represent text.
Repetition
Synonym for loop and iteration.
Selection/Conditional
A building block of algorithms that adds conditions.
Allows for statements such as if-else which can send an algorithm down one of two paths depending on if a condition is true or false.
If-Else
A structure related to selection which states that "if" one thing is true then this should happen, else that should happen.
Encryption
Securing information so that it is inaccessible to third parties.
Cryptology
The study of securing (or encrypting) information such that it is inaccessible by third parties.
Caesar Cipher
An encryption algorithm which works by aligning two alphabets against one another and offsetting them by a number of positions.
Plaintext
The original unencrypted message.
Ciphertext
The encrypted message, formed by applying an encryption algorithm to the plaintext.
Vigenere Cipher
An encryption algorithm which works by applying a key word to a plaintext. It uses multiple Ceasar Ciphers to encrypt a single plaintext making it more secure.
Cybersecurity
Measures taken to protect a computer or computer system against unauthorized access or attack.
CIA Triad
Defines the target areas when developing a secure system.
Confidentiality, Integrity, and Availability.
Authentication
The process of determining whether someone or something is, in fact, who or what it is declared to be.
Bits: Binary Digits
A bit (short for binary digit) is the smallest unit of data in a computer. A bit has a single binary value, either 0 or 1.
Matrices
An array of values arranged in rows and columns. Used to determine the integrity of sent information.
Even/Odd Parity
Used to ensure the integrity of information, each row and column of a matrix should either be even or odd, if not the data is incorrect and will be corrected.
Botnets DDoS: Distributed Denial-of-Service
Networks made up of remotely controlled computers infected with malware.
Social Engineering
The psychological manipulation of people into performing actions or divulging confidential information.
Phishing
To masquerade as an official representative of an organization and ask or demand confidential information.
Malware
Malicious software aimed at harming a computer/user.
Viruses/Worms
Spreads within a computer network and can multiply. Can be halted by anti-virus software.
Keyloggers
Software/hardware device which tracks key clicks and screens
Backdoors
Used to access programs by administrators but can be found by hackers with malicious intent.
Trojan Horses
A type of malware disguised as safe software.
Time Bombs
A computer virus which lays dormant until a specific condition is met, either a specific set of data or after a predetermined time.
Spyware
Software installed without a user's knowledge to track their activity, can access microphones and face-cams.
Low-Level Language
Low-level languages are optimized for machines. Computers are built using highly structured circuitry that responds to very logical and clear signals.
Machine Code
Machine languages are the most basic type of programming language. They represent the actual binary instructions issued to computer processors and are very difficult for humans to read.
Compiler
A program which translates each of your high-level, human-readable instructions into a corresponding string of 1s and 0s that make sense to the computer's processor.
Compilation
The process of translating high level programming languages (source code) to machine code.
High-Level Language
Languages that are best for human communication. These languages are complex and use a high level of abstraction.
Source Code
The programs that programmers write in high-level languages are known as source code.
Visual Programming Language
Allows programmers to drag and drop pictures or icons into organized blocks that represent the different parts of a program.
Bugs/Errors
Sometimes the design of the algorithm is flawed, leading to a program that misperforms. Other times, the algorithm is sound, but the program fails to accurately implement it in the chosen programming language.
Ambiguous
Describes a statement whose exact meaning can be interpreted in different ways.
Moore's Law
The number of transistors that could fit on a silicon chip roughly doubled every one to two years.
Heuristics
A problem solver's "Rules of Thumb"; they serve as general guidelines meant to encourage progress toward a good answer, but with no guarantee of actually generating "the correct answer".
Linear
As the size of a problem grows, the amount of work required grows at approximately the same rate.
Logarithmic
Every doubling of the size of a problem only requires one extra unit of work.
Constant
No matter how much a problem grows, the amount of work stays more or less the same.
The Halting Problem
Proved by Alan Turing to be computationally undecidable. He states that you cannot write a program that will tell you which computer programs will halt (i.e., exit) and which ones will continue forever (i.e., infinitely loop).
Scalability
How well an algorithm performs at larger and larger scales.
Efficiency
How much work an algorithm requires to find the solution.
Social Networking
A virtual world which allows for communication between friends, family, and strangers with similar interests who in the past would have never crossed paths with you.
Public Communication
Information is available to anybody at anytime such as a web site.
Private Communication
Allow one individual to specify their intended contact(s) and limit the conversation to just those parties. employ encryption so that the digital information that makes up the communication signal is encoded before it is transmitted across the Internet and then decoded only after it reaches its destination.
Simple Mail Transfer Protocol (SMTP)
Defines how all email transmission is handled.
Open Platform
Do not have a single owner calling the shots. Instead, they might have a centralized committee of interested partners to coordinate and manage the development and growth of the platform.
Closed Platform
Each company controls the data that they store and strictly regulates how that data can be accessed and modified by its users.
Asymmetric Relationship
These relationships are one-way, requiring action by only one party to create the relationship.
Public Key Encryption
Allows the generation of two keys: a public key (made available publically) and a private key (known only by the owner).
Certificate Authorities
Issue digital certificates that validate the ownership of encrypted keys used in secured communications and are based on a trust model.
Symmetric Relationship
involves mutual actions by both parties in the relationship.
Symmetric Key Encryption
involves both parties using the same key to encrypt and decrypt data.
Wikis
A platform in which multiple users are able to collectively contribute to a shared knowledge base.
Commerce
The activity of buying and selling, especially on a large scale.
Crowdfunding
Uses online access to customers as a means of funding projects.
Cloud Computing
The ability to "offload" large amounts of computational and data storage efforts onto remotely hosted servers and online services.
Client
Stands at one end of the communication process and typically represents the end-user.
Server
A centralized computer that all individual end users connect to. In other words, the server serves the needs of its clients (i.e., users).
Digital Divide
Describes the gap that exists between those who have sufficient access to information and communication technologies and those who do not.
Bandwith
A measure of bit rate — the amount of data (measured in bits) that can be sent in a fixed amount of time.
Latency
The time elapsed between the transmission and the receipt of a request.
Nodes
A machine or device that acts as either a communication endpoint (e.g., a client computer or a remote server), a connection point that links together two other nodes (e.g., a gateway, bridge, or modem), or a redistribution point that links together multiple nodes and other networks (e.g., a router, hub, or switch).
Protocols
A set of formal standards that specify the proper formatting of data, communication procedures, and handling of information between any two networked components.
Application Program Interface (API)
Simplify complex programming tasks by providing developers the building blocks necessary to interface with an existing environment or other software components.
Ethernet
This protocol specifies the use of physical, short-range connections commonly used in local area networks (LAN), such as homes or offices, which uses coaxial cable, twisted pair, or fiber optic connections.
Wireless LAN
The standard wireless protocol for Wi-Fi communications seen in most laptops, phones, tablets, and other networked devices that are not physically connected to a network.
Bluetooth
Another wireless connectivity protocol intended specifically as a peer-to-peer connection between two close-range devices.
Transmission Control Protocol (TCP)
Ensures that all packets of a data stream are transmitted and received exactly as originally sent.
User Datagram Protocol (UDP)
Similar to TCP but is better suited for applications in which speed is more important than accuracy or completeness of information, such as online gaming or video or audio streaming.
Internet Protocol (IP)
Specifies how individual packets of information are packaged and labeled for delivery, much like the way that the postal service specifies how envelopes and packages should be sized, addressed, and stamped.
Hypertext Transfer Protocol (HTTP)
The primary tranport protocols used by the World Wide Web for delivering web content.
File Transfer Protocol (FTP)
For sending files
Domain Name System (DNS)
For looking up IP addresses of domains. Correlates IP adresses with the site names we normally use.
IP Address
Specifies, the relative location of each node on the network, a unique numerical identifier, that allows other nodes to know which nodes they are directly connected to and to determine a route for sending data to its intended destination.
IPv4
The old yet still commonly used IP system which can only generate 4.3 billion unique, 32-bit addresses, which limits the Internet to a maximum capacity of no more than 4.3 billion nodes and some places are running out.
IPv6
Uses 128-bit addresses — four times the length of the IPv4 addresses. With 128 bits of data packed into each address, this new standard is capable of sustaining more than 3.4x1038 individual nodes.
World Wide Web (WWW)
A content-oriented ecosystem that has been built atop the globally networked infrastructure of the Internet.
Net Neutrality
Concerns itself with ensuring equal and unrestricted access to all legal content that is available throughout the Internet.
Common Carriers
A classification for a person or company that transports goods or people for another party and that is responsible for any possible loss of the goods during transport. (Telephone Companies)
Internet of Things
The interconnection via the Internet of computing devices embedded in everyday objects, enabling them to send and receive data.
Autonomous Technology
Technology which is capable of performing actions and making decisions without user input.
Usable Data
Data is usable if you can use it, regardless of whether that data is informative or useful.
Useful Data
Data is usable if you can use it, regardless of whether that data is informative or useful.
Big Data
A broad term for datasets so large or complex that traditional data processing applications are inadequate.
Unstructured Data
Unstructured data contain everything collected in "raw" form, but connections and relationship among strands of data are both harder to trace and much slower to process than structured data sets.
Structured Data
On the other hand, structured data are easy to access and organize, but may lack the big picture and details that unstructured data may possess.
Screen (data) Scraping
The conversion of data formatted for human use to a format more easily used by automated computer processes.
Spiderbots
Small programs that follow a very simple routine… Visit a series of web pages Gather all of the links on each page visited Add the links to its list of pages to visit in the future. Repeat until it has visited all pages in its list
Index
Organizes based on ideas.
Concordance
Organizes based off of simple words.
Data Persistence
What happens online, stays online. Computer scientists refer to this as the persistence of digital data.
Filter Bubble
A filter bubble is a result of a personalized search in which a website algorithm selectively guesses what information a user would like to see based on information about the user (such as location, past click behavior and search history) and, as a result, users become separated from information that disagrees with their viewpoints, effectively isolating them in their own cultural or ideological bubbles.
Data Breaches
A data breach is an incident in which sensitive, protected or confidential data has potentially been viewed, stolen or used by an individual unauthorized to do so.
Statistical Analysis
The science of collecting, exploring and presenting large amounts of data to discover underlying patterns and trends.
Data Mining
Data mining is akin to the discovery of patterns in large data sets. Like ore mining, data mining begins with an exploration (analysis) of a resource pool (data), and proceeds to determine whether usable resources exist (correlations) and to what degree (how strong they are).
Anomaly Detection
The identification of unusual data records, that might be interesting or simply data errors and require further investigation.
Association Rule Learning
Searches for relationships between variables.
Clustering
The task of discovering groups and structures in the data that are in some way or another "similar," without using known structures in the data.
Classification
The task of generalizing known structure to apply to new data.
Regression
Attempts to find a function that models the data with the least error.
Summarization
Providing a more compact representation of the data set, including visualization and report generation.
Outlier Detection
The automated process of discovering data points that do not match the patterns inherent in the data as a whole. Assumes that only uncommon words are useful in a summary.
Interactive Infographics
Infographics are visual tools that allow information, data, or knowledge to be quickly and easily communicated through a single image.
ReCAPTCHA
A digital tool used to deter automated form-filling and exploitation of web-based registration systems.
Crowdsourcing
The 'wisdom of the crowd' phenomenon occurs when a large number of individuals are asked to estimate something. The average of the estimates is usually extremely close to the actual result.
State
Encapsulates attributes—a description of what the computer is doing at any given moment.
Variables
A placeholder for a value that was unknown.
Switching
The basis for if / else statements which allow programs to perform a different set of code depending on if a condition is met.
Nesting
Occurs when one if / else block is contained entirely within another allowing for multi-step decisions.
Abstraction
At a basic level, abstraction is the process of "removing detail. " Allows for large problems to be feasibly solved.
Procedure
A procedure is a named collection of steps in an algorithm that can be reused anytime it is needed. A procedure is an abstraction because the details of how it is performed are only defined once. Repeated use of the procedure then ignores the details that define it.
Parameters
A numerical or other measurable factor forming one of a set that defines a system or sets the conditions of its operation.
Program Implementation
Program implementation refers to how well a proposed program or intervention is put into practice and is fundamental to establishing the internal, external, construct, and statistical conclusion validity of outcome evaluations.
Debugging
The process of identifying and removing errors from computer hardware or software.
MOD Function
A function which finds the remainder of a division problem.
Programming Documentation
A commentary on the program's code
Infinite Loop
Occurs when, in an if / then statement, the "then" code triggers the "If" condition. Thus, the set of code will repeat for eternity, or until the power shuts off.
Binary
Binary code is another example of a dichotomous relationship. Binary code is represented with the two symbols 1 and 0.
State Space
Technically, the phrase state space refers to the space of potential possibilities.
ASCII
This ASCII (American Standard Code for Information Interchange) table outlines a common set of conventions established for converting between binary values and alphanumeric characters.
Noise
Irrelevant or meaningless data that has found its way into otherwise meaningful code.
Unicode
Unicode is a binary encoding system that can represent much more of the world's text than ASCII can.
Data Structure
A particular way of storing data.
Lists
A data type which represents a countable number of ordered values, where the same value may occur more than once.
Insertion Sort
A simple sorting algorithm that is relatively efficient for small lists and mostly sorted lists.
Selection Sort
In-place comparison sort that is inefficient on large lists. It is simple but generally performs worse than insertion sort.
Bubble Sort
Continuously steps through the list, swapping items until they appear in the correct order. Algorithm starts at the beginning of the data set, compares the first two elements, and if the first is greater that the second, it swaps them.
Raster Image
An image represented via a data structure which relies on individual pixels
Vector Image
Images represented through 2-dimensional point located polygons. Allows for shape, location, and direction, information to be expressed more concisely.
Image File Extension
An image file format is a standardized means of storing and organizing digital images.
JPG (Lossy)
Can decrease file sizes significantly, load in successively on web pages (blurry to crisp) Does not support transparency, too much quality can be lost making it visibly inferior.
PNG (Lossless)
Decreases file size, advanced transparency, wide range of colors. Not all old browsers display these images the same. Images requiring transparency and fidelity, especially text
GIF (Lossy)
Supports transparency, reduces file sizes, can load in segments, can create animation. Significantly reduces color variability.
SVG (Lossless)
Creates images which can scale in size wit no loss in quality. Uses a vector format which is not common. Images which must look clear on phone and television screens.
TIFF (Lossy or Lossless)
The lossless variety keeps the images in pristine condition (no compression). File sizes remain extremely large. Images which can not suffer from any loss of data.
Creative Commons
One of several public copyright licenses that enable the free distribution of an otherwise copyrighted work.