1/92
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
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.
Lossy Compression
a data compression method that uses inexact approximations, discarding some data to represent the content. Most commonly seen in image formats like .jpg.
Abstraction
Pulling out specific differences to make one solution work for multiple problems
Innovation
A novel or improved idea, device, product, etc, or the development thereof.
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.
Bandwidth
Transmission capacity measure by bit rate
Bit rate
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.
ASCII
the universally recognized raw text format that any computer can understand
code
to write instructions for a computer.
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.
IP Address
A number assigned to any item that is connected to the Internet.
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
The service that translates URLs to IP addresses.
HTTP - HyperText Transfer Protocol
the protocol used for transmitting web pages over the Internet
URL
An easy-to-remember address for calling a web page (like www.code.org).
Algorithm
A precise sequence of instructions for processes that can be executed by a computer
Function
A piece of code that you can easily call over and over again (May also be referred to as a method or procedure)
API
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
The action of doing something over and over again.
Caesar Cipher
a technique for encryption that shifts the alphabet by some number of characters (an example of symmetric encryption)
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. (an example of symmetric encryption)
Computationally Hard:
a "hard' problem for a computer is one in which it cannot arrive at a solution in a reasonable amount of time.
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. (example of asymmetric encryption)
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)
User Interface
The visual elements of an program through which a user controls or communications the application. Often abbreviated UI.
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.
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)
Concatentate
to link together or join. Typically used when joining together text Strings in programming (e.g. "Hello, "+name)
String
Any sequence of characters between quotation marks (ex: "hello", "42", "this is a string!").
Conditionals
Statements that only run under certain conditions
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
A single value of either TRUE or FALSE
Boolean Expression
in programming, an expression that evaluates to True or False.
Iterate
To repeat in order to achieve, or get closer to, a desired goal.
while loop
a programming construct used to repeat a set of commands (loop) as long as (while) a boolean condition is true
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.
Array
A data structure in JavaScript or Java used to represent a list.
List
A generic term for a programming data structure that holds multiple items
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.
Server
A computer that awaits and responds to requests for data
Example: a DNS server awaits and responds to requests for URLs to be translated to IP addresses.
virus
a piece of code that is capable of copying itself and typically has a detrimental effect, such as corrupting the system or destroying data.
phishing
the fraudulent practice of sending emails purporting to be from reputable companies in order to induce individuals to reveal personal information, such as passwords and credit card numbers.
DDos - short for Distributed Denial of Service
attack where multiple compromised systems, which are often infected with a Trojan, are used to target a single system causing a Denial of Service attack.
byte
8 bits
overflow
error that results when the number of bits is not enough to hold the number or result of a calculation, like a car's odometer "rolling over"
round-off error
error that results when the number of bits is not enough to represent the actual number, like 3 digits to represent π as 3.14
sequencing
code flows line by line, one after another, like a recipe
reasonable time
polynomial in the number of steps an algorithm takes in the worst case based on the input size
not reasonable time
Usually exponential in the number of steps, like doubling every time your input grows by one
undecidable
A problem that is so difficult, we can't ever create an algorithm that would be able to answer yes or no for all inputs, like determining if a user's program run on some input would always stop and not run forever
Crowdsourcing
Asking lots of users online to help with something, like funding a project, or running SETI@Home to help look for extraterrestrial signals
Creative Commons
An alternative to copyright that allows people to declare how they want their artistic creations to be shared, remixed, used in noncommercial contexts, and how the policy should propagate with remixed versions. Helps legally share your
knowledge and creativity to build
a more equitable, accessible, and
innovative world
Open Access
A policy that allows people to have read access to things, e.g., libraries or online data
Spamming
Email or a SMS message that has
many copies floating around the
internet forcing people who would
not typically want to receive it get
it in their inbox.
Phishing
Email messages that appear to
come from legitimate sources to
get private information
Cloud Computing
Storing data over the Internet -
rather than on the local computer
hard disk is cloud computing.
Digital Millennium
Copyright Act (DMCA)
Copyright laws related to digital
media and emerging information
technologies that are occurring
because of the Internet
Citizen Science
The involvement of the public in
scientific research - whether
community-driven research or
global investigations. (Example: asking everyone around the world to count the butterflies they see one day
Machine Learning
A method of pattern recognition
using programming to teach a
program to recognize or react to
patterns
Digital Divide
or
Digital Split
A social issue referring to the
differing amount of information
between those who have access
to the Internet (especially
broadband access) and those
who do not have access.
Sequential Computing
The computer executes each operation of the program in order, one at a time
Parallel Computing
The process of breaking down larger problems into smaller, independent, often similar parts that can be executed simultaneously by multiple processors communicating via shared memory
Distributed computing
A system with multiple components located on different machines that communicate and coordinate actions in order to appear as a single coherent system to the end-user
Rogue Access Point
A rogue access point (rogue AP) is any wireless access point that has been installed on a network's wired infrastructure without the consent of the network's administrator or owner, thereby providing unauthorized wireless access to the network's wired infrastructure.
Speedup
The speedup of a parallel solution is measured in the time it took to complete the task sequentially divided by the time it took to complete the task when done in parallel.