CS Principles

Vocab

Unit 1 - The Internet (Last update: May 2016)

Lesson 1: Personal Innovations

  • Innovation: A novel or improved idea, device, product, etc, or the development thereof.

Lesson 2: Sending Binary Messages

  • 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.

Lesson 3: Sending Binary Messages with the Internet Simulator

  • Bandwidth: Transmission capacity measure by bit rate
  • Bit: A contraction of "Binary Digit". A bit is the single unit of information in a computer, typically represented as a 0 or 1.
  • 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.

Lesson 6: Sending Numbers

  • Protocol: A set of rules governing the exchange or transmission of data between devices.

Lesson 7: Encoding and Sending Formatted Text

  • ASCII: ASCII - American Standard Code for Information Interchange. ASCII is the universally recognized raw text format that any computer can understand.
  • code: (v) to write code, or to write instructions for a computer.
  • Protocol: A set of rules governing the exchange or transmission of data between devices.

Lesson 8: The Internet Is for Everyone

  • 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.

Lesson 9: The Need for Addressing

  • 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.
  • Protocol: A set of rules governing the exchange or transmission of data between devices.

Lesson 11: Packets and Making a Reliable 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.

Lesson 12: The Need for DNS

  • DNS: The service that translates URLs to IP addresses.

Lesson 13: HTTP and Abstraction on the Internet

  • DNS: The service that translates URLs to IP addresses.
  • 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).

Lesson 14: Practice PT - The Internet and Society

  • DNS: The service that translates URLs to IP addresses.
  • 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.

Unit 2 - Digital Information (Last update: May 2016)

Lesson 2: Text Compression

  • 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.

Lesson 3: Encoding B&W Images

  • Image: A type of data used for graphics or pictures.
  • metadata: is data that describes other data. For example, a digital image my include metadata that describe the size of the image, number of colors, or resolution.
  • 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.

Lesson 4: Encoding Color Images

  • 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.
  • 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.

Lesson 5: Lossy Compression and File Formats

  • 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.

Lesson 6: Practice PT - Encode an Experience

  • Abstraction: Pulling out specific differences to make one solution work for multiple problems.

Lesson 14: Creating Summary Tables

  • 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".

Unit 3 - Algorithms and Programming (Last update: June 2016)

Lesson 2: The Need for Algorithms

  • Algorithm: A precise sequence of instructions for processes that can be executed by a computer

Lesson 3: Creativity in Algorithms

  • Algorithm: A precise sequence of instructions for processes that can be executed by a computer

Lesson 5: Creating Functions

  • Abstraction: Pulling out specific differences to make one solution work for multiple problems.
  • Function: A piece of code that you can easily call over and over again.

Lesson 6: Functions and Top-Down Design

  • Abstraction: Pulling out specific differences to make one solution work for multiple problems.
  • Function: A piece of code that you can easily call over and over again.

Lesson 7: APIs and Using Functions with Parameters

  • 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.

Lesson 8: Creating Functions with Parameters

  • Parameter: An extra piece of information that you pass to the function to customize it for a specific need.

Lesson 9: Looping and Random Numbers

  • 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.

Lesson 10: Practice PT - Design a Digital Scene

  • Abstraction: Pulling out specific differences to make one solution work for multiple problems.

Unit 4 - Big Data and Privacy (Last update: October 2016)

Lesson 1: What is Big Data?

  • 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.

Lesson 2: Rapid Research - Data Innovations

  • One-pager: A business/corporate term for a one-page document that summarizes a large issue, topic or plan.

Lesson 5: Simple Encryption

  • 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.

Lesson 6: Encryption with Keys and Passwords

  • Computationally Hard: a "hard' problem for a computer is one in which it cannot arrive at a solution in a reasonable amount of time.

Lesson 7: Public Key Cryptography

  • 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.

Unit 5 - Building Apps (Last Update: December 2016)

Lesson 1: Introduction to Event-Driven Programming

  • 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 an program through which a user controls or communications the application. Often abbreviated UI.

Lesson 2: Multi-Screen Apps

  • Debugging: Finding and fixing problems in your algorithm or program.
  • 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.

Lesson 3: Building an App: Multi-Screen App

  • 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.

Lesson 4: Controlling Memory with Variables

  • 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.

Lesson 5: Building an App: Clicker Game

  • ==: 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)

Lesson 6: User Input and Strings

  • 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!").

Lesson 7: If-statements unplugged

  • 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.

Lesson 8: Boolean Expressions and "if" Statements

  • Boolean: A single value of either TRUE or FALSE
  • 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.

Lesson 9: "if-else-if" and Conditional Logic

  • Boolean: A single value of either TRUE or FALSE
  • 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.

Lesson 10: Building an App: Color Sleuth

  • 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.

Lesson 11: While Loops

  • 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.

Lesson 12: Loops and Simulations

  • 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.

Lesson 13: Introduction to Arrays

  • Array: A data structure in JavaScript used to represent a list.
  • List: A generic term for a programming data structure that holds multiple items.

Lesson 14: Building an App: Image Scroller

  • 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.

Lesson 15: Processing Arrays

  • 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.

Lesson 16: Functions with Return Values

  • 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.

Lesson 17: Building an App: Canvas Painter

  • 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.