All key terms

advertisement

Lesson 1.1 Algorithms and Agile Development

Key Terms

Term Definition

Maintains a running total. Accumulator

Variable

Aggregator

Variable

Stores a list of values built up over time and remembers separate individual values.

Agile Design

Algorithm

Best-so-far

Variable

Boolean

Expression

Bug

Central

Processing Unit

(CPU, or core)

Code

Conditional

A method of software development that emphasizes frequent client input to produce better end products.

A step-by-step procedure, like a recipe, but often involving decisions.

Keeps track of a record best or worst and updates when a new record best or worst has been reached.

Evaluates to either true or false; used in the conditional of an ifstructure.

Part of a program that causes an error or undesired output.

The part of the computer that executes one instruction at a time.

Debugging

Encapsulation

Event

Event Handler

Execute

Fixed Variable

If-structure

Input

Integrated

Development

Environment

(IDE)

Iteration

Memory

Instructions in a program.

The Boolean expression in an if-structure that is evaluated to determine which branch of code to execute.

The process of figuring out why code doesn’t behave as expected and eliminating bugs to make it work as desired.

Keeping details (like data and procedures) together in one part of a program so that programmers working on other parts of the program don’t need to know about them.

A “trigger” from the user or from a program that causes a specific part of the program to execute.

A piece of code that responds to an event.

To run a program or a single instruction.

Stores a value that will not change over the course of the entire program.

Evaluates a Boolean expression and executes some code if the expression is true (and possibly other code if it is false).

Data that is used by a program.

Provides a developer with a way to create a program, run the program, and debug the program all within one application.

Repeating a step-by-step procedure several times; also used to refer to single execution of that repetitive procedure.

The parts of computer that can store data or instruction,

© 2014 Project Lead The Way, Inc.

Computer Science and Software Engineering Lesson 1.1 Algorithms and Agile Development Key Terms – Page 1

including volatile memory (lost when the computer is turned off) and non-volatile memory (retained when the computer is turned off).

Meta-information Information about a program or data file, including date created and author information.

Method A set of instructions grouped together to do something to or with an object.

Method Call

Modular Code

An instruction to use a method.

A group of instructive code that exists as an independent unit,

Most Recent

Variable which is easy to use with other code as needed.

Stores user input or stores information about a program’s state that changes unpredictably.

One-way Flag

Variable

Output

Stores whether a condition has been true yet; reset before iteration and possibly raised during iteration.

The effect that a program has on its environment.

Product Backlog A prioritized list of user stories, showing both short- and longterm goals of a software development team.

Pseudocode

Script

An outline of the basic ideas behind how algorithms will work.

A set of instructions. In Scratch a script is a single stack of blocks

Scrum belonging to one sprite or to the stage.

The most common framework for Agile Development.

Sprint Task List A list of small specific tasks to be completed during the current

Sprite sprint in the scrum method of software development.

A graphics object that can be moved on top of or behind a background.

State

State Diagram

Data that describes everything about how a program exists at a given time; a snapshot of a program.

Shows the ways that a program could progress from each state to other states.

Stepper Variable A variable that counts in an arithmetic sequence, usually counting by ones starting at 0 or 1.

Syntax Precise rules defining how the letters, words, and punctuation of a programming language are required to be used together.

Turing Test

User Stories

One method of determining the strength of artificial intelligence, in which a human tries to decide if the intelligence at the other end of a text chat is human.

Plain-language description of a user’s need for the software

Variable Roles under development, usually phrased as “(who) wants to (do what within the software) so that they can (do what in real life)”.

Describe why a variable is being used in a program.

Walker Variable Stores one item from a list at a time during iteration.

Waterfall Design A method of software development that emphasizes completing each stage of the design process before beginning the next stage.

Lesson 1.2 App Design Key Terms

© 2014 Project Lead The Way, Inc.

Computer Science and Software Engineering Lesson 1.1 Algorithms and Agile Development Key Terms – Page 2

Term

Abstraction

Analog

Analog-to-Digital

Conversion

ASCII

Base n

Binary

Bit

Byte

Compression

Compression

Ratio

Concatenation

Continuous

Definition

Creating simple concise representations of more complex phenomena so that people can more easily work with, communicate about, and learn about anything.

A continuous method of representing information.

A process of converting continuous information into discrete data; some information is typically lost.

A standard code for representing text characters using one byte.

Generally replaced by UTF-8 or UTF-16 to support international languages.

A base n number system has n digits and uses place values that are powers of n.

The binary number system is base 2, using only bits 0 and 1.

A single unit of binary consisting of only one place whose value can be 0 or 1.

Eight bits, able to represent 256 distinct values. Abbreviated “b”.

Storing information using fewer bytes.

Summarizes the reduction in size of a file. Can be expressed two different ways, as follows. If more than 1, the compression ratio tells how many times bigger the original file is. If less than 1, the compression ratio tells the percentage by which the original file size has been reduced.

Attaching two things side-by-side, frequently strings of text.

Varying smoothly from one value to another. Opposite of discrete.

Data Abstraction Representing or storing information with methods that separate layers of concerns so that the programmer can work with information while ignoring lower-level details about how the information is represented.

Digit

Digital

Discrete

A single number (0-9) used to represent numeric quantities in base 10.

Data which can only take on discrete values. Opposite of analog.

Jumping from one value to another without taking on all

Event Handler

Fidelity intermediate values. Opposite of continuous.

A chunk of code that responds to actions performed by users or by other parts of the program.

The extent to which a copy is identical to the original.

Global Variable A variable that can be used in any part of the program.

Hexadecimal The hexadecimal number system is base 16, using only digits 0, 1,

2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, and F.

Kilobyte One thousand bytes (abbreviated “kb”). Sometimes used to mean

2 10 bytes = 1024 bytes (abbreviated “kib”).

Megabyte

Lossy

Octal

One million bytes (“Mb”). Sometimes used to mean 2 20 bytes =

1,048,576 bytes (abbreviated “Mib”).

Describes a method of compression in which data is lost in a way that cannot be recovered from the compressed data.

The octal number system is base 8, using only digits 0 through 7.

Palette A limited set of colors.

© 2014 Project Lead The Way, Inc.

Computer Science and Software Engineering Lesson 1.1 Algorithms and Agile Development Key Terms – Page 3

Padding

Pixel

UTF-8

Blank space placed around elements of a display to make it look the way the designer planned.

A single dot in an image. Many color monitors actually have

Procedure

Definition three dots (red, blue, and green) for each pixel, but it is referred to as one pixel.

Identify a chunk of code that will be reusable anywhere else in the program by calling its name

Pseudorandom Numbers that are difficult to predict and created by a computer.

Type A specific meaning for data, such as a character, a truth value, or an integer, usually limiting the values allowed for the data.

A coding system for storing characters in bits, extending the 8bit ASCII coding system to include international characters by sometimes using more than 8 bits.

Lesson 1.3 Algorithms in Python Key Terms

Term Definition

Arguments

Assignment

Operator

The values that the programmer provides in the function call.

The ‘=’ character causes the compiler or interpreter to evaluate to the expression on its right and store the result in the variable(s) on its left.

A group of program statements that are grouped together, Block of Code denoted by indentation in Python.

Built-in Function The set of functions available to the programmer without the need to use any “import” or “include” statements.

Call Code telling the interpreter or compiler to execute a function or

Character method defined elsewhere, replacing the call with a return value if applicable.

Any single typeset unit, including uppercase and lowercase letters, digits, punctuation marks, international characters like letters with Ümläüts, and special characters like tabs and carriage returns.

Clone

Collection

Compiler

Compound

Conditional

Default Value

Diff

Docstring

A duplicate copy.

A variable or value with several elements such as a string, tuple, or list.

A computer program created to read an entire program and convert it into a lower-level language and ultimately to assembly language used by the processor.

A conditional with one or more logical operators used to incorporate several logical expressions.

Python allows a programmer to specify the value for an argument if the function is called without that actual argument.

The set of differences between two versions of the same piece of code.

A special comment located at the beginning of a program or the

© 2014 Project Lead The Way, Inc.

Computer Science and Software Engineering Lesson 1.1 Algorithms and Agile Development Key Terms – Page 4

Element

Evaluate

Exception beginning of a function that is used to automatically create help documentation.

A single object or variable/value in a collection.

To determine the result of an expression.

An error or other message raised by the interpreter or compiler to indicate a special circumstance that should be handled by an exception handler. If an exception is not handled, the program will stop and report the error.

A native type representing rational numbers to limited precision. Float

Flow Chart

Formal

Arguments

Function Name

Garbage

Collection

Glass Box Testing Process for evaluating the correctness or effectiveness of a piece of software while examining its algorithmic structure.

Immutable

Import

Not able to be changed after creation.

In Python import is a key word for using one module of code

Int

Interpreter from inside another module.

A native type representing the integers, which are positive whole numbers and their opposites.

Converts a program written in a higher level language into a lower level language and executes it, beginning execution before converting the entire program.

Iterable

Least Significant

Bits

Library

Loop

A property of collections that are used to provide elements one at a time and in sequence.

The bits that contribute the smallest amount to the overall value of a binary number, including the 1s place value.

A collection of modules.

Algorithmic structure for performing the instructions multiple times, with each pass through the loop called an iteration.

Usually controlled by a condition evaluated with each iteration.

Machine Code

Module

Multi-line

Comment

Multiple

Assignment

Mutable

Namespace

A graphic organizer that can be used to show the procedural pathways within a program.

For internal use within a function, formal arguments are names that represent data passed to the function, discarded after the function has been executed.

A unique identifier given to the function when it is defined and used again whenever the function is called.

Releases memory that was used for a variable's value once the variable is no longer to be used by a program.

Zeros and ones that represent simple instructions executed by a processor.

An encapsulated collection of one or more related classes, each with its own methods and attributes.

Denoted by either ‘’’, or “”” these can generate docstrings and allow the programmer to leave notes in code that span several lines without having to type ‘#’ at the beginning of each line.

Python allows a programmer to assign values to several variables at once. This may be used to store a group of values returned by a function.

An object that is able to be changed after its creation.

The set of variable and function names that have been reserved by the compiler/interpreter.

© 2014 Project Lead The Way, Inc.

Computer Science and Software Engineering Lesson 1.1 Algorithms and Agile Development Key Terms – Page 5

Native Type

Null String

Op Code

Register

Return Value

Scope

Slicing

String

Syntax

Test Suite

The types of data built into a programming language, often faster and more efficient with resources.

A string that contains no characters.

The digital representation of an instruction that will be fetched, decoded, retrieved, and executed by the CPU.

A very tiny part of the processor microchip that stores bits of data, typically 32 or 64 bits in modern computers.

Any value that a method or function gives back to the statement command from which the function or method is called.

The portion of a program that knows about a variable and can access its value. In Python a variable has a local scope (the variable can only be used in a function definition) or global scope

(the variable can be used anywhere in the source file of code).

Selecting a portion of a collection.

A native type in Python representing a sequence of characters.

Strings are both iterable and immutable.

The grammar of a programming language, defining what specific sequences of characters are allowed, what they mean, and how they can be put together.

A software package designed to evaluate the correctness or effectiveness of another software solution.

Test-Driven

Design

Traceback

Tuple

Type Casting

Unique

A software development process in which developers first create a test suite and then create the code to satisfy the test suite, e.g.,

Xtreme Programming.

A list of code that was executed just before an exception stopped the program.

A native type in Python that can store a collection but cannot assign new values to individual elements.

Converting data from one type to another, e.g., from string to int, potentially losing information.

Without duplicates; a unique set of numbers is a group of numbers such that no number appears twice.

Validate Ensure that the values stored in variables are of the correct type and/or within appropriate value ranges.

Variable Binding A process in which the name you give a variable is stored in a lookup table along with the memory address that the interpreter should access when the variable is referenced in the future.

Version Control A process to keep track of what changes were made to what files

Working

Directory so that a specific version can be referred to and improvements in multiple versions can be merged together.

The directory in the file system you are currently "in".

Lesson 1.4 Images and Object Oriented

Libraries Key Terms

© 2014 Project Lead The Way, Inc.

Computer Science and Software Engineering Lesson 1.1 Algorithms and Agile Development Key Terms – Page 6

Term

Absolute filename

Arguments

Attributes

Alpha channel

API

Array

Attribute

Bounding box

Call

Catch

Class

Compiler

Constructor

Default value

Docstring

Escape sequences or escape character

Exception

Formal arguments

Function name

GUI

Definition

Includes the entire directory pathway to get to the specified file, as opposed to the relative filename that is specified only from the current working directory.

The values that the programmer provides in the function call.

Data associated with an object.

Part of a pixel’s data that tells how opaque or transparent that color should appear when the graphics card calculates how to render the image on screen.

An Application Programming Interface is a way programmers share their code with other programmers. In object-oriented libraries, an API specifies the methods of each class.

An ordered collection of elements of the same type.

A variable, one of which is possessed by each object in a class, storing a value specific to that object as an instance of the class.

A rectangle that encloses part of an image.

Code telling the interpreter or compiler to execute a function or method defined elsewhere, replacing the call with a return value if applicable.

An exception (or error) caught by lines of code if it is handled instead of being passed to parent programs. If an exception is not caught, the operating system catches it.

An abstraction defining a type of object, with methods

(instructions that can be executed) and attributes (variables to store data).

A computer program created to read an entire program and convert it into a lower-level language and ultimately assembly language used by the processor.

A method for creating an object in a class.

The value of an argument if the function is called without that actual argument.

A special comment located at the beginning of a program or the beginning of a function, used to automatically create help documentation.

Allow a programmer to display characters that might otherwise be difficult for the programmer to enter or display, such as tabs, quotes, and new lines. Generally an escape sequence begins with the ‘\’ character.

An error or other message raised by the interpreter or compiler to indicate a special circumstance that should be handled by an exception handler. If an exception is not handled, the program will stop and report the error.

For internal use within a function, formal arguments are names that represent data passed to the function, discarded after the function has been executed.

A unique identifier given to the function when it is defined and used again whenever the function is called.

A Graphical User Interface, currently the dominant method for

© 2014 Project Lead The Way, Inc.

Computer Science and Software Engineering Lesson 1.1 Algorithms and Agile Development Key Terms – Page 7

Handler

Instance

Instantiation

Interpolate

Keyword-value pair designing human-computer interaction.

An event such as mouse input in a graphical user interface, or such as an error or exceptions, triggers the execution of an event handler or exception handler.

A single object of a particular class.

Process of creating an object, an instance of a class; creates space in memory for the new object and binds a name for the object with the object’s data in memory.

To determine intermediate values between data points.

A way to pass arguments to a function or method in Python. By providing the keyword, the arguments may be provided in any order. Mutable objects like lists are passed by reference

(meaning that the function might change them). Immutable objects like numeric types, strings, and tuples are passed by value (meaning that if they are changed inside the function, it has no effect outside the function). This is an important but advanced distinction not covered in the course, mentioned here

only because of the conflicting term.

A collection of modules. Library

Metadata

Method

Module

Multi-line comment

Mutable

Namespace

Information about data, such as when, how, or by whom the data were collected or what software was used to manipulate the data.

Instructions executed for a particular object.

An encapsulated collection of one or more related classes, each with its own methods and attributes.

Denoted by

'''

,these can generate docstrings and allow the programmer to leave notes in code that span several lines without having to type ‘#’ at the beginning of each line.

An object that is able to be changed after its creation. In Python includes lists and dictionaries. Strings, for example, are immutable, and a variable can only be assigned to a new value rather than changed in the same memory location.

The set of variable and function names that have been reserved by the compiler/interpreter.

An element in a tree. Node

Object A specific instance of a class with a specific set of values for its own attributes that is able to execute any methods defined in its class.

Object-oriented A paradigm for programming in which code describes a class with methods, including a method for creating an object in the

Opaque

Overriding a default class.

Cannot be seen through; the opposite of transparent.

Providing a value for an argument in a function when the function has been defined with a default value for the argument,

Pixel

Pixelate causing Python to use the value provided instead of the default.

Short for picture element; it is a single dot of color.

An effect created by attempting to display an image at a high enough resolution that individual pixels can be differentiated.

Relative filename A filename and a path for getting to the file's directory, starting from the current working directory

© 2014 Project Lead The Way, Inc.

Computer Science and Software Engineering Lesson 1.1 Algorithms and Agile Development Key Terms – Page 8

Return value

Root node

Steganography

Traceback

Tree

Validate

Any value that a method or function gives back to the statement command from which the function or method is called.

The top level of a file structure. The folder that contains all other folders.

A field within cryptography; uses images to hide data.

A list of function calls that were made before an exception stopped the program.

A data structure in which each node has exactly one parent, with the exception of the root node, which has no parent.

Ensure that the values stored in variables are of the correct type and/or within appropriate value ranges.

Lesson 1.5 GUIs in Python Key Terms

Term

Abstraction

Accessibility

Algorithmic

Problem

Algorithmic

Solution

Avatar

Base Case bounding Box

Button

Central Angle

Class Diagrams

Design Patterns

Ergonomics

Global Scope

Human-

Computer

Interaction

Local Scope

Definition

Hiding some details so that the programmer can focus a manageable amount of complexity at a time; data abstraction and procedural abstraction are the two primary types of abstraction in computer science.

The extent to which a computer interface can be used by all people or is limited by individual characteristics.

A problem with an algorithmic solution, stated broadly so that it applies to all equivalent situations.

A procedure for solving a problem, often applicable to a class of equivalent problems.

User's representation in a virtual reality.

The condition under which a recursive function returns without calling itself, thereby ending the recursive calls.

A rectangle that tightly encloses a 2D space shape or image.

A standard GUI widget that responds to mouse-clicking events.

An angle with its vertex at the center of a circle.

A type of UML diagram that shows a class's attributes and methods.

Broad strategies for designing software to solve a category of problems.

Design of tools that carefully considers the human body with emphasis on health concerns and ease of use.

A variable with a broad scope; in Python a variable assigned in a line without indentation is a global variable.

The study of how humans give input to and receive output from a computer.

A variable with a scope that is limited; in Python, a local scope is created by the def and class keywords, and the scope is the block of code they create.

© 2014 Project Lead The Way, Inc.

Computer Science and Software Engineering Lesson 1.1 Algorithms and Agile Development Key Terms – Page 9

Model-View-

Controller

Observer

Procedural

Abstraction

Programming

Paradigm

Recursion

Repetitive Strain

Injuries

Scope

Searching a List

Sector

Slider

Sorting a List

Standard

Position

Technical Debt

Tracer Route

Unified Modeling

Language (UML)

Velocity

Video Card

Virtual Reality

(VR)

Widget

A design pattern for GUIs.

A design pattern in which agents subscribe to data updates.

Making a procedure available for general use so that programmers do not have to worry about the details within the procedure's algorithm.

A way of approaching problems; object-oriented, functional, and imperative paradigms are three major paradigms.

When a function calls itself.

Inflammation in joints and musculature resulting from frequently recurring motions.

The scope of a variable is the portion of the program that will recognize the variable name, class, or function definition.

An algorithmic pattern with well-known solutions, including sorting followed by binary search.

The shape bounded by an arc and two radii.

A standard GUI widget that responds to mouse-dragging events in one direction.

An algorithmic problem with well-known solutions, including insertion sort, bubble sort, and merge sort.

A direction pointing to the right is 0 degrees; directions up and to the right are between 0 and 90 degrees.

When the work of cleaning up and documenting code falls behind the writing of code.

A skeletal development of a program that ensures the development team has figured how to make the layers talk to each other.

A standard format for communicating and documenting software design.

The rate at which a developer is completing user stories or sprint tasks.

A hardware component that delivers graphic output to the monitor, usually with its own memory and highly parallel processing power.

A simulated environment typically featuring some subset of what humans consider “real”.

A standard component of a GUI.

Lesson 2.1 The Internet and the Web Key

Terms

Term

Absolute Path

Definition

Representation of the location of a resource on the hard disk with respect to the root.

© 2014 Project Lead The Way, Inc.

Computer Science and Software Engineering Lesson 1.1 Algorithms and Agile Development Key Terms – Page 10

Addon

Authenticate

Authoritative

DNS

AWSS

Bandwidth

Bookmark

Browser

Browser Tab

Brute Force

Certificate

Authority

Domain

Domain Name

System

Dotted Decimal

Notation

Encryption

Ethernet

External Style

A piece of software designed to enhance the capabilities of another piece of software.

Checking to make sure that a computer or user is who/what it says it is.

Publishes DNS data for a given domain and its subdomains.

An Amazon Web Services system is a part of a physical machine that is used as a server; many may exist on the same computer.

Measurement of the amount of data that can be transmitted through a network.

A piece of data used by a browser to allow the user to return quickly to a previously visited site.

A piece of software that renders web pages and allows users to view resources on a network.

A separate viewing pane within a browser window, many of which may be open at once, allowing a user to switch quickly between web pages.

A method for determining a solution to a problem by sequentially testing all possible solutions.

Issues a digital certificate verifying that a given public key is owned by the entity named on the certificate.

A string of text that has been converted to a secure form using encryption.

A program that makes use of another piece of software or set of data.

A machine running a client application.

Ciphertext

Client

Application

Client Machine

Computer and

Information

Technology

Computer System

Design

Cookie

Credentials

Cryptography

CSS

Decryption

A group of computing careers focusing on the use of computers to store and manipulate data.

A cluster of computing careers focusing on the creation and maintenance of networks and computer hardware.

A small piece of data stored on the client machine that can only be accessed by the server that issued it.

A set of information that identifies a particular user or machine.

The study and use of techniques for securing communication.

Cascading Style Sheets contain hierarchical information about how the content of a web page will be rendered in a browser.

The process of converting a cyphertext into plaintext.

A region of the Internet that is grouped together for administrative purposes such as allocating ownership of resources.

A hierarchical system for naming resources on the Internet.

A representation of numerical data in which groups of base-10 numbers are separated by dots.

Process of converting plaintext to cyphertext.

A set of protocols and technologies used for computer networking.

A file containing only CSS code that may be referenced by many

© 2014 Project Lead The Way, Inc.

Computer Science and Software Engineering Lesson 1.1 Algorithms and Agile Development Key Terms – Page 11

Sheet

Filter

Flag

FTP

History

HTML

HTTP

ICANN

IETF

Inline Style

Internal Style

Sheet

Internet

IPv4

IPv6

ISP

JavaScript

Kill

Latency

Name Server

NIC

Packets

Paginating

Paired Keys

Parallel

Computing

Parameters

Path

Plaintext

HTML files.

Allows some packets through while blocking others based on predetermined criteria.

An option associated with the execution of a particular UNIX command (i.e., –l or –a).

File Transfer Protocol uses a TCP-based network to pass files from host to host.

Information stored by a browser about the web resources that it has requested.

HyperText Markup Language is the most common language used for creating web pages.

HyperText Transfer Protocol allows for the passing of structured text from one node connected to the Internet to another.

The Internet Corporation for Assigned Names and Numbers is responsible for governing the development of DNS policy.

The Internet Engineering Task Force develops and promotes

Internet standards.

CSS code contained directly within an HTML tag using the

“style” attribute, affecting only the content of that tag.

A portion of CSS code indicated by a “style” tag and contained within the head of an HTML document. Styles expressed here affect the entire HTML document.

A global computer network that relies on TCP/IP for communication between machines.

The dominant protocol for routing traffic on the Internet.

A new protocol developed to replace IPv4, addressing the issue of

IP address exhaustion.

Internet Service Providers provide users with access to the

Internet.

A web-based language primarily used to alter the content that will be displayed by a web browser dynamically.

To stop a process.

Measure of delay in communication between two machines over a network.

A computer dedicated to providing responses to requests for

Domain Name information.

A Network Interface Card is a piece of hardware that allows a computer to connect to a network.

A unit of data transmitted over a network.

Dividing content into separate pages.

Two keys that are related in such a way that one can be used to encrypt data which can then only be decrypted by the other key.

A field of study focusing on the development of software that utilizes multiple cores to solve problems by compartmentalizing them into smaller sub-problems.

A set of information included to help a process or function operate as intended.

An expression of the location of a resource on a computer.

Information that is readable without performing any

© 2014 Project Lead The Way, Inc.

Computer Science and Software Engineering Lesson 1.1 Algorithms and Agile Development Key Terms – Page 12

Port

Process

Property-Value

Pair

Protocol

Public Key

Encryption

Query

Recursive DNS

Redundancy

Relative

Frequencies

Relative Path

Remote Shell

Router

Selector

SSH

SSL Certificate

Subdomain

Substitution

Cipher

System

Administrator

TCP Handshake

TCP/IP

Third-Party

Cookie

Top-Level

Domain

URL

Web Crawler cryptographic operations.

Identifies the type of application or process that is being accessed on a server.

A program running on a computer.

Syntax for CSS in which a property is followed by a ‘:’ character and then a corresponding value (i.e., font-family:Serif; ).

An agreed upon method for conducting a communication.

A method of paired key encryption in which the key used to encrypt data is made available to anybody and its corresponding decryption key is kept secret.

A request for information.

Queries authoritative name servers until it can provide an answer to a request for domain information.

The property of having many resources or components which all serve identical purposes.

A measure of the rate at which characters are used in a document or language with respect to each other.

An expression of the path to a resource on a computer with respect to the current working directory.

A tool for accessing a computer over a network via the command line.

A piece of hardware responsible for dictating the flow of packets over a network.

An expression of the kind of content contained by a tag in HTML.

Secure Shell is a network protocol for secure transfer of data between computers.

A digital document used to verify the authenticity of a server or public key.

A portion of a domain that is allocated for use by the owner of the domain.

A method of encryption and decryption in which each letter in the alphabet is replaced by another.

A person who is responsible for managing computers, networks, servers, and other computing resources for an organization or group.

The protocol by which a client and server machine establish communication for the transfer of data.

The dominant set of protocols for the transfer of data over the

Internet.

A cookie that is stored on a client computer by a domain other than the one that is currently requesting resources.

Regions of the Internet that typically describe the general purpose or geographic location of a domain.

Uniform Resource Locators are strings of characters that contain information about how to access a resource over the Internet.

A softbot responsible for following hyperlinks throughout the

Internet in order to provide information for the creation of a web index.

© 2014 Project Lead The Way, Inc.

Computer Science and Software Engineering Lesson 1.1 Algorithms and Agile Development Key Terms – Page 13

Web Index

WYSIWIG

A database storing information about web content.

Any editor that shows a representation of how the final product will look in real time as the user makes modifications.

Lesson 2.2 Shopping and Social on the Web

Key Terms

Term

Big-O Notation

Definition

A way of expressing the worst-case run-time of an algorithm, useful for comparing the speed of two algorithms.

A program downloaded as part of a web page executed by the browser on the user’s computer. Client-Side Scripting

DBMS

Derived Data Set e-commerce

First Normal Form

GET

HTML5

JavaScript

MySQL

Normalization

Database management system, a software suite designed to organize and search data.

Data selected or calculated from another data set using algorithms.

Buying and selling of goods online.

The most important three requirements of a database for optimization.

An HTTP method in which the client requests data such as a webpage. The client might provide some data as part of the request in the query string of the URL.

A new version of Hypertext Markup Language expected to be finalized in Fall 2014.

A client-side scripting language used to write programs that are embedded in web pages, often to make a web page more interactive.

The most common version of the Structured Query Language, a language for creating, maintaining, and querying a database.

Optimizing a database for maintenance, memory usage, and access speed.

Database management systems that handle non-relational data like documents, increasingly used for maintaining and querying the large amounts of data from the Internet. Queries can be made using "Not only Structured Query Language." NoSQL

PHP

"PHP: Hypertext Preprocessor," named recursively, is the most common server-side scripting language, allowing a web server to produce a web page "on the fly" based on data provided by the client.

An HTTP method that accepts data from the client, such as posting a comment on a website. This method is used any time the state of the server will be changed. POST

Primary Key

The column in a data table in which each row contains a unique identifier.

Relational Database Database with multiple tables of data in which the tables have

© 2014 Project Lead The Way, Inc.

Computer Science and Software Engineering Lesson 1.1 Algorithms and Agile Development Key Terms – Page 14

RFC

Scrum Poker

Second Normal

Form

Server-Side Script

Short Circuit

Third Normal Form

W3C Technical

Report

W3C Working

Group some column in common, allowing for cross-referencing of tables.

The misnomer stands for "Request for comments." RFCs are official, finalized documents about Internet standards and protocols from the Internet Engineering Task Force.

A planning tool used to estimate time and value of tasks and avoid anchoring.

Requires a database in First Normal Form and further optimizes it.

A program executed on a web server before packets are sent to the client.

When a logical expression's result is returned without evaluation of some part of the expression, increasing efficiency.

Requires a database in Second Normal Form and further optimizes it, generally regarded as fine-tuning.

A final document on a standard or protocol from the World Wide

Web Consortium.

An organization within the World Wide Web Consortium focused on one W3C Activity intended to develop or evolve a web technology.

Lesson 3.1 Visualizing Data Key Terms

Term

Anomaly

Bar Graph

Big Data

Definition

A data point or smaller pattern that does not follow the general pattern of a data set.

A visualization that compares a quantitative y-variable across different categories of an x-variable. Side-by-side and stacked bar graphs allow for additional comparisons of the y-values of categories-within-categories.

Data that are beyond the resources of one computer to store, especially intensive to analyze, or difficult to reconcile among complementary data sets.

A visualization showing how a set of quantitative values are distributed across the range of values. Shows less detail than a histogram, but provides more explicit information about quartiles and outliers. Box Plot

Categorical

Variable

Center of a

Distribution

Click-Through

Rate

Cones

Data Mining,

Has values that have no natural order.

Described by the mean, median, or mode, it is in some way the middle of the distribution.

The percentage of viewers that click on an ad.

Light-sensitive neurons in the retina responsible for color vision.

Knowledge Discovery in Data (KDD) uses computational power

© 2014 Project Lead The Way, Inc.

Computer Science and Software Engineering Lesson 1.1 Algorithms and Agile Development Key Terms – Page 15

KDD

Data Parallel

Data Skills

Deidentified Data

Derived Data

Device

Fingerprinting

Dictionary to find patterns in large data sets.

When multiple processors use the same instructions and apply them to subsets of the data.

Professional skill set that combines skills in transforming data, exploring data with visualization, using statistics, and communicating with graphic arts.

Data that has been scrubbed of name, address, and other information that makes it personally identifiable data.

Data calculated from other data. Raw data are measured or collected.

Use by an advertiser of details about a user's hardware and software (as reported through JavaScript) to identify the user when they return.

A data structure in which unordered keys each point to a value.

Distributed

Electronic

Frontier

Foundation

When storage or processing is handled by multiple independent machines in a coordinated fashion.

A non-profit that advocates for privacy on the Internet.

EULA

Exploratory Data

Analysis

Fault-Tolerant

Frame

Frequency

Generalization

Graphics

Processing Unit

(GPU)

Hard-Coding

End User License Agreement is the contract between a user and a company selling software for installation on the user's computer.

Visualizing data seeking patterns, contrasted with Statistical

Analysis in which mathematics is used to determine the likelihood a pattern exists by chance.

A system designed to work when components fail.

A rectangular portion of the screen in a web browser.

The number of times something has occurred.

Abstracting knowledge or a solution to apply to a wider range of questions or problems.

A set of processors on a video card in a computer performing data parallel calculations to render objects (windows, etc.) on screen.

Placing data or constant values directly in programming code.

A visualization showing how a set of quantitative values are distributed across the range of values. Histogram

Impression

Inferential

Statistics

A single viewing of an ad.

Calculates probabilities when trying to generalize observations from sample data to apply to the population that was sampled.

An operation on data works in-place if it is able to perform the operation without setting aside memory to store a new copy of the data. In-Place

Interquartile

Range

Mean

The 75%ile (percentile) measurement minus the 25%ile measurement.

Intervals,

Classes, or Bins The individual categories in a histogram.

The "average" obtained by dividing the sum of data by the number of data elements.

© 2014 Project Lead The Way, Inc.

Computer Science and Software Engineering Lesson 1.1 Algorithms and Agile Development Key Terms – Page 16

Privacy Policy

Privacy Settings

Quantitative

Variable

Range

Redundant

Reidentification

Relative

Frequency

Relative

Reference

Retina

Rods

Sample

Distribution

Scatter Plot

Sensitive

Information

Shape of

Distribution

Spread of a

Distribution

Median

Mode

Monte Carlo

Simulation

Neurons

Normal

Distribution

Occipital Lobe

Opt-In, Opt-Out

Clauses

Parallel

Processing

Pie Chart

Population

Distribution

The middle value in a set of measurements placed in order.

The most common value in a set of measurements.

Using random numbers to simulate phenomena that has variation.

Cells that send electrical signals as output based on electrical signal or sensation as input.

The classic "bell curve" that is commonly observed because of the

Central Limit Theorem: blending multiple effects from any distributions creates a normal distribution.

The portion of cortex at the back of the brain; processes vision.

Clauses that let a user customize an agreement or interface. "Opt in" clauses do not apply by default. "Opt out" clauses apply by default.

Using two or more CPUs simultaneously.

A data visualization in which a circle is broken into parts. The parts add up to 100% of some quantity.

The entire set of measurements that can be made or the theoretical infinite set of measurements that are being sampled.

Tells details about a company offering a service on the web, details about what data the company can collect from a user, whether the company can sell that data, and so on.

An interface where a user is given partial control of what data about themselves is collected and who can access it.

Has values that have a meaningful order.

Maximum value minus minimum value.

When two or more machines fulfill the same purpose (storage, processing, serving a protocol, etc.).

Reattaching personal identities to deidentified data, often because Big Data make anonymity unlikely.

How often something occurs as a percentage of the time.

Used in a formula in a spreadsheet cell, a relative reference is a direction from the formula's spreadsheet cell to the spreadsheet cell with the data.

Light sensitive tissue at the back of the eyeball.

Light-sensitive neurons in the retina responsible for black and white vision under low lighting conditions.

The set of values in a sample of measurements, as opposed to the population distribution.

A visualization in which each point plotted shows at least 2 variables: the x- and y-coordinates.

Data that is considered private, such as financial, educational, and health records.

Symmetric, positively-skewed (with a heavier right tail), or negatively-skewed (with a heavier left tail).

Described by Range, Interquartile Range, or Standard Deviation, the spread says how "wide" the distribution is.

© 2014 Project Lead The Way, Inc.

Computer Science and Software Engineering Lesson 1.1 Algorithms and Agile Development Key Terms – Page 17

Standard

Deviation

Targeted

Advertising

Task Parallel

Terms of Service

The Standard

Normal

Distribution

Threads

Transformation

Uniform

Distribution

View-Through

Rate

Visualization

The root-mean-square (RMS) deviation from the mean. Used to describe the width, especially of the normal distribution.

Advertising delivered to a computer user based on advertiser's knowledge about the user.

When multiple processors have different instructions, contributing to a job by each completing separate threads.

The legal contract between a user and a company offering a service on the Web.

A normal distribution with mean 0 and standard deviation 1.

Separate, independent tasks within a job.

Creating a new data set by applying a calculation or algorithm to another data set.

Like the probability of rolling a 1, 2, 3, 4, 5, or 6, the uniform distribution has the same probability for measuring each value.

The percentage of viewers that visit an advertiser's site, either by clicking on an ad at the time advertised, or by visiting the advertiser's site later.

A graphical representation of data.

Lesson 3.2 Discovering Knowledge from Data

Key Terms

Term

Abstraction in

Models

Comma

Separated Value

File (CSV)

Confidence

Interval

Disaggregating

Data

Edge or Link

Graph

Inferential

Statistics

Latitude

Definition

Abstraction is generalization with loss of detail. A model abstracts many details, often by reducing several factors into a single parameter. The use of a single number for the reflectivity of clouds in a climate model is an abstraction.

The most widely readable form of data. A file format in which each line contains multiple values separated by a comma. There are many CSV standards. Most of them allow string values which can contain commas inside a quote.

A range of values given as a prediction. The range is chosen so that statistically such predictions will be correct a certain percentage of the time, typically 95% of the time.

When disaggregating data, you separate the data based on one variable in order to compare values of another variable between groups.

Connection between two nodes in a graph.

A network of nodes connected by links.

Makes predictions about a population of measurements based on a sample of measurements.

Position on the Earth north-to-south, measured in degrees from

© 2014 Project Lead The Way, Inc.

Computer Science and Software Engineering Lesson 1.1 Algorithms and Agile Development Key Terms – Page 18

Longitude

Model

Monte Carlo

Simulation

Narrow AI

Node

Parameter p-value

Simulation

Strong AI

Training Set

-90 (south pole) to +90 (north pole).

Position on the Earth East/West measured in degrees from -180 to +180, with 0 passing through England.

Mathematical constants, relationships, and algorithms used to describe something real. A model includes some patterns of the real thing and abstracts away other details.

Using a random number generator to observe the range of results that occur in a simulation that has random variability.

Artificial intelligence in which a program is written to accomplish a specific task.

A point in a graph, the kind of graph that describes a network.

A value used in a model.

The p-value, or just p, is the probability that an apparent pattern

(such as the value of variable being associated with the value of another variable) has arisen by chance and not due to a pattern that actually exists. Typically p<0.05 is accepted as scientific evidence.

Use of a model to generate meaningful but fictional data.

Artificial intelligence with a generalized learning ability, on par with human intelligence.

A data set in which the input and the desired output are both provided to the computer.

A data set in which the input is provided to the computer and the desired output is known, so that it can be determined how well a machine learning an algorithm is working. Validation Set

Lesson 4.1 Moore's Law and Modeling

Key Terms

Term

Agent

Agent Based

Modeling

Calibration

CMOS

Crowd Sourcing

Deterministic

Definition

A single, self-sufficient entity in a larger software system.

A subfield of simulation and modeling that aims to provide answers to problems by combining many individual agents acting within a model and examining emergent behavior.

Using pre-existing data to aid in validation of a model.

Complementary metal-oxide-semiconductors are a basic unit used to construct integrated circuits.

A subfield of computer science that attempts to solve problems by using the ability of many humans to solve small subproblems and then using computers to combine those solutions into some meaningful results.

A simulation in which one state of the model is completely determined by the actions of the agents and the previous state of

© 2014 Project Lead The Way, Inc.

Computer Science and Software Engineering Lesson 1.1 Algorithms and Agile Development Key Terms – Page 19

Discrete

Component

Distributed

Computing

Emergent

Behavior

Equilibrium

Exponential

Function the model.

The most basic electronic units that can be incorporated into a circuit.

A subfield of computer science that attempts to solve problems by utilizing many different processors in concert, perhaps completely geographically isolated from one another.

Results produced by a group of agents working in combination that could not have been predicted by examining the behavior of only one agent in isolation.

In simulation, a state at which a model is stable.

A mathematical function where some constant base is raised to a variable power. These tend to grow very quickly after a certain point.

The number of floating point operations per second that a computational device can perform. A typical measure of the power of a device to perform calculations. Flops

Law of

Accelerating

Returns

Logic Gate

Logic Table

Pinout

Simulation and

Modeling

Stochastic

Transient

The idea that the rate of change itself tends to increase exponentially with regards to technology.

An electrical circuit that produces output as determined by the corresponding logic table.

A tool used to determine the output of a logic function given all of its potential input combinations.

Monte Carlo

Method

Running a stochastic simulation many times under all desired combinations of input parameters in order to obtain results that have good statistical reliability.

Moore's Law

The prediction of Gordon Moore that the number of transistors on integrated circuits doubles about every 18 months.

Parameterization The process of choosing values for the parameters in a model.

A diagram describing the function of each lead on an integrated circuit's casing.

A subfield of computer science concerned with describing natural phenomena using models composed of algorithms and equations and observing the behavior of these models in simulations.

A simulation that incorporates elements of randomness and unpredictability.

In simulation, a state in which a model may seem stable for an amount of time before major changes occur.

Transistor

TTL

Validation

Verification

VLSI

A discrete electronic component that has been historically important to the development of computers. They function primarily as switches.

Transistor-transistor logic is an alternative to CMOS used to construct circuits. They tend to be slower but easier to design with than CMOS.

Ensuring that a model has sufficiently accurate predictive powers within the given problem domain.

Checking to make sure that a model is correctly implemented with respect to its design.

Very-large-scale integration is a manufacturing technique by

© 2014 Project Lead The Way, Inc.

Computer Science and Software Engineering Lesson 1.1 Algorithms and Agile Development Key Terms – Page 20

which many thousands of transistors are combined into a single chip.

Lesson 4.2 Intelligent Agents Key Terms

Term

Deterministic

Emergent

Behaviors

Genetic

Algorithm

Infinite Detail

Neural Network

Perceptron

Self Similar

Stochastic

Definition

The next state of a computational model is completely determined by actions taken in this state.

Unpredictable phenomena that occur as the result of the interaction of simple individual behaviors.

A means for solving a wide variety of computational problems using evolutionary theory as a model.

In fractals, the idea that you can always continue to generate more depth within the model of a fractal.

A grouping of artificial neurons working communicating with one another to solve problems.

A single, simple, artificial neuron.

In fractals, the notion that one part of a fractal will be similar to another part at a different location, magnification, or orientation.

The next state of a computational model cannot be determined ahead of time due to some element of randomness.

© 2014 Project Lead The Way, Inc.

Computer Science and Software Engineering Lesson 1.1 Algorithms and Agile Development Key Terms – Page 21

Download