A software development methodology that allows specifications to emerge as the project progresses through iterations called sprints.
Back
Low-Level Language
Front
A programming language that requires a programmer to write instructions for specific hardware elements such as the computer processor, registers, and RAM locations.
Back
known information
Front
In a problem statement, information supplied to the computer to help it solve a problem.
Back
VDE (visual development environment)
Front
Programming tools that allow programmers to build substantial parts of computer programs by pointing and clicking, rather than entering code.
Back
syntax
Front
In the context of programming languages, refers to the grammar rules that create valid program statements.
Back
runtime error
Front
An error that occurs when a computer program is run.
Back
syntax error
Front
An error that results when an instruction does not follow the syntax rules, or grammar, of the programming language.
Back
control
Front
In the context of graphical user interfaces and programming, a screen-based object whose behavior can be specified by a programmer.
Back
Which of the following statements would be considered an assumption for the pizza program?
Front
Compare two pizzas.
Which pizza is the best deal?
~Pizzas can be round or square.
All of the above
Back
High-Level Language
Front
A programming language that allows a programmer to write instructions using human-like language.
Back
Second-Generation Languages
Front
Assembly languages that followed machine languages.
Back
Compiler
Front
Software that translates a program written in a high-level language into low-level instructions before the program is executed.
Back
Assembly Language
Front
A low-level computer programming language that uses simple commands and is translated into machine language by an assembler.
Back
First-Generation Languages
Front
Machine languages that were available for programming the earliest computers.
Back
Abstraction
Front
A concept that simplifies by masking details from a user or designer. In the context of computer programming, higher-level languages have greater levels of abstraction that shield programmers from having to deal with hardware details.
Back
What kind of element is pizzaPrice in the following statement?
pizzaPrice = 10.00
Front
Command
Keyword
Assumption
~Variable
Back
Which of the following projects was most likely to have used formal methods?
Front
Angry Birds
Facebook
~Bank of America's online banking Web site
Snapchat
Back
Defensive Programming
Front
An approach to programming that attempts to identify possible threats and proactively create code to avoid them; also called secure programming.
Back
program editor
Front
A programming tool, similar to a word processor, that provides specialized editing and formatting features to streamline the programming process.
Back
Fourth-Generation Languages
Front
Programming and query languages, such as SQL and RPG, that more closely resemble human languages than did third-generation languages.
Back
predictive methodology
Front
The traditional approach to software development in which detailed specifications are created before coding begins.
Back
Suppose you're looking at Python code and you see # symbols. What does that tell you?
Front
~The text that follows is a comment that documents the code.
The program was developed using an SDK or an IDE.
The program was written as a sprint.
There is a syntax error in the code that was found by a debugger.
Back
software engineering
Front
The process of developing software using systematic mathematical, engineering, and management techniques.
Back
Third-Generation Languages
Front
Programming languages, such as Fortran, BASIC, and COBOL, that followed assembly languages and provided English-like keywords.
Back
What is the attention span of a typical app user in the context of response time?
Front
ne minute
15 seconds
~Two seconds
Ten minutes
Back
Which Python keyword seems best for collecting the shape of a pizza from a user?
Front
~input
while
if
class
Back
Which of the following has the highest level of abstraction?
Front
pizza
A pizza box
A painting of a pizza
~A program that compares two pizzas
Back
remarks
Front
Programmer notes or documentation included in a program, but preceded by a special symbol so they are not executed. Also called comments.
Back
logic error
Front
A run-time error in the logic or design of a computer program.
Back
Formal methods
Front
Mathematically based techniques for specifying and developing reliable and robust software or hardware.
Back
variable
Front
A named storage location that is capable of holding data that can be modified during program execution.
Back
keyword
Front
(1) A word or term used as the basis for a Web page search. (2) A command word provided by a programming language.
Back
Which generation of programming languages is used to develop apps for iPhone and Android devices?
Front
First generation
Second generation
~Third generation
Fourth generation
Back
constant
Front
In the context of programming, represents an unchanging value. In contrast, the data held in a variable can change.
Back
Fifth-Generation Languages
Front
Either declarative languages, such as Prolog, or programming languages that allow programmers to use graphical or visual tools to construct programs.
Back
Computer programming
Front
The process of designing, coding, and testing computer programs.
Back
debugging
Front
The process of testing and correcting a computer program.
Back
Threat modeling
Front
A component of defensive programming that helps programmers identify ways in which their programs might be compromised; also called risk analysis.
Back
Assembly language is classified as
Front
a machine language
~a low-level language
a third-generation language
none of the above
Back
Systems programmers
Front
Computer programmers who specialize in developing operating systems and utilities rather than applications.
Back
Application programmers
Front
Software developers who specialize in developing applications software rather than system software.
Back
Software developed for the initial rollout of HealthCare.gov might have been more successful if programmers used a(n) ______ methodology and a series of sprints.
Front
predictive
SDLC
~agile
enterprise
Back
sprint
Front
In the context of computer programming, an iteration in the agile development process in which a working prototype of a product is created.
Back
Assembler
Front
A utility that reads a program written in an assembly language, translates the program into machine language, and then submits the machine language program to the processor for execution.
Back
Which environment offers the best array of tools for editing program code?
Front
A text editor
Word processing software
A program editor
~A VDE
Back
A program to calculate the tip for a restaurant server produces the wrong amount. What kind of error is it?
Front
Python error
A syntax error
~A logic error
None of the above
Back
The question "Which pizza is the best deal?" would be considered
Front
problem statement
a Java statement
a command
~none of the above
Back
properties
Front
The characteristics of an object in a program.
Back
Source Code
Front
Computer instructions written in a high-level language.
Back
Which one of the following best describes a software engineer's approach to a search routine?
Front
Coding a search routine by instructing the computer to step through a list looking for a match
~Examining several methods for implementing a search routine and selecting the one that provides the greatest efficiency based on the computer architecture and the data being processed
Back
Section 2
(50 cards)
Walkthrough
Front
In the context of programming, a method of verifying that an algorithm functions properly when using realistic test data.
Back
The extends command is associated with
Front
~inheritance
attributes
data types
an object
Back
flowchart
Front
In software engineering, a graphical representation of the way a computer should progress from one instruction to the next when it performs a task.
Back
Method
Front
In the context of object-oriented programming, any action that an object can perform.
Back
Polymorphism
Front
In the context of object-oriented programming, the ability to redefine a method for a subclass. Also called overloading.
Back
Superclass
Front
In object-oriented programming, a superclass can provide attributes and methods for subclasses.
Back
Which of the following languages is generally used for legacy programming projects?
Front
Back
Scripting Languages
Front
Programming languages, such as PHP, Perl, Ruby, and JavaScript, distributed as human-readable source code.
Back
Scripting languages, such as JavaScript and PHP, are
Front
~interpreted
second generation
object code
op codes
Back
object-oriented paradigm
Front
An approach to programming that focuses on the manipulation of objects rather than on the generation of procedure-based code.
Back
Procedural Language
Front
Any programming language used to create programs composed of a series of statements that tell the computer how to perform a specific task.
Back
Loop
Front
The section of program code that is repeated because of a repetition control structure; also called an iteration.
Back
Class
Front
In object-oriented terminology, a group with specific characteristics to which an object belongs.
Back
Structured English
Front
Vocabulary and syntax used by systems analysts to concisely and unambiguously explain the logic of a process. It is limited to words defined in a data dictionary and to specific logical terms such as IF...THEN.
Back
Message
Front
In the context of object-oriented programming, input that is collected and sent to an object.
Back
Object Code
Front
The low-level instructions that result from compiling source code.
Back
Procedural Paradigm
Front
An approach to programming in which a programmer defines the steps for solving a problem.
Back
Algorithm
Front
An abstract or general procedure for solving a problem, typically expressed as pseudocode, structured English, or a flowchart.
Back
Subclass
Front
In object-oriented programming, is derived from a superclass and inherits its attributes and methods.
Back
Would a procedural language be the best choice for a program that translates Russian into English?
Front
Yes, because translation is a step-by-step process
Yes, because Russian grammar has a simple syntax
No, because Russian uses a different alphabet
~No, because translating languages is an unstructured problem
Back
hat is the core characteristic of procedural programming languages?
Front
A compiler
~A step-by-step algorithm
A VDE
A paradigm
Back
Control Structures
Front
Instructions that specify the sequence in which a program is to be executed: sequence, selection, and repetition controls.
Back
Which of the following is not considered a way to express an algorithm?
Front
Structured English
Flow chart
~Compiler
Pseudocode
Back
A Walkthrough of the Pizza Program Algorithm
Front
Back
A compiler creates
Front
~object code
source code
op code
interpreted code
Back
IDE (integrated development environment)
Front
A set of programming tools, typically including editor, compiler, and debugger, packaged into an application for creating programs.
Back
Multiparadigm Languages
Front
A programming language that supports more than one paradigm, such as object-oriented and procedural paradigms.
Back
Which of the following statements is true about getArea()?
Front
~It is an example of polymorphism.
It carries out the same calculation for round and rectangular pizzas
It is a message.
It is a variable.
Back
What is the difference between an IDE and a VDE (described in the previous section)?
Front
~An IDE does not necessarily have to be graphical.
A VDE is used for mobile apps.
A VDE is for second-generation languages.
An IDE is easier to use.
Back
Which attribute from the original code for the Pizza class (on the previous page) is no longer needed when the subclasses for round and rectangular pizzas are created?
Front
Pizza
pizzaShape
pizzaPrice
pizzaSize
Back
In the pseudocode at left, what is the purpose of the following statement?
squareInches1 ← size1 * size1
Front
It defines the squareInches variable.
~It calculates the size of a square pizza.
It calculates the radius of a round pizza.
It determines which pizza is the best deal.
Back
Programming Paradigm
Front
A programming methodology or approach, as in the object-oriented paradigm.
Back
Class Attribute
Front
In the context of object-oriented programming, a class attribute defines a characteristic for the members of a class. Similar to a field in a database.
Back
Interpreter
Front
A program that converts high-level instructions in a computer program into machine language instructions, one instruction at a time.
Back
Iteration
Front
In the context of computer programming, a section of code that is repeated; also called a loop.
Back
SDK (software development kit)
Front
A collection of language-specific programming tools.
Back
Class Hierarchy
Front
Like a hierarchical diagram, a class hierarchy is a set of related superclasses and subclasses defined within the object-oriented paradigm.
Back
Object
Front
In an object database or OO programming language, a discrete piece of code describing a person, place, thing, event, or type of information.
Back
API (application program[ming] interface)
Front
A set of application programs or operating system functions that can be utilized by a program.
Back
Private Attribute
Front
An attribute for an object, a class, or a record that can be accessed only from the program routine in which it is defined.
Back
Flow Control
Front
In the context of programming, the sequence in which a computer executes program instructions.
Back
Inheritance
Front
In object-oriented terminology, a method for defining new classes of objects based on the characteristics of existing classes.
Back
What is the output of the following program code?
Print ("Hi!")
Goto Greeting
Print ("Goodbye")
Greeting
End
Front
~Hi!
Greeting
Goodbye
Hi! Goodbye
Back
Repetition Control Structure
Front
A component of a computer program that repeats one or more instructions until a certain condition is met (also called loop or iteration).
Back
Pseudocode
Front
A notational system for algorithms that combines English and a programming language.
Back
What is the key difference between a function and the goto command?
Front
Goto transfers control to another part of the program.
~Goto jumps to another part of the program without a way to return.
Goto simplifies program logic.
All of the above
Back
How many lines in the pizza program are designed to collect input?
Front
Two
Four
~Six
Eight
Back
Sequence Control Structure
Front
A programming construct that alters the order in which instructions are executed.
Back
Selection Control Structure
Front
A component of a computer program that tells a computer what to do, depending on whether a condition is true or false (also called decision structure or branch).
Back
Public Attribute
Front
An attribute for an object, a class, or a record that can be accessed from any routine in a program
Back
Section 3
(16 cards)
Argument
Front
In the context of Prolog programming, describes a predicate and is enclosed in parentheses in a Prolog fact.
Back
Encapsulation is an example of
Front
~abstraction
a class
inheritance
a method
Back
Op Code
Front
is a command word for an operation such as add, compare, or jump.
Back
Operand
Front
An instruction specifies the data, or the address of the data, for the operation.
Back
Rule
Front
In the context of Prolog programming, a general statement about the relationship between facts.
In the context of Prolog programming, a query that searches for an answer based on a set of Prolog facts and rules.
Back
Predicate
Front
In a Prolog fact, such as likes(John, Mary), the predicate likes describes the relationship between the arguments in parentheses, such as (John, Mary).
Back
Encapsulation
Front
An object-oriented technique in which the internal details of an object are "hidden" in order to simplify their use and reuse.
Back
Instantiation
Front
A programming term that refers to the process of assigning a value to a variable.
Back
Problem Statement
Front
Defines certain elements that must be manipulated to achieve a result or goal and has three characteristics:
It specifies any assumptions that define the scope of the problem.
It clearly specifies the known information.
It specifies when the problem has been solved.
Back
Declarative Paradigm
Front
An approach to the programming process in which a programmer writes a program by specifying a set of statements and rules that define the conditions for solving a problem.
Back
Decision Table
Front
A tabular method for listing rules and specifying the outcomes for various combinations of rules.
Back
Given the set of facts to the left, which pizza is square?
Front
The most expensive pizza
The biggest pizza
~Pizza1
Pizza2
Back
In which programming paradigm do programmers focus primarily on what rather than how?
Front
Procedural
OO
~Declarative
Back
Suppose you make the query betterdeal(pizza1,pizza2). What is instantiated to the variable PizzaX?