Technology in Action Chapter 10

JAD (Joint Application Development)
is a methodology that involves the client or end user in the design and development of an application, through a succession of collaborative workshops called JAD sessions.

Scope Creep
an ever-changing set of requests from clients for additional features as they wait longer to see a working prototype

Data-flow diagrams
trace all data in an information system from the point at which data enters the system to its final resting place (storage or output)

System
is a collection of pieces working together to achieve a common goal

Information system
includes data, people, procedures, hardware, and software that help in planning and decision making

System Development Life Cycle (SDLC) six steps
1) Problem/Opportunity Identification
2) Analysis
3) Design
4) Development
5) Testing & Installation
6) Maintenance & Evaluation

Program specification
is a clear statement of the goals and objectives of the project

Flow Charts
are visual diagrams of a process including the decisions that need to be made along the way

Active Server Pages (ASP)
Programming language used to build websites with interactive capabilities; adapts an HTML page to the user’s selections.

AJAX (Asynchronous JavaScript and XML)
A collection of technologies that allow the creation of web applications that can update information on a page without requiring the user to refresh or leave the page.

algorithm
A set of specific, sequential steps that describe exactly what the computer program must do to complete the required work.

architecture neutral
A feature of Java whereby code needs to be compiled only once, after which the code can be run on many different CPUs.

assembly language
See second-generation language (2GL).

base class
In object-oriented analysis, the original class.

beta version
A version of the software that’s still under development. Many beta versions are available for a limited trial period and are used to help the developers correct any errors before they launch the software on the market.

binary decision
A type of decision point in an algorithm that can be answered in one of only two ways: yes (true) or no (false).

C
A programming language originally developed for system programmers.

C#
A Microsoft programming language developed to compete with Java.

C++
A programming language; takes C to an object-oriented level.

class
A category of input identified in object-oriented analysis; classes are defined by information and actions.

code editing
The step of programming in which a programmer types the code to be executed.

coding
Translating an algorithm into a programming language.

comment
A note left by a programmer in the program code to explain the purpose of a section of code, to indicate the date the program was written, or to include other important information about the code so that other programmers can more easily understand and update it.

compilation
The process by which code is converted into machine language—the language the central processing unit can understand.

compiler
A program that understands both the syntax of the programming language and the exact structure of the central processing unit and its machine language.

control structure
General term used for a keyword in a programming language that allows the programmer to direct the flow of the program based on a decision.

data
Numbers, words, pictures, or sounds that represent facts, figures, or ideas; the raw input that users have at the start of a job.

data type (field type)
(1) Describes the kind of data being stored at the memory location; each programming language has its own data types (although there is some degree of overlap). (2) In a database, indicates what type of data can be stored in a field and prevents the wrong type of data from being entered into the field.

data-flow diagrams
Diagrams that trace all data in an information system from the point at which data enters the system to its final resting place (storage or output).

debugger
A tool in an integrated development environment that helps programmers analyze a program as it runs.

debugging
The process of running a program over and over to find and repair errors and to make sure the program behaves in the way it should.

decision point
A place where a program must choose from a list of actions based on the value of a certain input.

derived class
In object-oriented analysis, the modified class.

documentation
Description of the technical details of the software, how the code works, and how the user interacts with the program; in addition, all the necessary user documentation that will be distributed to the program’s users.

dynamic decision making
The ability of a web page to decide how to display itself based on the choices the reader makes.

editor
A special tool in an integrated development environment (IDE) that helps programmers as they enter code.

error handling
The part of a problem statement where programmers describe what the program should do if the input data is invalid or just gibberish.

executable program
The binary sequence that instructs the central processing unit to run the programmer’s code.

eXtensible Markup Language (XML)
A markup language that enables designers to define their own data-based tags, making it much easier for a website to transfer the key information on its page to another site; it defines what data is being described rather than how it’s to be displayed.

fifth-generation language (5GL)
A computer language in which a problem is presented as a series of facts or constraints instead of as a specific algorithm; the system of facts can then be queried; considered the most “natural” of languages.

first-generation language (1GL)
The machine language of a central processing unit (CPU); the sequence of bits that the CPU understands.

flowchart
Visual diagram of a process, including the decisions that need to be made along the way.

For
In Visual Basic, programmers use the keyword For to implement a loop; after the keyword For, an input or output item is given a starting value, and then the statements in the body of the loop are executed.

fourth-generation language (4GL)
A computer language type that includes database query languages and report generators.

general availability (GA)
The point in the release cycle, where, after release to manufacturers, software is available for purchase by the public.

Hypertext Markup Language (HTML)
A series of tags that define how elements on a website should be displayed in a browser.

if else
In C++, a binary decision in the code where the program can follow one of two paths: If the decision is made one way, the program follows one path; if made the other way (else), the program follows another path.

information
Data that has been organized or presented in a meaningful fashion; the result, or output that users require at the end of a job.

information system
A system that includes data, people, procedures, hardware, and software that help in planning and decision making; a software-based solution used to gather and analyze information.

inheritance
In object-oriented analysis, the ability of a new class to automatically pick up all the data and methods of an existing class and then extend and customize those to fit its specific needs.

initial value
A beginning point.

integrated development environment (IDE)
A developmental tool that helps programmers write and test their programs; one IDE can be configured to support many different languages.

interpreter
For a programming language, translates the source code into an intermediate form, line by line; each line is then executed as it’s translated.

Java
An object-oriented programming language that has a large set of existing classes.

Java applet
A small Java-based program.

JavaScript
A scripting language that’s often used to add interactivity to web pages; often used for creating Dynamic HTML effects.

JavaServer Pages (JSP)
Programming language used to build websites with interactive capabilities; adapts the HTML page to the user’s selections.

JSON
Stands for Javascript Object Notation; a syntax for exchanging information between computers.

keyword
(1) A specific word a user wishes to query (or look for) in an Internet search. (2) A specific word that has a predefined meaning in a particular programming language.

logical error
An error in a program that produces unintended or undesired output, where the syntax is correct but some other human error has occurred.

loop
A type of decision point in an algorithm. In a loop, a question is asked, and if the answer is yes, a set of actions is performed. Once the set of actions has finished, the question is asked again, creating a loop. If the answer to the question is no, the algorithm breaks free of the loop and moves on to the first step that follows the loop.

machine language
See first-generation language (1GL).

method
The process of how a program converts inputs into the correct outputs.

Next
In Visual Basic, programmers use the keyword Next to implement a loop; when the Next command is run, the program returns to the For statement and increments the value of the input or output item by 1 and then runs a test cycle.

object
An example of a class in object-oriented analysis.

Objective C
The programming language most often used to program applications to run under OS X.

object-oriented analysis
A type of analysis in which programmers first identify all the categories of inputs that are part of the problem the program is meant to solve.

operator
A coding symbol that represents a fundamental action of the programming language.

PHP (Hypertext Preprocessor)
Programming language used to build websites with interactive capabilities; adapts the HTML page to the user’s selections.

portability
The capability to move a completed solution easily from one type of computer to another.

problem statement
The starting point of programming work; a clear description of what tasks the computer program must accomplish and how the program will execute those tasks and respond to unusual situations.

processing
Manipulating or organizing data into information.

program development life cycle (PDLC)
The process of performing a programming project, which consists of five stages: describing the problem, making a plan, coding, debugging, and testing and documentation.

program specification
A clear statement of the goals and objectives of the project.

programming language
A kind of “code” for the set of instructions the central processing unit knows how to perform.

programming
The process of translating a task into a series of commands a computer will use to perform that task.

prototype
A small model of a program built at the beginning of a large project.

pseudocode
A text-based approach to documenting an algorithm.

rapid application development (RAD)
An alternative program-development method; instead of developing detailed system documents before they produce the system, developers first create a prototype, then generate system documents as they use and remodel the product.

release to manufacturers (RTM)
The point in the release cycle, where, after beta testing, a manufacturer makes changes to the software and releases it to other manufacturers, for installation on new machines, for example.

reusability
In object-oriented analysis, the ability to reuse existing classes from one project for another project.

runtime error
An error in a program that occurs when a programmer accidentally writes code that divides by zero, a mathematical error.

scope creep
An ever-changing set of requests from clients for additional features as they wait longer and longer to see a working prototype.

scripting language
A simple programming language that’s limited to performing a set of specialized tasks.

second-generation language (2GL)
A computer language that allows programmers to write programs using a set of short, English-like commands that speak directly to the central processing unit and that give the programmer direct control of hardware resources; also called assembly language.

service pack
A software update.

source code
The instructions programmers write in a higher-level language.

statement
A sentence in a code.

Structured Query Language (SQL)
A database programming language used to construct queries to extract data from relational databases; one example of a fourth-generation language.

Swift
A new programming language introduced by Apple for developing for iOS and OS X.

syntax
An agreed-on set of rules defining how a language must be structured.

syntax error
A violation of the strict set of rules that define the programming language.

system development life cycle(SDLC)
A process used to develop information systems; it consists of the following six steps: problem and opportunity identification, analysis, design, development, testing and installation, and maintenance and evaluation.

test condition
A check to see whether the loop in an algorithm is completed.

testing plan
The part of the problem statement that lists specific input numbers the programmers would typically expect the user to enter; the plan then lists the precise output values that a perfect program would return for those input values.

third-generation language (3GL)
A computer language that uses symbols and commands to help programmers tell the computer what to do, making 3GL languages easier for humans to read and remember; examples of 3GL languages include BASIC, FORTRAN, COBOL, C/C++, and JAVA.

top-down design
A systematic approach in which a problem is broken into a series of high-level tasks.

variable declaration
Tells the operating system that the program needs to allocate storage space in RAM.

variable
Each input and output item the program manipulates.

VBScript
A subset of Visual Basic, used to introduce dynamic decision making into web pages.

Visual Basic (VB)
A programming language used to build a wide range of Windows applications.

visual programming language
Programming language that uses graphical blocks to represent control elements and variables.

web services
Part of the Microsoft .NET Framework, programs that a website uses to make information available to other websites.

Which step in the program development cycle involves designing a set of steps to solve a problem?
An algorithm

Which step in the program development cycle maps out the logic and processes?
A flowchart

Which step in the program development cycle is the process of detecting errors in a program?
Debugging

What is the expression of the steps of an algorithm using English-like statements that focus on logic, not syntax?
Pseudocode

What’s the first step in programming?
The first step in programming is to define the problem statement.

Once I’ve defined my problem statement, can I start coding?
Actually, after defining the problem statement, the next step in a programming project is for programmers to translate the programs into an algorithm.

What are decision points?
Decision points are points at which the program must choose from different actions, based on the value of its current inputs.

What happens after programmers create an algorithm?
After programmers create an algorithm, they select a programming language and translate the algorithm into that language.

After programmers finish coding, what do they do next?
Once the algorithm has been coded into a programming language, the programmers have to run it through a compiler.

What is an IDE?
An integrated development environment (IDE) is a development tool that helps programmers write, compile, and test their programs.

Once compilation is done, is the program finished?
No, programmers still need to test the code to see whether the program behaves as it should.

Once debugging is done, can the created software program be released?
Actually, after debugging, the last step is to test and document the program.

algorithm
A set of specific, sequential steps that describe in natural language exactly what the computer program must do to complete its task.

assembly language
Also known as an assembly language. Assembly languages allow programmers to write their programs using a set of short, English-like commands that speak directly to the CPU and give the programmer direct control of hardware resources.

base class
The original class is called the base class, and the new, modified class is called the derived class,

behaviors
In object-oriented analysis, classes are further defined by information (data) and actions (methods or behaviors) associated with the class.

beta version
Before its final commercial release, software is often provided free or at a reduced cost in a beta version to certain test sites or to interested users. By providing users with a beta version of software, programmers can collect information about the remaining errors in the code and make a final round of revisions before officially releasing the program.

binary decisions
One decision point that appears often in algorithms is like a “fork in the road” or a branch because it can be answered in one of only two ways: yes (true) or no (false).

classes
In object-oriented analysis, the categories of inputs that are part of the problem the program is trying to solve are called classes.

code editing
The step in which a programmer physically types the code into the computer.

coding
Translating an algorithm into a programming language is the act of coding.

comment
Programmers often insert a comment (or remark) into program code to explain the purpose of a section of code, to indicate the date they wrote the program, or to include other important information about the code so that fellow programmers can more easily understand and update it should the original programmer no longer be available.

compilation
The process by which code is converted into machine language—the language the CPU can understand

compiler
A program that understands both the syntax of the programming language and the exact structure of the CPU and its machine language.

control structures
The general term used for keywords in a programming language that allow the programmer to control (redirect) the flow of the program based on a decision.

data
In object-oriented analysis, classes are further defined by information (data) and actions (methods or behaviors) associated with the class.

data types
Describe the kind of data that is being stored at the memory location.

data-flow diagrams
Trace all data in an information system from the point at which data enters the system to its final resting place (storage or output).

debugger
Most IDEs include a tool called a debugger that helps programmers dissect a program as it runs. The debugger pauses the program while it is executing and allows the programmer to examine the values of all the variables.

decision points
Places where the program must choose from an array of different actions based on the value of its current inputs.

derived class
The original class is called the base class, and the new, modified class is called the derived class,

documentation
Once testing is completed, but before the product is officially released, the work of documentation is still ahead. At this point, technical writers create internal documentation for the program that describes the development and technical details, how the code works, and how the user interacts with the program

editor
A special tool that helps programmers as they enter the code, highlighting keywords and alerting them to typos.

error handling
The part of the problem statement where programmers must describe what the program should do if the input data is invalid or just gibberish.

executable program
The binary sequence that instructs the CPU to run their code.

fifth-generation language (5GL)
Fifth-generation languages are considered the most “natural” of languages. In a 5GL, a problem is presented as a series of facts or constraints instead of as a specific algorithm. The system of facts can then be queried (asked) questions.

first-generation language (1GL)
The actual machine language of a CPU; the sequence of bits (1s and 0s) that the CPU understands.

flowcharts
A visual representation of the patterns the algorithm comprises.

for
In the programming language Visual Basic, programmers use the keywords For and Next to implement a loop. After the keyword For, an input or output item is given a starting value. Then the statements, or “sentences,” in the body of the loop are executed. When the command Next is run, the program returns to the For statement and increments the value of the input or output item by 1.

fourth-generation language (4GL) Structured Query Language (SQL)
is a database programming language that is an example of a fourth-generation language (4GL). Many other database query languages and report generators are also 4GLs.

GA (general availability)
After the RTM is issued, the product is in GA (or general availability) and can be purchased by the public.

if else
In the programming language C++, the binary decision asking, for example, whether you worked enough hours to qualify for overtime pay would use the keywords if else. At this point in the code, the program can follow one of two paths: If you indicated through your input that you worked fewer than or equal to eight hours, it takes one path; if not (else), it follows another.

information system
Includes data, people, procedures, hardware, and software.

inheritance
Means that a new class can automatically pick up all of the data and methods of an existing class, and then extend and customize those to fit its own specific needs.

initial value
There are three important features to look for in a loop; this is the first – a beginning point.

integrated development environment (IDE)
A developmental tool that helps programmers write, compile, and test their programs.

interpreter
Translates the source code into an intermediate form, line by line.

keywords
A set of words that have predefined meanings for a particular language.

logical errors
The compiler only can make sure that the specific rules of the language are followed, that all of the keywords are spelled correctly, and that the operators being used are meaningful to that language. These logical errors in the problem are caught only when the program executes.

loop
A second decision point that often appears in algorithms is a repeating loop. In a loop, a question is asked, and if the answer is yes, a set of actions is performed.

machine language
The actual machine language of a CPU, the sequence of bits (1s and 0s) that the CPU understands.

methods
In object-oriented analysis, classes are further defined by information (data) and actions (methods or behaviors) associated with the class.

next
In the programming language Visual Basic, programmers use the keywords For and Next to implement a loop. After the keyword For, an input or output item is given a starting value. Then the statements, or “sentences,” in the body of the loop are executed. When the command Next is run, the program returns to the For statement and increments the value of the input or output item by 1.

object
Programmers may need to create several different examples of a class. Each of these examples is an object.

object-oriented analysis
Programmers first identify all of the categories of inputs that are part of the problem the program is trying to solve.

operators
The coding symbols that represent the fundamental actions of the language.

problem statement
The starting point of programming work.

program development life cycle (PDLC)
The process each programming project follows through several stages from conception to final deployment.

programming
Process of translating a task into a series of commands a computer will use to perform that task.

programming language
Programming languages are (somewhat!) readable by humans but then are translated into patterns of 1s and 0s to be understood by the CPU.

pseudocode
A text-based approach to documenting an algorithm.

remark
Programmers often insert a comment (or remark) into program code to explain the purpose of a section of code, to indicate the date they wrote the program, or to include other important information about the code so that fellow programmers can more easily understand and update it should the original programmer no longer be available.

reusability
Object-oriented analysis forces programmers to think in general terms about their problem, which tends to lead to more general and reusable solutions. An important aspect of object-oriented design is that it leads to reusability.

RTM (release to manufacturer)
The manufacturer will make changes before releasing the product to other manufacturers, for installation on new machines for example. That point in the release cycle is called RTM (or release to manufacturers).

runtime error
Another kind of error caught when the program executes is a runtime error. That kind of forbidden operation generates a runtime error message.

second-generation language (2GL)
Also known as an assembly language. Assembly languages allow programmers to write their programs using a set of short, English-like commands that speak directly to the CPU and give the programmer direct control of hardware resources.

service packs
Users often uncover problems in a program even after its commercial release to the public. These problems are addressed with the publication of software updates or service packs. Users can download these software modules to repair errors identified in the program code.

set of actions
There are three important features to look for in a loop: the second is a set of actions that will be performed.

software updates
Users often uncover problems in a program even after its commercial release to the public. These problems are addressed with the publication of software updates or service packs. Users can download these software modules to repair errors identified in the program code.

source code
Comprises the instructions programmers have written in the higher-level language, and translate the source code directly into machine language—the binary patterns that will execute commands on the CPU.

statements
All programming languages have a formal syntax that programmers must follow when creating code statements, which are sentences in a code.

Structured Query Language (SQL) Structured Query Language (SQL)
is a database programming language that is an example of a fourth-generation language (4GL). Many other database query languages and report generators are also 4GLs.

syntax
An agreed-upon set of rules defining how a language must be structured.

syntax error
Violation of the strict, precise set of rules that define the language.

system development life cycle (SDLC)
An organized process (set of steps) to ensure that development proceeds in an orderly fashion.

test condition
There are three important features to look for in a loop; this is the third — a check to see whether the loop is completed.

testing plan
The part of a problem statement that lists specific input numbers the program would typically expect the user to enter.

third-generation language (3GL)
Uses symbols and commands to help programmers tell the computer what to do. This makes 3GL languages easier for humans to read and remember.

top-down design
A systematic approach in which a problem is broken into a series of high-level tasks.

variable
Each input and each output item that the program manipulates, also known as a variable, needs to be announced early in the program so that memory space can be set aside.

variable declaration
Tells the operating system that the program needs to allocate storage space in RAM.

Before the decide which programming language to use or start writing code, programmers first develop a complete description of the task the program needs to accomplish, called the ____
problem statement

Which is NOT one of the three features in a loop?
Binary decision

In ____ generation languages, problems are presented as a series of facts or constraints instead of as a specific algorithm
Fifth

A(n) ____ is a set of specific, sequential steps that describe in natural language exactly what the computer must do to complete its task.
algorithm

______ is a text-based approach to documenting an algorithm.
Pseudocode

A ____ is a visual representation of a process, including the decisions that need to be made along the way.
flowchart

The S in SQL stands for ____ Query Language.
Structured

The final step in the PDLC is ______
testing and documentation

A(n) _____ is a set of specific, sequential steps that describe in natural language exactly what a computer program must do to complete its task
algorithm

The process of finding and correcting errors is called ____
debugging

PDLC stands for ______
Program development life cycle

A(n) ______ decision point is answered in one of two ways: yes (true) or no (false)
Binary

The Binary sequence that instructs the CPU to run the code is called a(n) _____
executable program

A(n) ______ is a development tool that helps programmers write, compile, and test their programs.
IDE

_______ are points at which a program must choose from a range of different actions based on the value of its current inputs.
decision points

VBA stands for __________.
Visual Basic for Applications

Before you can work with macros in Word or Excel, the __________ tab must be available.
Developer

The easiest way to automate a task in Word is to __________.
perform the task while recording a macro

How can you tell that a macro is no longer recording?
By the red light in the status bar.

A macro name can contain any of the following characters EXCEPT __________.
spaces

Which of the following statements about macros is FALSE?
They can perform a maximum of five steps.

After creating a macro, you can use it by selecting the macro name and then clicking __________.
the Run button in the Macros dialog box

In VBA, a macro is called a __________.
procedure

A macro is __________.
a small computer program

Which of the following statements about macros is FALSE?
Macros can only be used one time.

The Processing language was developed to make programming more accessible to ______.
creative and artistic people

Processing is available to download from the processing.org website for _______.
a donation

The Processing IDE provides the ability to do all of the following EXCEPT ________.
publish

What does IDE stand for?
Integrated Development Environment

On what is Processing based?
java

With very few commands in Processing, you can create intricate pieces of art that may include all of the following EXCEPT:
holograms

Processing is an open source platform developed by ________ to make programming available to artists.
MIT

What do you call the output of a Processing Language Project?
Sketch

An interaction in Processing is the result of an action between the computer and the ______.
program

In the Sound Byte, we examined a program called Tickle where the programmer used the draw() routine to ______.
find the mouse position and move the text “tickle” by a random amount

Makers are people who want to build ______.
their own solutions to problems

__________ is a microcontroller popular in the Maker Movement.
Arduino

A microcontroller is a type of CPU that has ______ functionality.
limited

You can combine Arduino with _______ and motors so that when the microcontroller receives input, it makes something happen with the motors.
sensors

The add-on boards which connect to you Arduino and give it additional functionality such as a touch screen are ______.
shields

Arduino was developed by ___________.
Massimo Banzi

Which of the following statements is TRUE?
Arduino boards are inexpensive.

To program your Arduino, you’ll use an Arduino IDE and upload the code to your Arduino via ________.
USB

The _____ is a great Arduino for first-time Makers.
Uno

Arduino programs generally run in a(n) ________, looking for input pins and making decisions to send through the output pins based on the input received..
loop