1/90
Flashcards to help study for the AP Computer Science Principles exam.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Computing Innovation
Includes a program as an integral part of its function and can be physical or nonphysical.
Effective Collaboration
Produces a computing innovation that reflects the diversity of talents and perspectives.
Diverse Perspectives
Helps avoid bias in the development of computing innovations.
Purpose of Computing Innovations
Solve problems or to pursue interests through creative expression.
Program
A collection of program statements that performs a specific task when run by a computer
Behavior of a Program
How a program functions during execution and how a user interacts with it.
Program Inputs
Data sent to a computer for processing by a program, coming in tactile, audio, visual, or text forms.
Event
Associated with an action and supplies input data to a program.
Event Driven Programming
Program statements are executed when triggered rather than through sequential flow.
Program Outputs
Any data sent from a program to a device
Development Process
Ordered and intentional or exploratory in nature
Common Phases of Program Development
Investigating and reflecting, designing, prototyping, and testing.
Iterative Development Process
Requires refinement and revision based on feedback, testing, or reflection.
Incremental Development Process
Breaks the problem into smaller pieces and ensures each piece works before adding it to the whole.
Investigation
Used for understanding and identifying the program constraints, as well as the concerns and interests of the people who will use the program.
Program Requirements
Describe how a program functions and may include a description of user interactions.
Program Specification
Defines the requirements for the program
Design Phase
Outlines how to accomplish a given program specification.
Program Documentation
Written description of the function of a code segment, event, procedure, or program, and how it was developed.
Comments
A form of program documentation written into the program to be read by people and do not affect how a program runs.
Logic Error
Mistake in the algorithm or program that causes it to behave incorrectly or unexpectedly.
Syntax Error
Mistake in the program where the rules of the programming language are not followed.
Runtime Error
Mistake in the program that occurs during the execution of a program.
Overflow Error
Error that occurs when a computer attempts to handle a number that is outside of the defined range of values.
Testing
Uses defined inputs to ensure that algorithm or program is producing expected outcomes.
Bit
Shorthand for binary digit and is either zero or one.
Byte
Eight bits
Abstraction
The process of reducing complexity by focusing on the main idea.
Analog Data
Has values that change smoothly rather than in discrete intervals
Sampling Technique
Measuring values of the analog signal at regular intervals
Data Compression
Can reduce the size or number of bits of transmitted or stored data.
Lossless Data Compression
Algorithms can usually reduce the number of bits stored or transmitted while guaranteeing complete reconstruction of the original data.
Lossy Data Compression
Algorithms can significantly reduce the number of bits stored or transmitted, but only allow reconstruction of approximation of the original data.
Information
Collection of facts and patterns extracted from data.
Metadata
Data about data.
Cleaning Data
Process that makes the data uniform without changing its meaning.
Variable
Abstraction inside a program that can hold a value.
List
Ordered sequence of elements.
Element
Individual value in a list that is assigned a unique index.
String
Ordered sequence of characters
Data Abstraction
Provides a separation between the abstract properties of a data type and the concrete details of its representation.
Algorithm
Finite set of instructions that accomplish a specific task.
Sequencing
Application of each step of an algorithm in the order in which the code statements are given.
String Concatenation
Joins together two or more strings, end to end to make a new string.
Substring
Part of an existing string.
Boolean Value
Either true or false
Selection
Determines which part of an algorithm are executed based on a condition being true or false.
Iteration
Repeating portion of an algorithm.
Linear Search (Sequential Search)
Check each element of a list in order until desired value is found of all elements in the list and they have been checked.
Binary Search
Starts at the middle of a sorted data set of numbers and eliminates half of the data, repeating until the desired value is found or all elements have been eliminated.
Procedure
Named group of programming instructions that may have parameters and return values.
Parameters
Input variables of a procedure.
Arguments
Specify the values of the parameters when a procedure is called.
Procedure Call
interrupts a sequential execution of statements, causing the program to execute the statements within the program before continuing.
Procedural Abstraction
Provides a name for a process and allows a process to be used only knowing what it does, not how it does it.
Modularity
The subdivision of a computer program into separate subprograms.
Software Library
Contains procedures that may be used in creating new programs.
Application Program Interfaces (APIs)
Specifications for how the procedure in a library behave and can be used.
Random values
Using random number generation in a program means each execution may produce a different result.
Simulations
Abstractions of more complex objects or phenomena for a specific purpose.
Program
General description of a task that can or cannot be solved algorithmically.
Decision Problem
Problem with a yes or no answer.
Optimization Problem
Problem with the goal of finding the best solution among many possible solutions.
Efficiency
Estimation of the amount of computational resources used by an algorithm.
Heuristic
Approach to a problem that produces a solution that is not guaranteed to be optimal.
Decidable Problem
Decision problem for which an algorithm can be written to produce a correct output for all inputs.
Undecidable Problem
One for which no algorithm can be constructed that is always capable for providing a correct yes or no answer.
Computing Device
Physical artifact that can run a program.
Computing System
Group of computing devices and programs working together for a common purpose.
Computer Network
Group of interconnected computing devices capable of sending or receiving data.
Routing
Process of finding a path from sender to the receiver.
Bandwidth
Maximum amount of data that can be sent in a fixed amount of time.
Internet
Computer network consisting of interconnected networks that use standardized, open, nonproprietary communication protocols.
Protocol
Agreed upon set of rules that specify the behavior of a program
Scalability
Capacity for the system to change in size and scale to meet new demands.
Redundancy
Inclusion of extra components that can be used to mitigate failure of a system if other components fail.
Sequential Computing
Computational model in which operations are performed in order one at a time.
Parallel Computing
Computational model where the program is broken into multiple smaller sequential computing operations, some of which are performed simultaneously.
Distributed Computing
Computational model in which multiple devices are used to run a program.
Digital Divide
Refers to differing access to computing devices and the Internet based on socioeconomic, geographic, or demographic characteristics.
Citizen Science
Scientific research conducted in whole or part by distributed individuals, many of whom may not be scientists who contribute relevant data to research using their own computing devices.
Crowdsourcing
Practice of of obtaining input or information from a large number of people via the Internet.
Creative Commons
Public copyright license that enables the free distribution of an otherwise copyrighted work.
Open Source
Programs that are made freely available and may be redistributed and modified.
Open Access
Online resource output free of any and all restriction on access and free of many restrictions on use, such as copyright or license restrictions.
Personally Identifiable Information (PII)
Information about an individual that identifies, links, relates, and describes them.
Computing Virus
Malicious program that can copy itself and gain access to a computer in an unauthorized way.
Malware
Software intended to damage a computing system or to take partial control over its operation.
Phishing
Technique that attempts to trick a user into providing personal information
Key Logging
Use of a program to record every keystroke made by a computer user in order to gain fraudulent access to passwords and other confidential information.
Rogue Access Point
Wireless access point that gives unauthorized access to secure networks.