Computing Innovations
an innovation that includes a computer or program code as an integral part of its functionality
Binary Question
a question to which there are only two possible answers
Binary Message
a message that can only be one of two possible values
Bit
A contraction of "Binary Digit". The single unit of information in a computer, typically represented as a 0 or 1
Lossless Compression
a data compression algorithm that allows the original data to be perfectly reconstructed from the compressed data
Image
A type of data used for graphics or pictures.
Metadata
Data that describes other data. For example, a digital image may include this to describe the size of the image, number of colors, or resolution.
Sampling
measuring values of the analog signal at regular intervals called samples. The samples are measured to figure out the exact bits required to store each sample.
Pixel
Short for "picture element" it is the fundamental unit of a digital image, typically a tiny square or dot which contains a single point of color of a larger image.
Hexadecimal Number System
A number system consisting of 16 distinct symbols - 0-9 and A-F - which can occur in each place value.
Lossy Compression
A compression scheme in which "useless" or less-than-totally-necessary information is thrown out in order to reduce the size of the data. The eliminated data is unrecoverable.
The Digital Divide
the idea that not everyone has equal access to the internet. Demographics such as household income, level of education, race and ethnicity, age, geographic location, and community type can affect an individual's access to the internet.
Code
To write code, or to write instructions for a computer
ASCII
American Standard Code for Information Interchange. Universally recognized raw text format that any computer can understand.
Internet
A group of computers and servers that are connected to each other.
Net Neutrality
the principle that all Internet traffic should be treated equally by Internet Service Providers.
Client
a computer that requests data stored on a server.
Overflow Error
errors that occur when the execution of a set of instructions return a value outside of this range
Roundoff Error
a mathematical miscalculation or quantization error caused by altering a number to an integer or one with fewer decimals.
Copyright
the law to prevent plagiarism
Creative Commons
where artists allow other people to use a portion of their work to advertise or to let them add to it
IP Address
a number assigned to any item that is connected to the Internet.
Network Redundancy
having multiple backups to ensure reliability during cases of high usage or failure
Packets
Small chunks of information that have been carefully formed from larger chunks of information.
Router
a computer which receives messages traveling across a network and redirects them towards their intended destinations based on the addressing information included with the message.
TCP - Transmission Control Protocol
provides reliable, ordered, and error-checked delivery of a stream of packets on the internet. Tightly linked with IP and usually seen as TCP/IP in writing.
URL
An easy-to-remember address for calling a web page (like www.code.org).
DNS - Domain Name System
the Internet's system for converting alphabetic names into numeric IP addresses.
HTTP - Hypertext Transfer Protocol
the protocol used by the World Wide Web. It describes how messages are formatted and interchanged, and how web servers respond to commands.
Abstraction
a simplified representation of something more complex. Allows you to hide details
to help you manage complexity, focus on relevant concepts, and reason about problems at a higher level.
Server
A computer that awaits and responds to requests for data.
Algorithm
A list of steps to finish a task.
Low level programming language
A programming language that captures only the most primitive operations available to a machine. Anything that a computer can do can be represented with combinations of low level commands.
High level programming language
A programming language with many commands and features designed to make common tasks easier to program. Any high level functionality is encapsulated as combinations of low level commands.
Selection
A generic term for a type of programming statement (usually an if-statement) that uses a Boolean condition to determine, or select, whether or not to run a certain block of statements.
Sequencing
Putting commands in correct order so computers can read the commands.
Function
A named group of programming instructions. Reusable abstractions that reduce the complexity of writing and maintaining programs.
Documentation
a description of the behavior of a command, function, library, API, etc.
Debugging
Finding and fixing problems in an algorithm or program.
String
a sequence of characters example: "hello world" and "KGG1405"
Numbers/Integers
numeric variables holding whole numbers
Floating-point Number
a number that has a decimal place
Concatenation
a series of interconnected things or events
Global Variable
a variable defined outside a function. It can be accessed throughout the program by any function defined within the program
Local Variable
a variable that is only accessible within a specific part of a program, it can be accessed only within the function in which it is defined
Boolean Expressions
a logical statement that is either TRUE or FALSE
3 logical operators: AND, OR, and NOT
Example: age > 12 and age < 16
MOD
finds the remainder of division of one number by another
Example: 10 MOD 2 = 0
Example: 11 MOD 3 = 2
If Statement
a programming conditional statement that, if proved true, performs a function or displays information
Logical Operators
&&, ||, != (and, or, not)
Open source
Where people let others add to their code
Open access
Where people let others add to their research
Internet Censorship
Legal control or suppression of what can be accessed, published, or viewed on the Internet.
Bandwidth
The maximum amount of data transmitted over an internet connection in a given amount of time
Latency
A value that measures how much time packets need to travel to their destination. Basically how fast you receive something
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.
UDP - User Datagram Protocol
a communication protocol used across the Internet for especially time-sensitive transmissions. Does not check for lost data
Datastream
Info passed through the internet in packets
SSL and TLS
Layers of security around websites and messages to keep them safe from hackers
HTTPS - Hypertext Transfer Protocol Secure
Makes sure websites are secure
Certificate authorities
People who verify identities of websites and issue certificates for them
Scalability
The capacity of a system to change in size and scale to meet new demands
World Wide Web
a system of linked pages, programs, and files
Sequential programming
Where program statements run from top to bottom
Event-driven programming
Where some program statements are run when triggered by an event, like a mouse click or a key press
Conditional statement
programming language commands for making decisions and evaluating for true or false
GET request
a request sent to grab data from a data source with the help of the internet
Cookie
A piece of data from a website that is stored within a web browser that the website can retrieve at a later time. Used to tell the server that users have returned to a particular website
De Morgan's Law
A set of rules for converting an expression containing NOTs into an expression that does not contain any NOTs. Basically, Boolean statements can be written in different ways to the same effect
Intellectual property
a work or invention that is the result of creativity, such as a manuscript or a design, to which one has rights and for which one may apply for a patent, copyright, trademark, etc.
Byte
A unit of digital information that most commonly consists of eight bits.
Analog
using signals or information represented by a continuously physical quantity
Broadcasting
Transmitting a packet that will be received by every device on a network
Protocol
An agreed-upon set of rules that specify the behavior of some system
Routing
the process of finding a path from sender to receiver.
Spoofing
When someone pretends to be someone else on the internet with the intent of obtaining unauthorized data.
HTML - Hypertext Markup Language
The standard coding language used to construct World Wide Web documents.
Crowdsourcing
the practice of obtaining information or opinions about a task or project by enlisting the services of a large number of people, either paid or unpaid, typically via the internet.
Citizen science
when the public helps conduct scientific research
Pair Programming
a collaborative programming style in which two programmers switch between the roles of writing code and tracking or planning high level progress
Comment
form of program documentation written into the program to be read by people and which do not affect how a program runs