APCSP ALL UNITS VOCABULARY
- Binary: Two options for representing information.
- Decimal: Ten options for representing information.
- Bit: Single unit of computer information (0 or 1).
- Byte: 8 bits.
- Overflow Error: Number too large to represent.
- Round-off Error: Number too precise; value is rounded.
- Analog Data: Data with continuous values.
- Digital Data: Data with discrete values.
- Sampling: Creating digital representation of analog data.
- Lossless Compression: Reduces bits without losing information; reversible.
- Lossy Compression: Reduces bits, some information lost; irreversible.
- Intellectual Property: Creative work with rights (patent, copyright, etc.).
- Creative Commons: Public copyright licenses for free distribution.
The Internet
- Computing Device: Machine that runs programs (computer, tablet, etc.).
- Computing System: Devices and programs working together.
- Computing Network: Interconnected devices sending/receiving data.
- Path: Connections between devices on a network.
- Bandwidth: Maximum data sent in a fixed time (bits per second).
- Protocol: Agreed-upon set of rules for system behavior.
- IP Address: Unique number assigned to each device on the Internet.
- Internet Protocol (IP): Protocol for sending data; assigns IP addresses.
- Router: Computer that forwards data across a network.
- Packet: Chunk of data sent over a network.
- Redundancy: Extra components for system to work despite failures.
- Fault Tolerant: Functions despite component failures.
- HTTP: Protocol for transmitting web pages.
- Domain Name System (DNS): Translates domain names to IP addresses.
- Internet: Interconnected networks using open communication protocols.
- World Wide Web: System of linked pages, programs, and files.
- Digital Divide: Differing access to devices and Internet.
Intro to App Design
- User Interface: Inputs and outputs for user interaction.
- Input: Data sent to a computer for processing.
- Output: Data sent from a program to a device.
- Program Statement: Command or instruction.
- Program: Collection of program statements.
- Sequential Programming: Statements run in order.
- Event Driven Programming: Statements run when triggered by an event.
- Documentation: Description of code.
- Comment: Program documentation for people.
- Pair Programming: Collaborative programming.
- Debugging: Finding and fixing program problems.
- Development process: Steps to create software.
- Event: Action supplying input data to a program.
Variables, Conditionals, and Functions
- Expression: Combination of operators and values that evaluates to a single value.
- Assignment Operator: Changes a variable's value.
- Variable: Named reference to a value.
- String: Ordered sequence of characters.
- Boolean Value: True or false data type.
- Comparison Operators: (
- Logical operator: NOT, AND, and OR, which evaluate to a Boolean value.
- Conditional Statement: Executes statements based on a Boolean expression.
- Function: Named group of programming instructions.
- Function Call: Executes code within a function.
Data
- Metadata: Data about data.
- Citizen Science: Research by distributed individuals using own devices.
- Cleaning Data: Making data uniform without changing meaning.
- Correlation: Relationship between two pieces of data.
- Crowdsourcing: Obtaining input from a large number of people via the Internet.
- Information: Facts and patterns extracted from data.
- Data bias: Data inaccurately reflecting the population.
- Data filtering: Choosing a smaller subset of a data set to use for analysis
Lists, Loops, and Traversals
- List: Ordered collection of elements.
- Element: Individual value in a list with a unique index.
- Index: Method for referencing elements in a list.
- Iteration: Repetitive portion of an algorithm.
- Infinite loop: Ending condition never met.
- Traversal: Accessing each item in a list.
- Data abstraction: manage complexity in programs by giving a collection of data a name without referencing the specific details of the representation.
Parameters, Return, and Libraries
- Parameter: Variable in a function definition.
- Argument: Value passed to the parameter.
- Return: Returns control and value from a function.
- Procedural abstraction: Allows a procedure to be used only knowing what it does, not how it does it
- Library: Group of functions for creating programs.
- API: Specifications for how functions in a library behave and can be used
- Modularity: the subdivision of a computer program into separate subprograms
Cybersecurity and Global Impacts
- Computing Innovation: Includes a program as an integral part of its function
- Personally Identifiable Information (PII): Information that identifies an individual.
- Phishing: Tricking users into providing personal information.
- Keylogging: Recording keystrokes to gain confidential information.
- Malware: Software to damage a system.
- Rogue Access Point: Unauthorized access to secure networks.
- Encryption: Encoding messages to keep them secret.
- Decryption: Reversing encryption.
- Symmetric Key Encryption: One key for encryption/decryption.
- Public Key Encryption: Public key for encryption, private key for decryption.
- Multi-factor Authentication: Multiple steps to unlock information.
- Computer Virus Scanning Software: Protects against infection.
Algorithms
- Problem: Task that can/cannot be solved with an algorithm.
- Algorithm: Finite set of instructions.
- Sequencing: Putting steps in an order.
- Selection: Deciding which steps to do next.
- Iteration: Repeating steps.
- Efficiency: Number of steps to complete an algorithm.
- Linear Search: Checks each element in order.
- Binary Search: Removes half the data in each step.
- Reasonable Time: Polynomial efficiency.
- Unreasonable Time: Exponential or factorial efficiencies.
- Heuristic: "Good enough" solution.
- Decision Problem: Yes/no answer.
- Optimization Problem: Finding the "best" solution.
- Undecidable Problem: No algorithm can provide a correct answer.
- Sequential Computing: One command at a time.
- Parallel Computing: Running pieces simultaneously.
- Distributed Computing: Running by multiple devices.
- Speedup: Sequential time divided by parallel time.