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.