1/105
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Computing Innovation
includes a program as an integral part of its function. They 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). The purpose of computing innovations is to solve problems or pursue interests through creative expression
Program
a collection of program statements that performs a specific task when run by a computer. A program is often referred to as software
Code segment
a collection or program statements that is part of a program
Behavior (of a program)
how a program functions during execution and is often described by how a user interacts with it
Program inputs
data sent to a computer for processing by a program. Input can come in a variety of forms, such as tactile, audio, visual, or text
Event
associated with an action and supplies input data to a program (key pressed, mouse clicked, program started, or any other defined action occurs that affects the flow of execution)
Program outputs
any data sent from a program to a device. Program outputs can come in a variety of forms, such as tactile, audio, visual, or text
Program documentation
a written description of the function of a code segment, event, procedure, or program and how it was developed
Comments
a form of program documentation written into the program to be read by people and do not affect how a program runs
Logic error
a mistake in the algorithm or program that causes it to behave incorrectly or unexpectedly
Syntax error
a mistake in the program where the rules of the programming language are not followed
Run-time error
a mistake in the program that occurs during the execution of a program. Programming languages define their own run-time errors
Overflow error
an error that occurs when a computer attempts to handle a number that is outside of the defined range of values
Testing
uses defined inputs to ensure that an algorithm or program is producing the expected outcomes
Bit
shorthand for binary digit and is either 0 or 1. Bits are grouped to represent abstractions, such as numbers, characters, colors, etc. The same sequence of bits may represent different types of data in different contexts
Byte
8 bits
Abstraction
the process of reducing complexity by focusing on the main idea. By hiding details irrelevant to the question at hand and bringing together related and useful details, abstraction reduces complexity and allows one to focus on the idea
Sampling technique
measuring values of the analog signal at regular intervals called samples.
Binary (base 2)
uses only combinations of the digits zero and one
Decimal (base 10)
uses only combinations of the digits 0 - 9
Data compression
can reduce the size (number of bits) of transmitted or stored data
Lossless compression
these algorithms can usually reduce the number of bits stored or transmitted while guaranteeing complete reconstruction of the original data
Lossy compression
these algorithms can significantly reduce the number of bits stored or transmitted but only allow reconstruction of an approximation of the original data. Lossy data compression algorithms can usually reduce the number of bits stored or transmitted more than lossless compression algorithms
Information
the collection of facts and patterns extracted from data
Metadata
data about data. For example, the piece of data may be an image, while the metadata may include the date of creation or the file size of the image
Cleaning data
a process that makes the data uniform without changing their meaning (e.g., replacing all equivalent abbreviations, spellings, and capitalizations with the same word)
Parallel systems
may be required to process large data sets
Variable
an abstraction inside a program that can hold a value. Each variable has associated data storage that represents one value at a time, but that value can be a list or other collection that in turn contains multiple values
Types
some programming languages provide types to represent data, which are referenced using variables. These types include numbers, Booleans, lists, and strings
List
an ordered sequence 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 or string using natural numbers
String
an ordered sequence of characters
Algorithm
a finite set of instructions that accomplish a specific task
Sequencing
the application of each step of an algorithm in the order in which the code statements are given
Code statement
a part of program code that expresses an action to be carried out
Expression
can consist of a value, a variable, an operator, or a procedure call that returns a value. They are evaluated to produce a single value
MOD (modulo operator)
evaluates to the remainder after division
String concatenation
joins together two or more strings end-to-end to make a new string
Substring
part of an existing string
Boolean value
a value that is either true or false
Logical operators
NOT, AND, and OR, which evaluate to a Boolean value (true/false)
Selection
determines which parts of an algorithm are executed based on a condition being true or false (if-statements)
Iteration
a repeating portion of an algorithm. Iteration repeats a specified number of times or until a given condition is met (for loops and while loops)
Traversing a list
accessing either a portion of elements in a list or all elements in a list (for loop processing a list)
Linear search algorithms
check each element of a list, in order, until the desired value or found or all elements in the list have been checked
Binary search algorithm
starts at the middle of a sorted data set of numbers and eliminates half of the data; this process repeats until the desired value is found or all elements have been eliminated
Procedure
a named group of programming instructions that may have parameters and return values (called function in JavaScript/App Lab)
Parameter
an input variable of a procedure (function). Allows functions (procedures) to be generalized, enabling the functions (procedures) to be reused with a range of input values or arguments
Argument
specifies the value of the parameter when a procedure (function) is called
Procedural abstraction
provides a name for a process and allows a procedure to be used only knowing what it does, not how it does it
Modularity
the subdivision of a computer program into separate subprograms
(Software) Library
contains functions (procedures) that may be used in creating new programs
Application program interface (API)
specifications for how the functions (procedures) in a library behave and can be used
Simulation
a representation that uses varying sets of values to reflect the changing state of a phenomenon. They often mimic real-world events with the purpose of drawing inferences, allowing investigation of a phenomenon without the constraints of the real world
Problem
a general description of a task that can (of cannot) be solved algorithmically. An instance of a problem also includes specific input
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?)
Efficiency
an estimation of the amount of computational resources used by an algorithm. Efficiency is typically expressed as a function of the size of the input (n)
Reasonable amount of time
algorithms with a polynomial efficiency or lower (constant, linear, square, cube, etc. - n, 10*n, n2, n3)
Unreasonable amount of time
algorithms with exponential or factorial efficiencies (2n or n!)
Heuristic
an approach to a problem that produces a solution that is not guaranteed to be optimal but may be used when techniques that are guaranteed to always find an optimal solution are impractical
Decidable problem
a decision problem for which an algorithm can be written to produce a correct output for all inputs (e.g., "Is the number even?")
Undecidable problem
a decision problem for which no algorithm can be constructed that is always capable of providing a correct yes-or-no answer
Computing device
a physical artifact that can run a program. Some examples include computers, tablets, servers, routers, and smart sensors
Computing system
a group of computing devices and programs working together for a common purpose
Computer network
a group of interconnected computing devices capable of sending or receiving data. A computer network is a type of computing system
Path
a sequence of directly connected computing devices that begins at the sender and ends at the receiver
Routing
the process of finding a path from sender to receiver
Bandwidth
the maximum amount of data that can be sent in a fixed amount of time over a computer network. Bandwidth is usually measured in bits per second
The Internet
a computer network consisting of interconnected networks that use standardized, open (nonproprietary) communication protocols
Protocol
an agreed-upon set of rules that specify the behavior of a system
Scalability
the capacity for a system to change in size and scale to meet new demands
Data stream
information passed through the Internet
Packet
an encapsulated chunk of data passed through a network. Packets may arrive at the destination in order, out of order, or not at all
IP (Internet Protocol)
a protocol for sending data across the Internet that assigns unique numbers (IP addresses) to each connected device
TCP (Transmission Control Protocol)
a protocol for sending packets that does error-checking to ensure all packets are received and properly ordered
UDP (User Datagram Protocol)
a protocol for sending packets quickly with minimal error-checking and no resending of dropped packets
HTTP
a protocol used by the World Wide Web, which uses the Internet
DNS (Domain Name System)
the system responsible for translating domain names like example.com into IP addresses
Redundancy
the inclusion of extra components that can be used to mitigate failure of a system if other components fail
Fault tolerance
when a system can support failures and still continue to function. This is important because elements of complex systems fail at unexpected times, often in groups, and fault tolerance allows users to continue to use the network
Sequential computing
a computational model in which operations are performed in order one at a time. A sequential solution takes as long as the sum of all of its steps
Parallel computing
a computational model where the program is broken into multiple smaller sequential computing operations, some of which are performed simultaneously. A parallel computing solution takes as long as its sequential tasks plus the longest of its parallel tasks
Speedup (of a parallel solution)
measured in the time is took to complete the task sequentially divided by the time it took to complete the task when done in parallel
Distributed computing
a computational model in which multiple devices are used to run a program. This allows problems to be solved that could not be solved on a single computer and allos much larger problems to be solved quicker than they could using a single computer
Digital Divide
differing access to computing devices and the Internet, based on socioeconomic, geographic, or demographic characteristics
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
Crowdsourcing
the practice of obtaining input of information from a large number of people via the Internet
Intellectual property
material created on a computer is the intellectual property of the creator or an organization
Creative Commons
a public copyright license that enables the free distribution of an otherwise copyrighted work. This is used when the content creator wants to give others the right to share, use, and build upon the work they have created
Open source
programs that are made freely available and may be redistributed and modified
Open access
online research output free of any and all restrictions on access and free of many restrictions on use, such as copyright or license restrictions
Personally identifiable information (PII)
information about an individual that identifies, links, relates, or describes them. Examples: social security number, age, race, phone number(s), medical information, financial information, biometric data
Authentication measures
protect devices and information from unauthorized access. Examples: strong passwords and multifactor authentication
Multifactor authentication
a method of computer access control in which a user is only granted access after successfully presenting several separate pieces of evidence to an authentication mechanism, typically in at least two of the following categories: knowledge (something they know), possession (something they have), and inherence (something they are)
Encryption
the process of encoding data to prevent unauthorized access
Decryption
the process of decoding encrypted data
Symmetric key encryption
uses one key for both encryption and decryption
Public key (asymmetric) encryption
pairs a public key for encryption and a private key for decryption. The sender does not need the receiver's private key to encrypt a message, but the receiver's private key is required to decrypt the message