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