Binary: A way of representing information using only two options.
Decimal: A way of representing information using ten 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. The value is rounded.
Analog Data: Data with values that change continuously, or smoothly, over time. Some examples of analog data include music, colors of a painting, or position of a sprinter during a race.
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. This process is reversible.
Lossy Compression: A process for reducing the number of bits needed to represent something in which some information is lost or thrown away. This process is not reversible.
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.
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
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. Larger messages are divided into packets that may arrive at the destination in order, out-of-order, or not at all.
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. This is important because elements of complex systems like a computer network fail at unexpected times, often in groups.
HTTP: HyperText Transfer Protocol - the protocol used for transmitting web pages over the Internet
Domain Name System (DNS): the system responsible for translating domain names like example.com into IP addresses
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. User interfaces can include a variety of forms such as buttons, menus, images, text, and graphics.
Input: data that are sent to a computer for processing by a program. Can come in a variety of forms, such as tactile interaction, audio, visuals, or text.
Output: any data that are sent from a program to a device. Can come in a variety of forms, such as tactile interaction, audio, visuals, or text.
Program Statement: a command or instruction. Sometimes also referred to as a code statement.
Program: a collection of program statements. Programs run (or “execute”) one command at a time.
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. Typical phases include investigating, designing, prototyping, and testing
Event: associated with an action and supplies input data to a program. Can be generated when a key is pressed, a mouse is clicked, a program is started, or by any other defined action that affects the flow of execution.
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: <, >, <=, >=, ==, != indicate a Boolean expression
Logical operator: NOT, AND, and OR, which evaluate to a Boolean value.
Conditional Statement: affects the sequential flow of control by executing different statements based on the value of a Boolean expression.
Function: a named group of programming instructions. Also referred to as a “procedure”.
Function Call: a command that executes the code within a function
Metadata: data about data
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.
Cleaning Data: a process that makes the data uniform without changing its meaning (e.g., replacing all equivalent abbreviations, spellings, and capitalizations with the same word).
Correlation: a relationship between two pieces of data, typically referring to the amount that one varies in relation to the other.
Crowdsourcing: the practice of obtaining input or information from a large number of people via the Internet.
Information: the collection of facts and patterns extracted from data
Data bias: data that does not accurately reflect the full population or phenomenon being studied
Data filtering: choosing a smaller subset of a data set to use for analysis, for example by eliminating / keeping only certain rows in a table
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.
Unit 7 - Parameters, Return, and Libraries
Parameter: a variable in a function definition. Used as a placeholder for values that will be passed through the function.
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 expression.
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.
Library: a group of functions (procedures) that may be used in creating new programs
API: Application Program Interface - specifications for how functions in a library behave and can be used
Modularity: the subdivision of a computer program into separate subprograms