Introduction to Computer Science Post-Test
Parameter
The local variables created when a function or procedure is called. Parameters are initialized to the values of the arguments provided when the procedure or function was called.
Web
The World Wide Web, or just "the web," is a subset of the Internet. The web consists of pages that can be accessed using a web browser.
Crowdsourcing
Strategy that takes advantage of large numbers of people connected by computer networks to generate the creation of content, the evaluation of content, and the funding of ventures
Reverse engineering
Taking a finished product and figuring out how it works
Endpoint
URLs that form the commands available in an API
URL
Abbreviation for Uniform Resource Locator. URL is one type of Uniform Resource Identifier (URI); the generic term for all types of names and addresses that refer to objects on the web.
URL
Abbreviation for Uniform Resource Locator. URL is one type of Uniform Resource Identifier (URI); the generic term for all types of names and addresses that refer to objects on the web. A URL that uses the HTTP / HTTPS protocol is usually referred to as a web address.
Automation
Automation is using a system (often a computer) to do something with less human attention than the task would otherwise require. Examples: automated manufacturing of clothing, security image analysis, or automated vegetable planting.
Problem Decomposition
Breaking a problem apart into smaller pieces
Sequential Collaboration
Collaborators have one writer produce the first draft, another writer rewrites, and other writers edit that writing, making suggestions, changes, and comments
Parallel Collaboration
Collaborators split up the task so that each writer works on a separate part of the document. This is akin to a parallel computer, in which several processor cores each follow their own instructions so that the results can later be combined.
Reactive Collaboration
Collaborators work on one piece of writing together, discussing ideas as the sentences are agreed upon
In-line comment
Human language comments that are embedded in computer code
Docstring
Human language written to describe a function and placed in a special format so that it will be available within a help menu
HTML
Hypertext Markup Language—uses tags to mark elements in a web page
HTTP
Hypertext Transfer Protocol—specifies the norms of transactions between client requests and server responses on the web
Digital
Digital information has discrete values with gaps between the values. Digital information can be exactly represented using a binary representation. Digital information can be duplicated exactly, without loss in quality. Digital information can be transmitted error-free.
Input
Information provided to the computer from a person or from another computer, through input devices such as the keyboard, mouse, or touch screen
Output
Information sent by the computer to a person or to another computer, through output devices such as a display or printer, speaker, or motor
Abstract
Making more general and losing detail. Procedural abstraction refers to naming a procedure so as to lose the detail of the procedure's implementation. Model abstraction refers to selecting a model that ignores some details of a phenomenon.
Abstraction
Making something more general by losing some detail or making unnecessary to worry about the detail. For example, procedures make it unnecessary to worry about the details of how the procedure gets the job done.
Computational Resources
Limited resources that are used during computing: e.g. bandwidth, data storage, CPU cycles
Test user
Person who participates in a usability study
Developer
Person who writes computer code to create technology tools
Modular
Pieces that are well defined with no dependencies on other pieces
Code
Programming language written according to the specification of a particular programming language
Syntax
Rules about what words from a programming language are allowed to go together and how
Assignment Operator
Python meaning of the '=' character: Causes the compiler or interpreter to evaluate to the expression on its right and store the result in the variable on its left
RAM
Random Access Memory
Pseudocode
A mixture of programming code and human language
Modeling and simulation
A model is a simplified description of some object or phenomenon. A simulation is a computer-executed version, often predicting how an initial state will evolve over time.
Prototype
A basic working model of a product or information system, usually built for demonstration purposes or as part of the development process. A prototype may not have all of the functionality that is intended to be in the final product.
Function
A block of code given a name that is able to be called by referencing the function name
Browser
A client program that requests a URL from a web server program
Tag
A construct of HTML that is used to mark elements of a page with values and attributes.
Default
A default value is a value that a variable will have if no action is taken by the user
Test-driven development (TDD)
A development methodology in which tests for a function are written before the function is written
Subdomain
A domain name under the control of a higher-level domain name. For example, pltw.org is a subdomain of .org.
Module
A file of Python code
Domain Name System
A group of computers that keep track of the IP address for every domain name on the Internet. Top level domains control IP addressing to subdomains which control further addressing to subdomains.
Block of code
A group of program statements that are grouped together by indentation in Python
Tree
A hierarchy of data in which data are organized into nodes, each of which have exactly one parent node. The exception is the root node, which has no parents.
Simulation
A simulation is the execution of a model intending to mimic the behavior of the phenomenon being modeled
Statement
A single line of programming code to be executed
Percentile
A value above a given percent of a data set's points
Value
A value is a particular piece of data such as a number or a string
Aggregator
A variable and pattern designed to keep a list of items collected through multiple iterations
Accumulator
A variable and pattern designed to keep a running total through multiple iterations
Global variable
A variable that can be used anywhere in a program, unlike a local variable, which can only be used in one portion of a program. In App Inventor, procedures, event handlers, and for loops can create a local variable that can only be used inside that procedure, event handler, or for loop.
Local variable
A variable that can only be accessed from a specific portion of a program
Global variable
A variable that is accessible from all procedures and blocks of code within the program in which it is defined.
Local variable
A variable that is only accessible from within the local procedure or block of code within which it is defined.
Property
A variable that stores information about an object
Client
A program that accesses data from a server. Multiple clients can access a single server.
API
Application Programming Interface is offered by a server for communication with a client app. A client computer program can send instructions to the server and get data from the server by sending requests to various URL endpoints that form the API.
Arguments
Arguments are values that must be passed to a procedure when it is called.
Revision history
Also known as version control, a system for revision history keeps track of who made what changes, when, and allows collaborators to accept or reject other changes and revert to older versions
Quartile
25% of a data set. Q1, the first quartile, is the number above 25% of a set of data. Q3, the third quartile, is the number above 75% of a data set.
Boolean expression
A Boolean expression is either True or False. Boolean operators include "and," "or," and "not."
Expression
A line of programming code that evaluates to a particular value
Sprint task list
A list of small steps to accomplish, breaking down a user story from the backlog
Counted loop
A loop executed for a pre-determined length of time
Variable
A name given to point to data in memory
Development environment
A package for programming, usually including an editor with syntax highlighting and other features and an interactive command line
Event handler
A part of a program that runs when an event occurs
Black hat hacker
A person who attempts to find computer security vulnerabilities and exploit them for malicious reasons. The term is derived from old Western movies in which the bad guys wore black hats.
Variable
A place in memory to store a value
Built-in assumption
A portion of a model that is embedded in the code of a model
Backlog
A prioritized list of features or user stories to add to a program
Decomposition
A problem solving strategy of breaking a problem apart into smaller subproblems
Algorithm
A procedure to follow, especially using iteration and conditionals
Function
A sequence of instructions that returns a value and can be called from other parts of a program
String
A sequence of characters
Procedure
A sequence of instructions. The entire sequence is given a name to refer to the procedure from other parts of the program. Similar to a function in programming, but doesn't have to return a value.
ASCII
A standard encoding for storing text with one byte per character
Protocol
A standard of normal interaction in a system
Professional Greeting
A standardized procedure that professionals use when they meet or begin work together
Monte Carlo
A strategy for handling randomness in which a simulation is executed many times
Box and whisker plot
A visualization of numeric values of one variable, showing the largest and smallest quarters of the data set with whisker lines and the middle half of the data with a box divided at the median
Character
Any single typeset unit, including uppercase and lowercase letters, digits, punctuation marks, international characters like letters with accent marks and special characters like tabs and carriage returns
Return Value
Any value that a method or function gives back to the statement command from which the function or method is called
Adaptive technology
Adaptive technology helps increases or maintains the capabilities of a person with a disability
Event
An action that can trigger an event handler to be executed, such as user input from the mouse or keyboard, or a timer's alarm
Model
An algorithmic or mathematical representation of a phenomenon that omits some details and parameterizes others
Test bed
An environment designed for testing specific functions.
Traceback
An error message indicating the last functions that were called
Index/indices
An index (plural indices) is the location within a list, string, or other iterable data, starting from 0 or 1 depending on the language
Analog
Analog information has continuous values instead of jumping from one value to another value without passing through the values in between. Most physical information such as position, wind speed, light intensity, or sound pressure, is analog.
Bound
Assigned to a memory location storing particular data
Binary
Binary information is written using only two values: zero and one. Everything can be approximately represented using a binary representation.
Bandwidth
Bits per second into or out of a facility
Creative expression
Computing helps people create sound, movies, 2D media such as screen images or paper art, 3D media including computer-controlled subtractive art (milling) or additive art (3D printing), user interface design, user experience design.
CSS
Cascading Style Sheets—a formatting standard that specifies the layout and appearance of a web page. CSS is usually written in a separate file so that it can be applied to many pages on a single website.
Crowdsourcing
Crowdsourcing includes several related strategies that all take advantage of the fact that computer networks connect large numbers of people who can generate product that none of the contributors alone could offer. These strategies include crowdsourcing the creation of content, the evaluation of content, and the funding of ventures.
Response
Data sent from a server to a client as a result of a client request
Data Collection and Analysis
Data can be generated by sensors like thermometers, cameras, microphones, and keyboards and collected in storage. Data analysis uses creative ways to see patterns in data and using mathematics to describe those patterns.
Data Storage
Data can be stored in ways that require electricity to keep the data (e.g. RAM for active programs and their data) or in ways that are stable even when electricity is turned off (e.g. flash drives are nonvolatile storage)
Request
Data sent from a client to a server, also called a query
Reverse engineering
Deducing how software works based on how it behaves
IP Address
Internet Protocol addresses are numbers assigned to each computer that communicates over the TCP/IP communication protocol.
Economic impact
Economic impacts of computing include changes in the numbers types, and wages of jobs, and changes in the amount, type, and cost of services, goods, and materials produced.
Element
HTML tags use tags to mark elements in a web page. Elements are parts of a web page such as the header, body, hyperlinks, and images.
Attribute
HTML tags use tags to mark elements in a web page. The value of an attribute in an element's tag describes the element.
Computational Thinking
Habits that help people solve problems with computers. Computational thinking habits cause a person who is facing a problem to ask how computers could help them be more creative, to communicate, to collaborate, to use data or the Internet, or to use crowdsourcing or simulation, to solve a problem.
Increment
Increase by a specific amount; usually means to increase by a small amount; often means to increase by one
Assertion symbol
Mathematical meaning of the '=' character: Asserts equality of whatever is on each side of the symbol
Brute force attack
Method of guessing a password for a server by trying every possible combination
Usability study
Observation of users interacting with a program to determine the program's strengths and weaknesses for the purposes of improving the ease of use and usefulness of the program
CPU Cycles
One simple instruction (e.g. add or multiply) is processed by a central processing unit (CPU) core in a computer with each tick or cycle of the clock
Proprietary
Owned under a license that does not automatically permit sharing
Components
Parts of an interface
Groom the backlog
Prioritize a list of items that are on a task list so that the items intended to be accomplished next are in the top slots on the list
Abstraction
Procedural abstraction gives a name to a procedure. People can then use the procedure without worrying about the finer grain details.
Read/write
Reading data is accessing the data to get their value; writing data changes the value. These operations have different speeds. Permissions to read data are often kept separate from permissions to write data.
HTTPS
Secure Hypertext Transfer Protocol—HTTP with encryption on the transactions between client requests and server responses. The encryption makes it likely that the server is controlled by the domain name in the browser location bar.
Social impact
Social impacts of computing include changes in how people communicate with each other and in how groups of people form and function, including circles of friends and structures of government
Boundary cases
Special cases at the edge of what is permissible
Team Norms
Team norms are agreements among all team members. Team norms typically spell out that all team members will provide input and provide protocols for communication, work together, and conflict resolution.
Data visualization
The art of creating graphs to display data—helps humans discover patterns in data
Index out of bounds
The error given when a program tries to access a sequence by asking for an item number bigger than the length of the sequence.
Processor
The component of a computer that follows instructions
Digital Divide
The contrast between two groups' access to computing resources and the Internet on the basis of race, wealth, or national boundaries
Distribution
The manner in which the values in a data set are spread across the possible values, especially in regard to how frequently each value occurs
Median
The middle number of a data set that has been sorted
Internet
The network of computer networks which communicate through common protocols for accessing information contained inside the computers. The Internet contains the World Wide Web.
Frequency
The number of times a value or range of values occurs in a data set
Top-level domain
The portion of a domain name that follows the last period. Examples include .com or .org
Scope
The portion of a program that knows about a variable. In App Inventor, variables are either global (known by the blocks in a screen) or local (known by the blocks in a procedure or for loop.)
Rendering
The process of drawing the text, pictures, and user interface elements on the screen based on the HTML, CSS, and JavaScript of a web page
Returned value
The value passed from a function back to the line of code calling the function
Arguments
The values that a program provides to a function.
Arguments
The values that the programmer provides in the function call
Interface
The way a human interacts with a computer through the input and output
Encode
To convert information into a particular format.
Evaluate
To determine the result of an expression
Concatenate
To tack together two strings of characters, making one longer string
Import
Use code from another file, often written by other people
Value
Values are concrete words or numbers. Variables in computer programs and to tag attributes in HTML can hold values.
Constant value
Values are concrete words or numbers. When a variable in a computer program is used to represent a constant value it is set at the beginning of the program and does not change. The program can refer to the constant value by the variable name rather than the value itself.
Arguments
Values or variables passed to a function
Parameters
Variables that can be used inside a procedure. The variables are initialized with arguments' values when the procedure is called.
Voltage
Voltage is the energy difference per electron between two locations. The energy can be converted to kinetic energy when electrons fall from low voltage to high voltage.
Conventions
Ways of doing things, especially those that are agreed upon but not technically required
Pass
We describe arguments as being "passed" to a procedure; the arguments' values are assigned to the procedure's parameters
Call
When a procedure or function is called, the program executes the procedure or function next
Pass
When a function is called, the values that are passed to the function are assigned to the function's local variables named in the function definition
Task Parallel
When many people or computers work on different parts of a bigger task
Data Parallel
When many people or computers work on the same sort of actions using separate data
Authentication
When two parties exchange information so that they trust that each other is who they say they are
Random
Without any pattern; the opposite of deterministic
Collaboration
Working together by sharing information, resources, or responsibilities; creating knowledge, services, or goods as a group