APCSP ALL UNITS VOCABULARY

Digital Information

  • 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.