voab
The Internet
A group of computers and servers that are connected.
Prototype
an original model on which later versions are patterned
Innovation
(n.) something new, a change; the act of introducing a new method, idea, device, etc.
Binary
A way of representing information using only two options.
Bit
A contraction of "Binary Digit". A bit is the single unit of information in a computer, typically represented as a 0 or 1.
Bandwith
Transmission capacity measure by bit rate
Bit rate
(sometimes written bitrate) the number of bits that are conveyed or processed per unit of time. e.g. 8 bits/sec.
Latency
Time it takes for a bit to travel from its sender to its receiver.
Protocol
A set of rules governing the exchange or transmission of data between devices.
Abstraction
a simplified representation of something more complex. Abstractions allow you to hide details to help you manage complexity, focus on relevant concepts, and reason about problems at a higher level.
ASCII (American Standard Code for Information Interchange)
the universally recognized raw text format that any computer can understand
IP Adress (Internet Protocol)
The unique number assigned to each device on the Internet.
Packets
Small chunks of information that have been carefully formed from larger chunks of information.
Network Redundancy
having multiple backups to ensure reliability during cases of high usage or failure
Router
A type of computer that forwards data across a network
DNS (Domain Name System)
this system translates domain names (like example.com)
IETF (Internet Engineering Task Force)
develops and promotes voluntary Internet standards and protocols, in particular the standards that comprise the Internet protocol suite (TCP/IP).
Request for Comments
documents how standards and protocols are defined -- Published for all to see
HTTP
HyperText Transfer Protocol - the protocol used for transmitting web pages over the Internet
TCP (Transmission Control Protocol)
provides reliable, ordered, and error-checked delivery of a stream of packets on the internet. TCP is tightly linked with IP and usually seen as TCP/IP in writing.
URL (Uniform Resource Locator)
An easy-to-remember address for calling a web page (like www.code.org).
SSL (Secure Sockets Layer)
A method of encrypting data to provide security for communications over networks such as the Internet. TLS (Transport Layer Security) is a later version on SSL
TLS (Transport Layer Security)
A cryptographic protocol that provides end-to-end communication security over networks and is widely used for internet connections and online transactions. IETF standard to prevent tampering and message forgery and the successor to SSL.
SMTP (Simple Mail Transfer Protocol)
high-level protocol for formatting and sending email messages between mail servers.
POP (Post Office Protocol)
IMAP (Internet Message Access Protocol) are used to retrieve emails on the server's side
HTML (Hypertext Markup Language)
a computer code used to tell a web page how to look.
Net Neutrality
the principle that all Internet traffic should be treated equally by Internet Service Providers.
Heuristic
a problem solving approach (algorithm) to find a satisfactory solution where finding an optimal or exact solution is impractical or impossible.
Losless Compression
a data compression algorithm that allows the original data to be perfectly reconstructed from the compressed data.
Lossy Compression
(or irreversible compression) a data compression method that uses inexact approximations, discarding some data to represent the content. Most commonly seen in image formats like .jpg.
Image
A type of data used for graphics or pictures.
Metadata
data about data
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
A base-16 number system that uses sixteen distinct symbols 0-9 and A-F to represent numbers from 0 to 15.
RGB
the RGB color model uses varying intensities of (R)ed, (G)reen, and (B)lue light are added together in to reproduce a broad array of colors.
Byte
8 bits
File extension
a group of letters occurring after a period in a file name, indicating the format of the file.
Abstraction
a simplified representation of something more complex. Abstractions allow you to hide details to help you manage complexity, focus on relevant concepts, and reason about problems at a higher level.
Encoding
the processing of information into the memory system
Decoding
interpreting and trying to make sense of the message
Resolution
the dimensions by which you can measure how many pixels are on the screen
Density
the number of pixels in a certain space
Zip Folders
a computer file whose contents of one or more files are compressed for storage or transmission
Image file
a file that contains graphic data
Text file
file that contains text
Favicon
A small, customized icon shown in the address bar next to the URL or in the Favorites menu when a site is bookmarked.
Algorithm
A precise sequence of instructions for processes that can be executed by a computer
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. Also referred to as a "procedure".
API (Application Programming Interface)
a collection of commands made available to a programmer
Documentation
a description of the behavior of a command, function, library, API, etc.
Library
a collection of commands / functions, typically with a shared purpose
Parameter
An extra piece of information that you pass to the function to customize it for a specific need.
For Loop
A particular kind of looping construct provided in many languages. Typically, a for loop defines a counting variable that is checked and incremented on each iteration in order to loop a specific number of times.
Loop
a programming construct that repeats a group of commands.
Programming Language
a coding language used to dictate specific instructions to a computer
Prgramming environement
a tool where you write and run computer programs
Debugging
Finding and fixing problems in your algorithm or program.
Top- Down Design
a problem solving approach (also known as stepwise design) in which you break down a system to gain insight into the sub-systems that make it up.
Camelcase
multi-word function names are made a single word which begins in lowercase and uses uppercase letters to indicate the start of a new word
Iterate
To repeat in order to achieve, or get closer to, a desired goal.
Turtle Programming
a classic method for learning programming with commands to control movement and drawing of an on-screen robot called a "turtle". The turtle hearkens back to early implementations in which children programmed a physical robot whose dome-like shape was reminiscent of a turtle.
Efficiency
achieving maximum productivity with minimum wasted effort or expense
Abstraction
a simplified representation of something more complex. Abstractions allow you to hide details to help you manage complexity, focus on relevant concepts, and reason about problems at a higher level.
Iteration
the repetition of a process or utterance. (loop)
Caesar Cipher
a technique for encryption that shifts the alphabet by some number of characters
Cipher
the generic term for a technique (or algorithm) that performs encryption
Cracking encryption
When you attempt to decode a secret message without knowing all the specifics of the cipher, you are trying to "crack" the encryption.
Decryption
a process that reverses encryption, taking a secret message and reproducing the original plain text
Encryption
a process of encoding messages to keep them secret, so only "authorized" parties can read it.
Asymmetric Encryption
used in public key encryption, it is scheme in which the key to encrypt data is different from the key to decrypt.
Modulo
a mathematical operation that returns the remainder after integer division. Example: 7 MOD 4 = 3
Private Key
In an asymmetric encryption scheme the decryption key is kept private and never shared, so only the intended recipient has the ability to decrypt a message that has been encrypted with a public key.
Public Key Encryption
Used prevalently on the web, it allows for secure messages to be sent between parties without having to agree on, or share, a secret key. It uses an asymmetric encryption scheme in which the encryption key is made public, but the decryption key is kept private.
Antivirus Software
usually keeps big lists of known viruses and scans your computer looking for the virus programs in order to get rid of them.
DDoS Attack
Distributed Denial of Service Attack. Typically a virus installed on many computers (thousands) activate at the same time and flood a target with traffic to the point the server becomes overwhelmed.
Phishing
a thief trying to trick u into sending them sensitive information
Virus
a program that runs on a computer to do something the owner of the computer does not intend.
Digital Divide
the gulf between those who have ready access to computers and the Internet, and those who do not.
Malware
software that is intended to damage or disable computers and computer systems.
Callback function
a function specified as part of an event listener; it is written by the programmer but called by the system as the result of an event trigger.
Event
An action that causes something to happen.
Event Driven Program
a program designed to run blocks of code or functions in response to specified events (e.g. a mouse click)
Event Handling
an overarching term for the coding tasks involved in making a program respond to events by triggering functions.
Event Listener
a command that can be set up to trigger a function when a particular type of event occurs on a particular UI element.
UI elements
on-screen objects, like buttons, images, text boxes, pull down menus, screens and so on.
User Interface (UI)
The visual elements of a program through which a user controls or communicates with the application.
Debugging
Finding and fixing problems in your algorithm or program.
Data type
All values in a programming language have a "type" - such as a Number, Boolean, or String - that dictates how the computer will interpret it. For example 7+5 is interpreted differently from "7"+"5"
Expression
Any valid unit of code that resolves to a value.
Variable
A placeholder for a piece of information that can change.
Equality Operator
Is used for comparing two values, and returns a Boolean (true/false). Avoid confusion with the assignment operator "="; sometimes read "equal equal" (==)
Global Variable
A variable whose scope is "global" to the program, it can be used and updated by any part of the code. Its global scope is typically derived from the variable being declared (created) outside of any function, object, or method.
If statement
The common programming structure that implements "conditional statements".
Local Variable
A variable with local scope is one that can only be seen, used and updated by code within the same scope. Typically this means the variable was declared (created) inside a function -- includes function parameter variables.
Variable Scope
dictates what portions of the code can "see" or use a variable, typically derived from where the variable was first created. (See Global v. Local)
Concatenate
to link together or join. Typically used when joining together text Strings in programming (e.g. "Hello, "+name)