Essential vocab Flashcards
Bit
the single unit of information
Byte
8 bits
Overflow Error
error representing a number that is too large.
Round-off Error
error representing a number that is too precise
Analog Data
values that change smoothly
Digital Data
data that changes discreetly through a set of possible values
Sampling
measuring the analog data at regular intervals
Lossless Compression
information not lost - this process is reversible.
Lossy Compression
some information is lost or thrown away - this process is not reversible.
Binary
A way of representing information using only two options.
Creative Commons
licenses that enable the free distribution of an otherwise copyrighted work.
Data Compression
reducing the number of bits needed to represent a piece of information
Open Access
online research output free of restrictions on access
Open Source
programs made freely available
Abstraction
Removing complexity
Computing Device
a machine that can run a program - (computers, tablets, servers, etc)
Computing System
a group of computing devices working together
Computing Network
a group of interconnected computing devices capable of sending or receiving data.
Path
the series of connections between computing devices
Bandwidth
maximum amount of data that can be sent in a fixed amount of time
Protocol
An agreed-upon set of rules that specify the behavior of some system
IP Address
The unique number assigned to each device on the Internet.
Internet Protocol (IP)
a protocol for sending data across the Internet that assigns unique numbers (IP addresses) to each connected device
Router
A type of computer that forwards data across a network
Redundancy
a system can continue to work even if individual components fail
Fault Tolerant
Can continue to function even in the event of individual component failures.
Transmission Control Protocol (TCP)
A protocol for sending packets that does error-checking to ensure all packets are received and properly ordered. If packets are missing it will send a request for the missing packets.
HTTP
HyperText Transfer Protocol - protocol for transmitting web pages over the Internet
Internet
network consisting of interconnected networks that use standardized, open (nonproprietary) communication protocols. Protocols of the Internet are open and used by all devices connected to the network. The protocols of the Internet were designed to scale as new devices are added.
Packet
chunk of data sent over a network
Packet Metadata
Informational data added to packets
Routing
finding a path from sender to receiver
UDP
fast transmission of information - minimal error checking
World Wide Web
a system of linked pages, programs, and files.
Router
computer that forwards data across a network
Digital Divide
differing access to computing devices and the Internet, based on socioeconomic, geographic, or demographic characteristics
Internet Engineering Task Force (IETF)
The IETF develops and oversees standards such as hypertext transfer protocol (HTTP), Internet protocol (IP), and simple mail transfer protocol (SMTP).
Scalability
handle a growing amount of work by adding resources to the system
Redundant Networks
the network can continue to function in the event of slow downs or disconnections
Sequential Programming
program statements run in order, from top to bottom
Event Driven Programming
some program statements run when triggered by an event, like a mouse click
Comment: program documentation
Development process
the steps or phases used to create a piece of software. Typical phases include investigating, designing, prototyping, and testing
Investigating
getting requirements, interviewing users about wanted functionality
Designing
how the program will work or how users interact with it
Prototyping
creating a model
Testing
testing functionality of program
Incremental Development Process
a design approach that breaks the problem into smaller pieces
Iterative Development Process
a design approach requires refinement and revision based on feedback, testing, or reflection throughout the process. This may require revisiting earlier phases of the process.
Syntax Error
a mistake in the program where the rules of the programming language are not followed.
Boolean Expression
evaluates to either true or false
Concatenation
joins together two or more strings end-to-end to make a new string.
Procedure
A named group of programming instructions that may have parameters and return values
Data abstraction
In programming a list is a form of data abstraction. Manages complexity in programs.
Logic Error
a mistake in the algorithm or program that causes it to behave incorrectly or unexpectedly.
Simulations
the production of a computer model of something, especially for the purpose of study. They are also abstractions of more complex objects or phenomena for a specific purpose. They can be used to test a hypothesis about a pattern.
Substring
part of an existing string
Algorithm
a finite set of instructions that accomplish a task.
Linear Search
checks each element of a list, in order, until the desired value is found
Binary Search
starts at the middle of a sorted set of numbers and removes half of the data; this process repeats until the desired value is found
Reasonable Time
Algorithms with a polynomial efficiency or lower (constant, linear, square, cube, etc.)
Unreasonable Time
Algorithms with exponential or factorial efficiencies
Heuristic
provides a “good enough” solution to a problem (traveling salesman)
Undecidable Problem
no algorithm can be constructed to provide a yes-or-no answer
Sequential Computing
programs run in order.
Parallel Computing
programs are broken into small pieces, some of which are run simultaneously.
Distributed Computing
a model in which programs are run by multiple devices.
Speedup
the time used to complete a task sequentially divided by the time to complete a task in parallel
Decision Problem:
a problem with a yes/no answer
Optimization Problem
goal of finding the “best” solution among many
Return
returns the flow of control to the point where the function was called
Library
a group of functions (procedures) that may be used in creating new programs
API
Application Program Interface - specifications for functions
Modularity
The subdivision into separate subprograms
Procedural Abstraction
a process and allows a procedure to be used only knowing what it does, not how it does it. Procedural abstraction allows a solution to a large problem to be based on the solution of smaller subproblems. This is accomplished by creating procedures to solve each of the subproblems. Improves readability and manages complexity.
Citizen Science
scientific research by individuals, whom may not be scientists
Cleaning Data
a process that makes the data uniform
Correlation
a relationship between two pieces of data
Crowdsourcing
the practice of obtaining input or information from a large number of people via the Internet
Data bias
data that does not accurately reflect the full population or phenomenon being studied
Data filtering:
smaller subset of a data
Computing Innovation
includes a program as an integral part of its function. Can be physical (e.g. self-driving car), non-physical computing software (e.g. picture editing software), or non-physical computing concepts (e.g., e-commerce).
Personally Identifiable Information (PII):
information about an individual
Phishing
attempts to trick a user into providing personal information
Keylogging
program to record every keystroke
Malware
software intended to damage a computing system
Rogue Access Point
wireless access point that gives unauthorized access to secure networks.
Encryption
encoding messages to keep them secret
Decryption
reverses encryption
Symmetric Key Encryption
one key for both encryption and decryption.
Public Key Encryption
pairs a public key for encryption and a private key for decryption.
Multi-factor Authentication
requires at least two steps to unlock protected information
Certificate authority
issue digital certificates that validate the ownership of encryption keys