• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/75

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

75 Cards in this Set

  • Front
  • Back
The programmers who used the first computers (e.g., ENIAC and EDSAC) believed that the computer's time was _____ valuable than/as theirs.

a. more
b. less
c. equally
a. more
______ languages were invented to allow computer operations to be expressed with mnemonic abbreviations.

a. Assembly
b. Foreign
c. Native
d. all of these are valid answers
e. none of these is a valid answer
a. Assembly
The frustration of having to rewrite programs for every new machine led to the development of the original dialect of _____, the first arguably high-level programming language.

a. binary
b. octal
c. hexadecimal
d. ASCII
e. Fortran
e. Fortran
Translating from a ____ language to ____ language is the job of a systems program known as a compiler.

a. machine/high-level
b.. high-level/machine
c. native/foreign
d. binary/natural
e. natural/binary
b. high-level/machine
Over time, the performance gap between assembly language programs written by humans and those produced by a compiler from high-level programs has narrowed and eventually reversed. Assess the validity of this statement.

a. It is a valid statement.
b. it is not a valid statement
a. it is a valid statement
Because of the need for _____ which comprises its enhancement and correction, labor costs now heavily outweigh the cost of computing hardware.

a. software marketing
b. software maintenance
c. labor appeasement
d. All of these are valid answers.
e. none of these is a valid answer.
b. software maintenance
Today there are ____ of high-level programming languages, and new ones continue to emerge.

a. dozens
b. hundreds
c. thousands
d. millions
e. billions
c. thousands
Of the many that have been designed, only a few dozen languages are rarely used. Assess the validity of this statement.

a. it is a valid statement
b. it is not a valid statement
b. it is not a valid statement
According to the textbook author, these are reasons why there are so many different programming languages, except:

a. evolution
b. special purpose
c. personal preference
d. political affiliation
e. none of these (all the reasons are valid)
e. none of these (all the reasons are valid.
According to the author of the textbook, this is one of the reasons why a programming language might be more successful than another, except:

a. expressive power
b. ease of use for novices
c. open source
d. influential sponsor(s)/patron(s)
e. none of these (all are valid)
e. none of these (all are valid)
Functional languages employ a computational model based on the recursive definition of ________ (e.g., Church's lambda calculus).

a. functions
b. equations
c. inequalities
d. subroutines
e. objects
a. functions
Logic and constraint-based languages take their inspiration from predicate logic. Assess the validity of this statement.

a. it is a valid statement
b. it is not a valid statment
a. it is a valid statment
The van Neumann languages take their inspiration from predicate logic. Assess the validity of this statement.

a. it is a valid statement
b. it is not a valid statement
a. it is a valid statement
Both the form (or syntax) and meaning (or semantics) of programming languages must be specified without ____ so that both programmers and computers can tell what a program is supposed to do.

a. symbols
b. delay
c. terminologies
d. ambiguity
e. computational models
d. ambiguity
different programming languages often provide features with very similar semantics but very different syntax. Assess the validity of this statement.

a. it is a valid statement
b. it is not a valid statement
a. it is a valid statement
In general, interpretation leads to greater flexibility while compilation generally leads to better performance. Assess the validity of this statement.

a. it is a valid statement
b. it is not a valid statement
a. it is a valid statement
This is a formal language notion used in determining the syntax of a programming language (at least insofar as Ch. 2 in the text is concerned):

a. regular grammar
b. context-free grammar
c. finite automaton
c. push-down automaton
d. all of these are valid answers
d. all of these are valid answers
The minimal DFA below accepts strings over the alphabet {0,1} which --

-> q0 -1-> q1 (loop - 0,1) q1 - 0 -> F

a. contain an even number of 1s
b. contain an odd number of 1s
c. contain at least two 0s
d. cnotain at least two 1s
e. are valid binary representations of positive multiples of 2
e. are valid binary representations of positive multiples of 2
Names in most languages are identifiers (alphanumeric tokens), though certain other symbols, such as +, can also be names. Assess the validity of this statement.

a. it is a valid statement
b. it is not a valid statement
a. it is a valid statement
Binding time, more generally, is the time at which any implementation decision is made. This is one of the times at which decisions may be bound:

a. language implementation time
b. compile time
c. load time
d. run time
e. all of these are valid answers
e. all of these are valid answers
The terms static and dynamic are generally used to refer to things bound ____ run time and ____ run time, respectively.

a. before/at
b. at/before
c. without/within
d. within/ without
e. concurrent with/recurrent with
a. before/at
Compiler-based language implementations tend to be more efficient than interpreter-based implementations because they make later decisions. Assess the validity of this statement.

a. the statement is valid
b. the statement is not valid
b. the statement is not valid
Each instance of a subroutine at run time has its own frame (or activation record) which contains this:

a. arguments and return values
b. local variables
c. temporaries
d. bookkeeping information
e. all of these are valid answers.
e. all of these are valid answers
____ objects are allocated and deallocated in last-in, first-out order.

a. stack
b. heap
c. preface
d. appendix
e. index
a. stack
A ____ is a region of storage in which sub-blocks can be allocated and deallocated at arbitrary times.

a. stack
b. heap
c. preface
d. appendix
e. index
b. heap
Garbage collection is the process wherein objects are to be deallocated implicitly when it is no longer possible to reach them from any program variable. Assess the validity of this statement.

a. the statement is valid.
b. the statement is invalid.
a. the statement is valid.
The textual region of the program in which a binding is ___ is called its scope.

a. active
b. passive
c. occluded
d. ignored
e. resurrected
a. active
The simplest static scope rule is that in which there is only one single, global scope. Assess the validity of this statement.

a. the statement is valid
b. the statement is not valid
a. the statement is valid
In a language with dynamic scoping, the bindings between names and objects depend on the flow of control at run time. Assess the validity of this statement.

a. the statement is valid
b. the statement is not valid
a. the statement is valid
Overloading, as a term, pertains to the situation in which a name may refer to more than one object in a given scope. Assess the validity of this statement.

a. the statement is valid.
b. the statement is not valid
a. the statement is valid
Informally, ___ concerns the form of a valid program, while ____ concerns its meaning.

a. format/floormat
b. syntax/semantics
c. writing/erasure
d. entrance/exit
e. synthesis/analysis
b. syntax/semantics
Programming languages strictly adhere to uniform, standardized semantic rules. Assess the validity of this statement.

a. it is a valid statement.
b. it is not a valid statement.
b. it is not a valid statement
The syntax of a language can be described by a context-free grammar, while the semantics cannot. Assess the validity of this statement.

a. it is a valid statement
b. it is not a valid statement
a. it is a valid statement
A(n) ____ is a statement that a specified condition is expected to be true when execution reaches a certain point in the code.

a. precise
b. axiom
c. assimilation
d. reconciliation
e. assertion
e. assertion
In general, ___ algorithms that predict run-time behavior are known as static analysis.

a. obsolete
b. oracle
c. compile-time
d. overtime
e. post-time
c. compile-time
The process of evaluation attributes is called annotation or ____ of the parse tree.

a. persuasion
b. formation
c. stagnation
d. decoration
e. punctuation
d. decoration
An attribute grammar is ____ if its rules determine a unique set of values for the attributes of every possible parse tree.

a. well-defined
b. non-empty
c. saturated
d. universal
e. parseimonious
a. well-defined
The fastest translation schemes tend to be ____, based on an analysis of the structure of the attribute grammar itself, and then applied mechanically to any tree arising from the grammar.

a. dynamic
b. static
c. ad hoc
d. introspective
e. prospective
b. static
A compiler that interleaves semantic analysis and code generation with parsing is said to be a ____ compiler.

a. one-pass
b. two-pass
c. low-pass
d. high-pass
e. trespass
a. one-pass
An action routine is a semantic function that the programmer (really, the grammar writer) instructs the compiler to execute at a particular point in the parse. Assess the validity of this definition.

a. It is pretty accurate
b. it misses the point entirely.
a. it is pretty accurate
Most parser generators allow the programmer (really the grammar writer) to specify action routines. Assess the validity of this statement.

a. it is a valid statement
b. it is not a valid statement
a. it is a valid statement
Tree grammars were introduced in the textbook to represent the possible structure of syntax tress. Tree grammars and context-free grammars differ in that tree grammars are meant to define or generate tree structures, while context-free grammars generate strings. Assess the validity of this statement.

a. it is a valid statement
b. it is not a valid statement
a. it is a valid statement
The diversity between the different machine languages is ____ the diversity between the different programming languages.

a. considerably less than
b. somewhat greater than
c. just about the same as
d. all of these are valid answers
e. none of these are valid answers
a. considerably less than
According to the textbook, processor architectures change for these reasons, except:

a. technological advances can be exploited only by changing the hardware/software interface.
b. certain new instructions would make programs simpler or faster.
c. none of the above (both are valid)
d. all of the above (neither are valid)
c. none of the above (both are valid)
Roughly speaking, a RISC machine is one that sacrifices richness in the instruction set in order to increase the number of instructions that can be executed per second. Assess the validity of this statement.

a. it is a valid statement
b. it is not a valid statement
a. it is a valid statment
Most computers employ a memory hierarchy, in which things that are ____ are kept close at hand.

a. used less often
b. used more often
c. at lesser risk
e. none of these is a valid answer
b. used more often
This level of the memory hierarchy is a visible part of the hardware/software interface:

a. registers
b. memory
c. devices
d. all of these are visible parts
e. none of these is a visible part
d. all of these are visible parts
Caches are designed to exploit _____: the tendency of most computer programs to access the same or nearby locations in memory repeatedly.

a. centrality
b. decentralization
c. modularity
d. information hiding
e. locality
e. locality
This is a typical data format for bits stored in memory:

a. instructions
b. addresses
c. binary integers
d. floating point numbers
e. all of these are data formats used
e. all of these are data formats used
Most recent architectures require that data be aligned for this particular reason:

a. data buses are designed so that data are delivered to the processor over bit-parallel, aligned communication paths.
b. data alignment allows for addressing in terms of an offset from some base location specified by a register.
c. both are valid reasons
d. neither is a valid reason
c. both are valid reasons
Most processors developed after 1985 conformed to the formats and semantics of IEEE Std. No. 754 for _____ numbers.

a. integral
b. rational
c. floating-point
d. complex
e. intractable
c. floating-point
By allowing (parts of) multiple instructions to execute in parallel, ____ can dramatically increase the number of instructions that can be completed per second.

a. mainlining
b. pipelining
c. segmentation
d. time-slicing
e. partioning
b. pipelining
Microporgramming was introduced by IBM in the 1960s and allowed them to provide the same instruction set across a whole line of computers, from inexpensive slow machines to expensive fast machines. Assess the validity of this statement.

a. the statement is valid
b. the statement is not valid
a. the statement is valid
An architectural breakthrough occurred in the mid-1970s, when VLSI technology became capable of placing an entire processor on one chip, thus making it feasible to build a commercially viable personal computer. Assess the validity of this statement.

a. the statement is valid
b. the statement is not valid
a. the statement is valid
By the early 1980s, several factors converged to make possible a breakthrough -- RISC architecture -- including:

a. VLSI technology making possible a pipelined 32-bit processor with a sufficiently simple instruction set on a single chip.
b. Processor speed outstripping memory speed, thereby increasing pressure to keep things in registers.
c. compiler technology achieving compiled code that matched the quality of code produced by the best assembly language programmers.
d. all of these were contributing factors
e. none of these was a factor
d. all of these were contributing factors
The main problems that may cause a pipelined processor to stall are the following, except:

a. cache misses
b. resource hazards
c. data hazards
d. control hazards
e. none of the above (all of these are the main problems)
e. none of the above (all of these are the main problems)
Programming language mechanisms used to specify control flow or ordering are organized into these categories, except:

a. sequencing
b. selection
c. iteration
d. recursion
e. none of the above (all of these are valid categories)
e. none of the above (all of these are valid categories)
A programmer who thinks in terms of the categories of control flow, rather than the syntax of some particular language, will find it easy to learn new languages, evaluate the trade offs among languages, and design and reason about algorithms in a ____ way.

a. language-independent
b. language-critical
c. language-predictive
d. language-selective
e. language-iterative
a. language-independent
____ languages make heavy use of recursion, whereas ____ languages tend to emphasize iteration.

a. functional/imperative
b. imperative/functional
c. parabolic/hyperbolic
d. symbols/literals
e. variables/constants
a. functional/imperative
Of the following expressions signifying the addition of the literals 2 and 7, the one that is prefix is:

a. 2 + 7
b. + 2 7
c. 2 7 +
d. 7 + 2
e. none of these is a valid answer
b. + 2 7
Associativity rules specify how sequences of operators of equal precedence group to the left or to the right. Assess the validity of this statement.

a. it is a valid statement
b. it is not a valid statement
a. it is a valid statement
Because the rules for precedence and associativity vary so much from one language to another, a programmer who works in several languages is wise to make liberal use of _____ .

a. dictionaries
b. thesauri
c. concordances
d. indices
e. parentheses
e. parentheses
A programming language construct is said to have a side effect if it influences subsequent computation in any way other than by returning a value for use in the surrounding context. Assess the validity of this statement.

a. the statement is valid
b. the statement is not valid.
a. the statement is valid
Many imperative languages distinguish between _____, which always produce a value, and _____, which are executed solely for their side effects, and return no useful value.

a. statements/expressions
b. expressions/statements
c. addition/subtraction
d. syntax/semantics
e. scanning/parsing
b. expressions/statements
The evolution of programming language constructs has been driven by many goals, including:

a. ease of programming
b. semantic elegance
c. ease of implementation
d. run-time efficiency
e. all of these are driving goals
e. all of these are driving goals
Type equivalence and type compatibility are synonymous. Assess the validity of this statement.

a. the statement is valid
b. the statement is not valid
b. the statement is not valid.
A ____ consists of (1) a mechanism to define types and associate them with certain language constructs; and (2) a set of rules for type equivalence, type compatibility, and type inference.

a. context-free grammar
b. regular grammar
c. tree grammar
d. syntatic system
e. type system
e. type system
A language is said to be strongly typed if it _____, in a way that the language implementation can enforce, the application of any operation to any object that is not intended to support that operation.

a. prohibits
b. allows
c. exhibits
d. inhibits
e. erases
a. prohibits
Most OOL, including C++, Eiffel, Java, and C#, provide explicit parametric polymorphism, which allows the programmer to define classes with type parameters. A simpler term synonymous to this flavor is polymorphism is:

a. functions
b. generics
c. procedures
d. variants
e. unions
b. generics
In the general discussion of types by the author, distinction was made between the denotational, constructive, and abstraction-based points of view, which regard types, respectively, in terms of their values, their substructure, and the operations they support. Assess the validity of this statement.

a. it is a valid statement
b. it is not a valid statement
a. it is a valid statement
While imperative languages are far more widely used, "industrial strength" implementations exist for both functional and logic languages, and both models have commercially important applications. Assess the validity of this statement.

a. the statement is valid
b. the statement is not valid
b. the statement is not valid
The imperative and functional models grew out of work undertaken by mathematicians in the 1930s and included:

a. Alan Turing
b. Alonzo Church
c. Stephen Kleene
d. Emil Post
e. all of these are valid answers
e. all of these are valid answers
The ____ computes in an imperative way, by changing the values in cells of its tape, just as a high-level imperative program computes by changing the values of variables.

a. Turing machine
b. Lambda calculus
c. Jobs NeXT cube
d. all of these are valid answers
e. none of these are valid answers
a. Turing machine
A(n) _____ function takes a function as an argument or returns a function as a result.

a. first-order
b. parameter-less
c. zero-arity
d. recursive
e. higher-order
e. higher-order
Prolog and other logic languages are based on first-order predicate calculus. Assess the validity of this statement.

a. The statement is valid
b. the statement is not valid
a. the statement is valid