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
Protocol: A set of rules governing the exchange or transmission of data between devices.
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).
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.
Packets: Small chunks of information that have been carefully formed from larger chunks of information.
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.
DNS: short for Domain Name System, this system translates domain names (like example.com) to IP addresses (like 93.184.216.34)
HTTP: HyperText Transfer Protocol - the protocol used for transmitting web pages over the Internet
IP Address: A number assigned to any item that is connected to 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: An easy-to-remember address for calling a web page (like www.code.org).
DNS: short for Domain Name System, this system translates domain names (like example.com) to IP addresses (like 93.184.216.34)
HTTP: HyperText Transfer Protocol - the protocol used for transmitting web pages over the Internet
IP Address: A number assigned to any item that is connected to the Internet.
Net Neutrality: the principle that all Internet traffic should be treated equally by Internet Service Providers.
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.
Heuristic: a problem solving approach (algorithm) to find a satisfactory solution where finding an optimal or exact solution is impractical or impossible.
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: is data that describes other data. For example, a digital image may include metadata that describe the size of the image, number of colors, or resolution.
Pixel: short for "picture element", the fundamental unit of a digital image, typically a tiny square or dot that 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.
Pixel: short for "picture element", the fundamental unit of a digital image, typically a tiny square or dot that contains a single point of color of a larger image.
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.
Lossless 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.
Algorithm: A precise sequence of instructions for processes that can be executed by a computer
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.
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.
Algorithm: A precise sequence of instructions for processes that can be executed by a computer
Iterate: To repeat in order to achieve, or get closer to, a desired goal.
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.
Pair Programming: A method of programming in which two programmers write code using a single computer. One programmer in the
"driver" role uses the mouse and keyboard to actually write the code while a second acts as a "navigator", keeping track of the big picture, catching errors, and making suggestions. Programmers switch roles frequently and communicate throughout the process.
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.
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.
Function: A named group of programming instructions. Functions are reusable abstractions that reduce the complexity of writing and maintaining programs.
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.
Function: A named group of programming instructions. Functions are reusable abstractions that reduce the complexity of writing and maintaining programs.
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.
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.
Big Data: a broad term for datasets so large or complex that traditional data processing applications are inadequate.
Moore's Law: a predication made by Gordon Moore in 1965 that computing power will double every 1.5-2 years, it has remained more or less true ever since.
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.
Random Substitution Cipher: an encryption technique that maps each letter of the alphabet to a randomly chosen other letters of the alphabet.
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.
Firewall: software that runs on servers (often routers) that only allows traffic through according to some set of security rules.
Phishing Scam: a thief trying to trick you into sending them sensitive information. Typically these include emails about system updates asking you send your username and password, social security number or other things.
SSL/TLS: Secure Sockets layer / Transport Layer Security - An encryption layer of HTTP that uses public key cryptography to establish a secure connection.
Virus: a program that runs on a computer to do something the owner of the computer does not intend.
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: The visual elements of a program through which a user controls or communicates with the application. Often abbreviated UI.
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.
==: The equality operator (sometimes read: "equal equal") is used to compare two values, and returns a Boolean (true/false). Avoid confusion with the assignment operator "=",
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)
Conditionals: Statements that only run under certain conditions.
If-Statement: The common programming structure that implements "conditional statements".
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.
Boolean Expression: in programming, an expression that evaluates to True or False.
Conditionals: Statements that only run under certain conditions.
If-Statement: The common programming structure that implements "conditional statements".
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.
Boolean Expression: in programming, an expression that evaluates to True or False.
Conditionals: Statements that only run under certain conditions.
If-Statement: The common programming structure that implements "conditional statements".
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.
Boolean Expression: in programming, an expression that evaluates to True or False.
Conditionals: Statements that only run under certain conditions.
If-Statement: The common programming structure that implements "conditional statements".
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.
Models and Simulations: a program which replicates or mimics key features of a real world event in order to investigate its behavior without the cost, time, or danger of running an experiment in real life.
Key Event: in JavaScript an event triggered by pressing or releasing a key on the keyboard. For example: "keyup" and "keydown" are event types you can specify. Use event.key - from the "event" parameter of the onEvent callback function - to figure out which key was pressed.
for loop: A typical looping construct designed to make it easy to repeat a section of code using a counter variable. The for loop combines the creation of a variable, a boolean looping condition, and an update to the variable in one statement.
Return Value: A value sent back by a function to the place in the code where the function was called form - typically asking for value (e.g. getText(id)) or the result of a calculation or computation of some kind. Most programming languages have many built-in functions that return values, but you can also write your own.
Canvas: a user interface element to use in HTML/JavaScript which acts as a digital canvas, allowing the programmatic drawing and manipulation of pixels, basic shapes, figures and images.
Key Event: in JavaScript an event triggered by pressing or releasing a key on the keyboard. For example: "keyup" and "keydown" are event types you can specify. Use event.key - from the "event" parameter of the onEvent callback function - to figure out which key was pressed.
Aggregation: a computation in which rows from a data set are grouped together and used to compute a single value of more significant meaning or measurement. Common aggregations include: Average, Count, Sum, Max, Median, etc.
Pivot Table: in most spreadsheet software it is the name of the tool used to create summary tables.
Summary Table: a table that shows the results of aggregations performed on data from a larger data set, hence a "summary" of larger data. Spreadsheet software typically calls them "pivot tables".