Looks like no one added any tags here yet for you.
Binary
A way of representing information using only two options
Bit
A contraction of "Binary Digit";Â the single unit of information in a computer, typically represented as a 0 or 1
Byte
8 bits
Overflow Error
Error from attempting to represent a number that is too large
Round-off Error
Error from attempting to represent a number that is too precise
Analog Data
Data with values that change continuously, or smoothly, over time
Digital Data
Data that changes discretely through a finite set of possible values
Sampling
A process for creating a digital representation of analog data by measuring the analog data at regular intervals called samples
Lossless Compression
A process for reducing the number of bits needed to represent something without losing any information
Lossy Compression
A process for reducing the number of bits needed to represent something in which some information is lost or thrown away
Intellectual Property
A work or invention that is the result of creativity, such as a piece of writing or a design, to which one has rights and for which one may apply for a patent, copyright, trademark, etc
Creative Commons
A collection of public copyright licenses that enable the free distribution of an otherwise copyrighted work, used when an author wants to give people the right to share, use, and build upon a work that they have created
Computing Device
a machine that can run a program, including computers, tablets, servers, routers, and smart sensors
Computing System
a group of computing devices and programs working together for a common purpose
Computing Network
a group of interconnected computing devices capable of sending or receiving data
Domain Name System (DNS)
a network of servers that track the IP addresses of different domain names like example.com
Path
the series of connections between computing devices on a network starting with a sender and ending with a receiver
Bandwidth
the maximum amount of data that can be sent in a fixed amount of time, usually measured in bits per second
Protocol
An agreed-upon set of rules that specify the behavior of some system
Transmission Control Protocol (TCP)
a protocol for sending packets that does error-checking to ensure all packets are received and properly ordered
User Datagram Protocol (UDP)
a protocol for sending packets quickly with minimal error-checking and no resending of dropped packets
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
Packet
A chunk of data sent over a network
Redundancy
the inclusion of extra components so that a system can continue to work even if individual components fail, for example by having more than one path between any two connected devices in a network
Fault Tolerant
Can continue to function even in the event of individual component failures
Internet
a computer network consisting of interconnected networks that use standardized, open (nonproprietary) communication protocols
World Wide Web
a system of linked pages, programs, and files
Digital Divide
differing access to computing devices and the Internet, based on socioeconomic, geographic, or demographic characteristics
User Interface
the inputs and outputs that allow a user to interact with a piece of software
Input
data that are sent to a computer for processing by a program
Output
any data that are sent from a program to a device
Program Statement
a command or instruction
Program
a collection of program statements
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 or a key press
Documentation
a written description of how a command or piece of code works or was developed
Comment
form of program documentation written into the program to be read by people and which do not affect how a program runs
Pair Programming
a collaborative programming style in which two programmers switch between the roles of writing code and tracking or planning high level progress
Debugging
Finding and fixing problems in an algorithm or program
Development process
the steps or phases used to create a piece of software
Event
associated with an action and supplies input data to a program
Expression
a combination of operators and values that evaluates to a single value
Assignment Operator
allows a program to change the value represented by a variable
Variable
a named reference to a value that can be used repeatedly throughout a program
String
an ordered sequence of characters
Boolean Value
a data type that is either true or false
Comparison Operators
Logical operator
NOT, AND, and OR, which evaluate to a Boolean value
Conditional Statement
affect the sequential flow of control by executing different statements based on the value of a Boolean expression
Function
a named group of programming instructions
Function Call
a command that executes the code within a function
List
an ordered collection of elements
Element
an individual value in a list that is assigned a unique index
Index
a common method for referencing the elements in a list or string using numbers
Iteration
a repetitive portion of an algorithm which repeats a specified number of times or until a given condition is met
Infinite loop
occurs when the ending condition will never evaluate to true
Traversal
the process of accessing each item in a list one at a time
Data abstraction
manage complexity in programs by giving a collection of data a name without referencing the specific details of the representation
Problem
a general description of a task that can (or cannot) be solved with an algorithm
Algorithm
a finite set of instructions that accomplish a task
Sequencing
putting steps in an order
Selection
deciding which steps to do next
Iteration
doing some steps over and over
Efficiency
a measure of how many steps are needed to complete an algorithm
Linear Search
a search algorithm which checks each element of a list, in order, until the desired value is found or all elements in the list have been checked
Binary Search
a search algorithm that 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 or all elements have been eliminated
Reasonable Time
Algorithms with a polynomial efficiency or lower (constant, linear, square, cube, etc.)
Unreasonable Time
Algorithms with exponential or factorial efficiencies are examples of algorithms that run in an unreasonable amount of time
Heuristic
provides a "good enough" solution to a problem when an actual solution is impractical or impossible
Decision Problem
a problem with a yes/no answer (e.g., is there a path from A to B?)
Optimization Problem
a problem with the goal of finding the "best" solution among many (e.g., what is the shortest path from A to B?)
Undecidable Problem
a problem for which no algorithm can be constructed that is always capable of providing a correct yes-or-no answer
Sequential Computing
a model in which programs run in order, one command at a time
Parallel Computing
a model in which 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
Parameter
a variable in a function definition
Argument
the value passed to the parameter
Return
used to return the flow of control to the point where the procedure (also known as a function) was called and to return the value of the expression
Procedural abstraction
a process and allows a procedure to be used only knowing what it does, not how it does it
Library
a group of functions (procedures) that may be used in creating new programs