CS3310 (Ch 1-12)

¡Supera tus tareas y exámenes ahora con Quizwiz!

The fact that it enables the programmer to reach down into the machine level is precisely why ___ is useful for writing system software such as operating systems, assemblers, compilers, and input/output controllers.

C

__ is the most widely used language for writing system software because it combines the power of a high-level language with the ability to circumvent that level of abstraction and work at the assembly-language-like level.

C

____ was developed in the early 1970s by Dennis Ritchie at AT&T Labs. It was originally designed for systems programming, in particular for writing the operating system UNIX.

C

Created in 2000 by Microsoft, this language is a successor in spirit to C++, but it is a totally new language. Therefore, it has no backward-compatibility issues, as C++ had with C. It is designed to make some improvements over C++ in safe usage, and it shares many features with Java.

C#

Much larger instruction sets (300-500 instructions) have very powerful instructions in the instruction set. These types of processors are called _____ machines, and they are designed to directly provide a wide range of powerful features so that finished programs for these processors are shorter.

CISC (Complex Instruction Set Computers)

____ was designed to serve business needs such as managing inventories and payrolls. In the its, particular attention was paid to input formatting for data being read from files and to output formatting both for writing data to a file and for generating business reports with information precisely located on the page. It was involved in the Y2K problem due to its ubiquitous presence as legacy code in many systems.

COBOL (COmmon Business-Oriented Language)

The ___ and the ____ are fully integrated into a single component called the processor (the CPU).

ALU, control unit

The ____ algorithm is the basis for all Data Link Control protocols in current use.

ARQ (automatic repeat request)

_________ refers to the separation of the high-level view of an entity or an operation from the low-level details of its implementation.

Abstraction

The construction of computer circuits is based on the branch of mathematics and symbolic logic called what?

Boolean Logic

______ is not itself the language of any real machine, but it can be easily translated into any specific machine language.

Bytecode

Shuffle-Left algorithm is order of magnitude ____ for best case (no shifts, n examinations), and ____ for worst case (shift at each pass, n passes).

O(n); O(n**2)

____ bits are used to detect errors that occur as a result of electronic interference when transmitting such strings. If a single bit (or any odd number of bits) is changed from a 1 to 0 or from a 0 to 1, then the _____ bit is incorrect, and the error can be detected. A correct copy of the information can then be retransmitted.

Parity

_____ _____ can be applied to almost any kind of information, including graphics, sound, and photographs & web searches.

Pattern matching

____ ____ involves developing a clear, concise, and unambiguous statement of the exact problem the software is to solve.

Problem specification

In BNF, the syntax of a language is specified as a set of rules, also called _____. The entire collection of rules is called a ____.

Productions, grammar

The best-known logic programming language is _____.

Prolog (PROgramming in LOGic)

Fortran implementation of "input" is ____ and directing flow control is __ ___.

READ; GO TO

_____ is a communications device that has its own Internet address, the same type of network address that your laptop, tablet, or smartphone uses to communicate over the Internet. Once an RFID tag is placed on an object it can send and receive messages and is said to be network ready. This object can now be located and controlled by other devices on the Internet via the exchange of messages, such as the following exchange between a home thermostat and a control computer:

RFID (Radio Frequency Identifier)

This technique describes a specific color by capturing the individual contribution to a pixel's color of each of the three colors, red, green, and blue. It uses one byte, or 8 bits, for each color, allowing us to represent an intensity range of 0 to 255 for each color. The value 0 means that there is no contribution from this color, whereas the value 255 means a full contribution of this color.

RGB

The most common format for storing color images is the ____ encoding scheme.

RGB (red-green-blue)

_____ engineering is often applied to large-scale software development projects.

Software

_____ never appear on the left-hand side of a BNF rule, whereas ____ must appear on the left-hand side of one or more rules.

Terminals; nonterminals

A _____ machine is a theoretical model of computation that includes a (conceptual) tape extending infinitely in both directions. The tape is divided into cells, each of which contains one symbol. The symbols must come from a finite set of symbols called the tape _____.

Turing; alphabet

The "two zeros" problem arises when the integer representation of a signed number such as 1000 and 0000 have two forms (0 and -0) which produces the mathematically nonsensical value -0. The ____ ____ ____ avoids this problem by simply designating the leftmost bit as positive (0) or negative (1) such that an incremented binary number naturally goes from positive to negative (e.g. 00 (0), 01 (1), 10 (-2), 11 (-1)

Two's complement representation

The first commercial machine, the __________, did not make its appearance until March 1951, a date that marks the real beginning of the computer industry.

UNIVAC I

What are two examples of computers in the First generation of computers (1950-1957)?

UNIVAC I and IBM 701

Concerns about the eventual breakdown of ____ in the face of ever increasing computing power prompted NIST in 1997 to request proposals for a successor encryption scheme. The result was ____ , which was adopted for use by the U.S. government in 2001.

DES (Data Encryption Standard); AES (Advanced Encryption Standard)

The memory access method whereby the previous contents of the cell are lost describes what?

destructive store

A program that interacts with an I/O device is called a ____ ____.

device driver

(T/F) A _____ access storage device is one in which every unit of information still has a unique address, but the time needed to access that information depends on its physical location and the current state of the device. examples of DASDs are the types of disks listed earlier: hard drives, DVDs.

direct

One reason the Ethernet protocol is so popular is that control is _____ Responsibility for network operation is shared by all nodes in the network rather than centralized in a single master controller.

distributed

Part of the job of program ________ is to make clear any assumptions or restrictions about the input size the program was designed to handle.

documentation

The formal term for "doable" is _____ _____.

effectively computable.

The term used to describe an algorithm's careful use of resources is _______.

efficiency

This is called framing. The Data Link protocols address what two issues?

error handling & framing

The Hamiltonian Circuit is an example of an ______ algorithm because it takes 2**n, or Θ(2**n), units of work to search all paths to the root.

exponential

The _____ representation of information is the way information is represented by humans and the way it is entered at a keyboard or virtual keypad or displayed on a printer or screen. The _____ representation of information is the way it is stored in the memory of a computer.

external; internal

The ____ study evaluates a proposed project and compares the costs and benefits of various solutions.

feasibility

The execution of a program on the computer shown proceeds in what three distinct phases?

fetch, decode, & execute.

What are the two basic memory operations?

fetching & storing

New ____-generation operating systems will create a truly ______ computing environment in which users do not need to know the location of a given resource within the network.

fifith; distributed

A piece of system software called a ____ inserts requested object code from code libraries into the object code for the requesting program. The resulting object code is often called an _____ module.

linker; executable

The exchange of setup information between the client and the server, preparatory to exchanging real data, is known as a _____.

handshake

_____ is a collection of documents interconnected by pointers, called links

hypertext

It is the task of the ______ to read instructions from the object file and store them into memory for execution.

loader

The selection of an algorithm to solve a problem is greatly influenced by the way the _____ _____ for that problem is organized.

input data

The ______ units are the devices that allow a computer system to communicate and interact with the outside world as well as store information for the long term.

input/output (I/O)

The set of all operations that can be executed by a processor is called its ____ ___

instruction set

A large number of transistors, as well as the electrical conducting paths that connect them, can be printed photographically on a wafer of silicon to produce a device known as an _____ _____or, more commonly, a ____.

integrated circuit; chip

A Python program is ______ rather than compiled, which means that it is translated from source code into object code every time it is executed.

interpreted

These are the "looping" instructions of an algorithm. They tell us not to go on to the next instruction but, instead, to go back and repeat the execution of a previous block of instructions.

iterative operations

Globally popular applications (mapped to well-known ports) are often called ____ apps.

killer

In assembly language, we can attach a symbolic ____ to any instruction or piece of data in the program. This then becomes a permanent identification for this instruction or data, regardless of where it appears in the program or where it may be moved in memory.

label

Given two algorithms for the same task, we should usually choose the algorithm of the ______ order of magnitude because for large enough n, it always "wins out."

lesser

[Compiler phases] During ___ ___, the compiler examines individual characters in the source program and groups them into syntactical units, called tokens, that will be analyzed in succeeding stages.

lexical analysis

A collection of useful, prewritten algorithms is called a ______.

library

After all the fields of an instruction have been translated into binary, the newly built machine language instruction and the address of where it is to be loaded are written to a file called the ____ file.

object

When we moved from machine language to assembly language, we needed a piece of system software—an assembler—to translate assembly language instructions into binary machine language instructions (_____ code). This was necessary because the computer itself—that is, the collection of electronic devices—can respond only to machine language instructions. Now that we have moved up another layer with regard to the language in which we communicate, we need a different type of translator to convert our high-level language instructions into machine language instructions. This new type of translator is called a compiler. Rather than doing the entire translation job right down to object code, a compiler often translates high-level language instructions (____ code) only into assembly language (the hard part of the translation). It then turns the final (simple) translation job over to an assembler that finishes the task by converting the assembly language into binary

object, source

The program that controls the overall operation of the computer is the ____ ____, and it is the single most important piece of _____ software on a computer.

operating system; system

One of the main features of Java is its _____

portability

Encoding an image as a sequence of numerical pixel values, storing each row of pixels completely, from left to right, before moving down to store the next row. Each pixel is encoded as an unsigned binary value representing its gray scale intensity. This form of image representation is called ______ graphics

raster

One important variation of the network operating system is called a ____-____ operating system. During the 1980s and 1990s, computers got smaller and smaller, and it became common to place them inside other pieces of equipment to control their operation. These types of computers are called _____ systems; examples include computers placed inside automobile engines, microwave ovens, thermostats, assembly lines, airplanes, and homes.

real-time; embedded

A ____ is a special high-speed storage cell that holds the operands of an arithmetic operation and that, when the operation is complete, holds its result.

register

Binary search works best on lists that are already ____.

sorted

A program written in assembly language is called the ____program. This is translated into a corresponding machine language program, called the ___ program. This translation is carried out by a piece of system software called an ________. Translators for high-level languages are called ____.

source object assembler compilers

The number of comparisons done by the selection sort algorithm does not grow at the same rate as the problem size n; it grows at approximately the _____ of that rate and is therefore an order of magnitude ____. (This is because comparison/exchange operations are made repeatedly over the same list of numbers).

square; n**2 or Θ(n**2)

A ___ ___ is a visual representation of a Turing machine algorithm, where circles represent states, and arrows represent transitions from one state to another.

state diagram

The most fundamental characteristic of the Von Neumann architecture is the ____ _____—a sequence of machine language instructions stored as binary values in memory.

stored program

The Caesar cipher is an example of a _____ cipher; that is, it encodes one character at a time. Caesar cipher is also a ______ cipher, whereby a single letter of plaintext generates a single letter of ciphertext.

stream; substitution

A _______ encryption algorithm requires the use of a secret key known to both the sender and the receiver. The sender encrypts the plaintext using the key. The receiver, knowing the key, is easily able to reverse the process and decrypt the message.

symmetric

Programming languages differ in the rules (the _____) for exactly how statements must be written and in the meaning (_____) of correctly written statements.

syntax, semantics

An _______ operation is one that can be understood and carried out directly by the computing agent without further simplification or explanation.

unambiguous

What are the two ways of constructing a LAN?

using a shared cable (bus); using a switch

A popular compression technique is the use of _____-_____ code sets, which are often used to compress text but can also be used with other forms of data. This technique varies the number of bits used to represent letters based on how often they commonly appear in the use of the language (e.g. "A" represented by 2 bits, "Z" represented by 4 bits).

variable-length

A _____ is a computer program that infects a host computer and then spreads. It embeds itself within another program or file. When that program or file is activated, itcopies itself and attacks other files on the system.

virus

A ____ is very similar to a virus, but it can send copies of itself to other nodes on a computer network without having to be carried by an infected host file.

worm

Binary search does ____ comparisons in both the average and worst case.

Θ(lg n)

Converging-pointers have order of magnitude ____ for best, worst and average case.

Θ(n)

Sequential search is therefore an _____ algorithm (an order-n algorithm) in both the worst case and the average case.

Θ(n)

In an ____ algorithm, the work is proportional to n. Hence if you double n, you double the amount of work; if you multiply n by 10, you multiply the work by 10. But in an ____ algorithm, the work is proportional to the square of n. Hence if you double n, you multiply the amount of work by 4; if you multiply n by 10, you multiply the work by 100.

Θ(n); Θ(n**2)

Most ____s use a store-and-forward, packet-switched technology to deliver messages. Unlike a ____, in which a message is broadcast on a shared channel and is received by all nodes

WAN; LAN

Tim Berners-Lee invented the _____ ____ ____.

World Wide Web.

The circuit construction algorithm consists of what 4 steps?

1: Truth Table Construction 2: Subexpression Construction Using AND & NOT Gates 3: Subexpression Combination Using OR Gates 4: Circuit Diagram Production

The value ____ is called the address space or maximum memory size of the computer.

2**N

A multiplexor is a circuit that has _____ input lines and ___ output line. Its function is to select exactly one of its 2**N input lines and copy the binary value on that input line onto its single output line.

2**N; 1 For example, if we had four (22) input lines (i.e., N = 2) coming into our multiplexor, numbered 0, 1, 2, and 3, then we would need two selector lines. The four binary combinations that can appear on this pair of selector lines are 00, 01, 10, and 11, which correspond to the decimal values 0, 1, 2, and 3, respectively (refer to Figure 4.2). The multiplexor selects the one input line whose identification number corresponds to the value appearing on the selector lines and copies the value on that input line to the output line.

An ______ is like a special-purpose computer whose responsibility is to handle the details of input/output and to compensate for any speed differences between I/O devices and other parts of the computer.

I/O controller

A ____ is not an actual element of the language but an intermediate grammatical category used to help explain and organize the language.

Nonterminal

Machine language instructions can be grouped into what four basic classes? Describe what each does.

1) data transfer - move information between or within the different components of the computer 2) arithmetic - cause the ALU to perform a computation 3) compare - compare 2 values and set an indicator on the basis of the results of the comparison 4) branch - alter the normal sequential flow of control

What are the five machine instructions in the Turing Machine?

1. Current state 2. Current symbol 3. Next symbol 4. Next state 5. Direction of move The instruction that we talked about earlier, if (you are in state 1) and (you are reading symbol 0) then write symbol 1 onto the tape go into state 2 move right is therefore represented by the 5-tuple: (1,0,1,2,R)

The Internet protocol hierarchy, also called a protocol stack, has what five layers?

5. Application 4. Transport 3. Network 2. Data Link 1. Physical

BNF rules use two different types of objects, called terminals and nonterminals, on the right-hand side of a production. Terminals are the actual tokens of the language recognized and returned by a scanner. The terminals of our language are what 11 tokens?

<symbol> <number> = + - ; == If Else ( )

(T/F) Babbage did not stop his investigations with the Difference Engine. In the 1830s, he designed a more powerful and general-purpose computational machine that could be configured to solve a much wider range of numerical problems. His machine had four basic components: a mill to perform the arithmetic manipulation of data, a store to hold the data, an operator to process the instructions contained on punched cards, and an output unit to put the results onto separate punched cards. This machine was called the _______ Engine.

Analytical

Regarding Java, _____ are complete stand-alone programs that reside and run on a self-contained computer; _____(small applications) are programs designed to run from webpages.

Applications; applets

_____ _____ is an attempt to represent an integer that exceeds the maximum allowable value.

Arithmetic overflow

______ usually make two passes over the source code, where a pass is defined as the process of examining and processing every assembly language instruction in the program, one instruction at a time.

Assemblers

The most widely used notation for representing the syntax of a programming language is called ______.

BNF (Backus-Naur Form)

________ is useful for rating one machine against another and for rating how sensitive a particular algorithm is with respect to variations in input on one particular machine.

Benchmarking

The ___-___ thesis states: "If there exists an algorithm to do a symbol manipulation task, then there exists a Turing machine to do that task."

Church-Turing

[Compiler phases] During ___, The compiler takes the generated code and sees whether it can be made more efficient, either by making it run faster, having it occupy less memory, or possibly both.

Code optimization

_____ engineering is the process of using people to get the information you want.

Social

___________ statements are the "question-asking" operations of an algorithm. They allow an algorithm to ask a yes/no question and select the next operation to perform on the basis of the answer to that question.

Conditional

_____ circuits are used not to implement arithmetic operations but to determine the order in which operations are carried out and to select the correct data values to be processed.

Control

In a situation where you need to remove zeros from a list, the ______ algorithm works for solving the data cleanup problem by scanning a list from left to right, copying every legitimate (nonzero) value into a new list that it creates. After this algorithm is finished, the original list still exists, but so does a new list that contains only nonzero values.

Copy-Over

Babbage's _____ _____ could do addition, subtraction, multiplication, and division to 6 significant digits, and it could solve polynomial equations and other complex mathematical problems as well (1823)

Difference Engine

______ contained 18,000 vacuum tubes and nearly filled a building; it was 100 feet long and 10 feet high and weighed 30 tons. Because it was fully electronic, it did not contain any of the slow mechanical components found in Mark I, and it executed instructions much more rapidly. It could add two 10-digit numbers in about 1/5,000 of a second and could multiply two numbers in 1/300 of a second, one thousand times faster than the Mark I.

ENIAC (Electronic Numerical Integrator and Calculator), built in 1946

_______, in addition to correctness, ease of understanding, and elegance, is an extremely desirable attribute of an algorithm.

Efficiency

_______ is the algorithmic equivalent of style

Elegance

______ computers are computational devices such as chips, processors, or computers that are embedded within another system.

Embedded

The first high-level (i.e., based on natural language) programming language was __________. Some people mark its debut in 1957 as the beginning of the "software" industry.

FORTRAN

What were the first two high-level (English-like) programming languages during the second generation of computing (1957-1965)?

FORTRAN and COBOL

John Backus (IBM) invented ____ in the mid-1950s, which was the first high-level programming language actually implemented.

Fortran (Formula Translating System)

___ is an open-source programming language developed at Google in 2009 with target areas in systems programming and programming for multicore machines.

Go

A path through a graph that begins and ends at the same node and goes through all other nodes exactly once is called a _____ _____.

Hamiltonian circuit

_____ documentation, which is part of the program code itself. Good internal documentation consists of choosing meaningful names for program identifiers, using plenty of comments to explain the code, and separating the program into short modules, each of which does one specific subtask. ____ documentation enables programmers who later have to modify the program to understand the code. ____ documentation helps users run the program. Such documentation includes online tutorials, answers to frequently asked questions (FAQs), help systems that the user can bring up while the program is running, and perhaps (less and less often) written users' manuals.

Internal Technical User

The Internet is operated by the ____ ____, a nonprofit, nongovernment, professional society composed of 145 worldwide organizations (foundations, government agencies, educational institutions, companies) in 100 countries united by the common goal of maintaining the viability and health of the Internet. This group, along with its subcommittees, the Internet Architecture Board (IAB) and the Internet Engineering Task Force (IETF), establishes and enforces network protocol standards.

Internet Society

The first programmable device was _____ _____, designed to use punched cards to create a desired pattern (1811)

Jacquard's loom

Unlike Fortran, COBOL, C, C++, and Ada, which were carefully developed as programming languages, ____, a modern object-oriented language, was almost an accident. In early 1991, Sun Microsystems Inc. created a team of top-notch software developers and gave them free rein to do whatever creative thing they wanted. The somewhat secret "Green Team" isolated itself and set to work mapping out a strategy. Its focus was on the consumer electronics market. Televisions, VCRs, stereo systems, laser disc players, and video game machines all operated on different CPUs. Over the next 18 months, the team worked to develop the graphical user interface (GUI), a programming language, an operating system, and a hardware architecture for a handheld, remote-control device called the *7 that would allow various electronic devices to communicate over a network. The *7 was designed to be small, inexpensive, easy to use, reliable, and equipped with software that could function over the multiple hardware platforms the consumer electronics market represented.

Java

____ is a scripting language is a "lightweight" language that is interpreted (translated, then executed, statement by statement). Scripting language code fragments can be embedded in webpages to make those pages active rather than static.

Javascript

Functional programming had its start with the design of the _____ programming language. A functional programming language views every task in terms of functions.

LISP (LISt Processing)

In 1673, German mathematician Gottfried Leibnitz constructed a mechanical calculator called _____ ______ that could addition, subtraction and multiplication and division.

Leibnitz's Wheel

____ programming languages are sometimes called declarative programming languages (as opposed to procedural languages) because their programs, instead of issuing step-by-step procedural commands, make declarations or assertions that various facts are true.

Logic

The ___ ___ ___ protocols to solve the error detection and correction problem and ensure that the message traveling across this channel from source to destination arrives correctly.

Logical Link Control

_______ compression schemes compress data in a way that does not guarantee that all of the information in the original data can be fully and completely recreated

Lossy

The _________, named after their leader Ned Ludd of Nottingham, England, were violently opposed to this new manufacturing technology, and they burned down factories that attempted to use it.

Luddites

An example of ____ parallel processing, the "divide-and-conquer model" is used to successively partition a problem into smaller and smaller parts and sent off to other processors, until each one has only a trivial job to perform. Each processor then completes that trivial operation and returns its result to the processor that sent it the task.

MIMD

_______ cores were used to construct computer memories for about 20 years. From roughly 1955 to 1975, this was by far the most popular storage technology—even today, the memory unit of a computer is sometimes referred to as core memory even though it has been decades since magnetic cores have been used.

Magnetic

The _____ was the first computing device to use the base-2 binary numbering system

Mark I

The ___ ___ ___ protocols determine how to arbitrate ownership of a shared communication line when multiple nodes want to send messages at the same time.

Medium Access Control

The ___ ___ ___ supports C# and is essentially a giant collection of tools for software development. It was designed so that traditional text-based applications, GUI applications, and web-based programs can all be built with equal ease. For example, it provides a whole library of classes for building GUIs with menus, buttons, text boxes, etc.

Microsoft .NET Framework

One approach to designing instruction sets is to make them as small and as simple as possible, with perhaps as few as 30-50 instructions. Machines with this sort of instruction set are called ____ machines. This processor may require more instructions to solve a problem (because the instructions are so simple), but this is compensated for by the fact that each instruction executes much faster so the overall running time is less.

RISC (Reduced Instruction Set Computers)

_______ is a type of random access memory into which information has been prerecorded during manufacture. This information cannot be modified or removed, only fetched. It is used to hold important system instructions and data in a place where a user cannot accidentally or intentionally overwrite them.

Read-only memory (ROM)

This type of attack relies on integral features of the Internet, such as the Domain Name System. Queries to DNS servers are short, but these servers respond by sending much larger amounts of data back to the source of the query.

Reflection and Amplification attack

_____ is a series of proprietary protocols developed by Netscape Communications (Netscape was an early web browser) in the mid-1990s.

SSL (Secure Sockets Layer)

_______ ______ = samples/second; _______ ______ = bits/sample)

Sampling rate; bit depth

____ notation can be represented as +/- M x B ** E, where M is Mantissa, B is exponent base and E is exponent.

Scientific

[Compiler phases] During ____, If the high-level language statement is structurally correct, then the compiler analyzes its meaning and generates the proper sequence of machine language instructions to carry out the intended actions.

Semantics analysis and code generation

______ search is the standard algorithm for searching an unordered list of values

Sequential

What are two examples of data cleanup algorithms? (e.g. algorithms that could be used to remove invalid values from a list)

Shuffle-left; Copy-Over

______ is a notation for signed numbers—that is, a + or − sign placed immediately to the left of the digits; +31 and −789 are examples

Sign/magnitude

Created in 2014, ____ is a language designed for building apps on the iOS and OS X operating systems

Swift

_____ software is a collection of computer programs that manage the resources of a computer and facilitates access to those resources

System

______ protocol, first defined in 1999, is based on SSL and is nearly identical to SSL but with a few technical improvements. The major difference is that TLS is nonproprietary and is a standard supported by the Internet Engineering Task Force (IETF), an open organization of individuals concerned with "the evolution of the Internet architecture and the smooth operation of the Internet."

TLS (Transport Layer Security)

_______ allows a client and a web server to agree on the encryption methods to be used, exchange the necessary security keys, and authenticate the identity of each party to the other.

TLS/SSL

What is widely considered the first "true" computer system?

The Analytical Engine

(T/F) Grid computing (aka large-scale parallellism) came from the realization that the multiple processors within a MIMD cluster do not have to be identical or belong to a single administrative organization.

True

(T/F) A Trojan horse (in the software world, as opposed to Greek mythology) is a computer program that does some legitimate computational task but also, unbeknownst to the user, contains code to perform the same kinds of malicious attacks as viruses and worms—corrupt or delete files, slow down the computer, and the like. It might also upload or download files, capture the user's address book to send out spam, hide a keystroke logger that captures the user's passwords and credit card numbers (and sends them to someone else), or even put the computer under someone else's remote control at some point in the future. A computer can become infected by a Trojan horse when the user downloads infected software. In fact, even visiting an infected website can, behind the scenes, download a Trojan horse (an attack called a drive-by exploit or drive-by download).

True

(T/F) A Turing Machine can: 1. accept input 2. store/retrive data in memory 3. take actions according to algorithmic instructions, and the choice of action to take may depend on the present state of the computing agent and on the input item presently being processed 4. can produce output

True

(T/F) A model: 1. Captures the essence—the important properties—of the real thing; 2. Probably differs in scale from the real thing; 3. Omits some of the details of the real thing; and 4. Lacks the full functionality of the real thing.

True

(T/F) A program written in a procedural language consists of sequences of statements that manipulate data items. The programmer's task is to devise the appropriate step-by-step sequence of "imperative commands"—instructions in the programming language—that, when carried out by the computer, accomplish the desired task.

True

(T/F) A pseudo-op (preceded in our notation by a period to indicate its type) does not generate a machine language instruction like other operation codes. Instead, it invokes a useful service of the assembler. One of these useful services is generating data in the proper binary representation for this system. There are typically assembly language pseudo-ops to generate integer, character, and (if the hardware supports it) real data values. In our sample language, we will limit ourselves to one data generation pseudo-op called .DATA that builds signed integers. This pseudo-op converts the signed decimal integer in the address field to the proper binary representation. For example, the pseudo-op FIVE: .DATA +5 tells the assembler to generate the binary representation for the signed integer +5, put it into memory, and make the label "FIVE" equivalent to the address of that cell. A second service provided by pseudo-ops is program construction. Pseudo-ops that mark the beginning (.BEGIN) and end (.END) of the assembly language program specify where to start and stop the translation process, and they do not generate any instructions or data.before our source program can be run, we must invoke two system software packages—an assembler and a loader.

True

(T/F) All .NET programs—in whatever language—are compiled into Microsoft Intermediate Language (MSIL) code.

True

(T/F) An algorithm must be composed entirely of primitives

True

(T/F) As we have seen, if an Θ(n**2) algorithm and an Θ(n) algorithm exist for the same task, then for large enough n, the Θ(n**2) algorithm does more work and takes longer to execute, regardless of the constant factors for peripheral work. This is the rationale for ignoring constant factors and concentrating on the basic order of magnitude of algorithms.

True

(T/F) Dr. William Shockley was the inventor (along with John Bardeen and Walter Brattain) of the transistor.

True

(T/F) Every Boolean expression can be represented pictorially as a circuit diagram, and every output value in a circuit diagram can be written as a Boolean expression.

True

(T/F) Examples of Broadband communications include - DSL - cable modem - Fiber optics - Ethernet

True

(T/F) Externally, computers do use decimal digits, sign/magnitude notation, and the 26-character alphabet. However, virtually every computer ever built stores data—numbers, letters, graphics, images, sound—internally using the binary numbering system.

True

(T/F) Fortran allows external libraries of well-written, efficient, and thoroughly tested code modules that are separately compiled and then drawn on by any program that wants to use their capabilities.

True

(T/F) Four phases of compilation are: 1) Lexical Analysis 2) Parsing 3) Semantics analysis and code generation Code optimization

True

(T/F) Garbage collection is handled automatically in C#.

True

(T/F) In the two's complement representation of signed integers, you can always represent one more negative number than positive (and always have an odd number of non-zero numbers). This is not as severe a problem as having two zeros, though, and two's complement is widely used for representing signed numbers inside a computer.

True

(T/F) Mass storage devices themselves come in two distinct forms: direct access storage devices (DASDs) and sequential access storage devices (SASDs).

True

(T/F) Misconceptions about computer science include: - Computer science is the study of computers - Computer science is the study of how to write computer programs - Computer science is the study of the uses and applications of computers and software

True

(T/F) Most large-scale parallel processors use an architecture called MIMD parallel processing (multiple instruction stream/multiple data stream), also called cluster computing. In MIMD parallelism, a computer system has multiple, independent processors each with its own primary memory unit, and every processor is capable of executing its own separate program in its own private memory at its own rate.

True

(T/F) One of the characteristics of random access memory is that the "memory access time" to carry out either a fetch or a store operation is the same for all 2**N addresses.

True

(T/F) One of the reasons binary is used in computers (aka "bistable devices") is because, as electrical devices age, they become unreliable, and they may drift, or change their energy state, over time.

True

(T/F) OpenSSL is a version of the SSL/TSL protocols that is used on millions of web servers from government agencies to Google, Facebook, Netflix, banking and financial sites, and Healthcare.gov. On April 1, 2014, a flaw (a "bug") was discovered in the OpenSSL software that allowed access to the memory of these vulnerable web servers. The flaw was due to a programmer error that allowed a program to read more of the data stored on a server than it was supposed to be able to access.

True

(T/F) Over 90 programming languages have been adapted to fit into the .NET Framework—for example, Ada, Fortran, COBOL, C++, C# (of course), and Visual Basic .NET. That means applications written in any of these languages have access to the tools provided within the .NET Framework and, because all of these languages compile to MSIL, applications can be written that mix and match modules in various languages.

True

(T/F) The 9 steps of the Software Development Life Cycle are: 1) Feasibility Study 2) Problem Specification 3) Program Design 4) Algorithm Selection or Development, and Analysis 5) Coding 6) Debugging 7) Testing, Verification, & Benchmarking 8) Documentation 9) Maintenance

True

(T/F) The ALU is made up of three parts: the registers, the interconnections between components, and the ALU circuitry. Together these components are called the data path.

True

(T/F) The Copy-Over algorithm is more time efficient, but less space efficient compared to the Shuffle-Left algorithm.

True

(T/F) The Turing machine's single primitive operation is to check its current state and the current input symbol being read, look for an instruction that tells what to do under these circumstances, and then carry out the three actions specified by that instruction. For example, one Turing machine instruction might say if (you are in state 1) and (you are reading symbol 0) then write symbol 1 onto the tape go into state 2 move right

True

(T/F) The improvement in binary search becomes even more apparent as the search list gets longer. For example, if n = 100,000, then in the worst case, sequential search requires 100,000 comparisons, whereas binary search requires 17 (because Θ(lg n) means that log(base 2) 65,536 = 216, and log(base 2) 131,072 = 217.

True

(T/F) The principle of locality, says that when the computer uses something, it will probably use it again very soon, and it will probably use the "neighbors" of this item very soon.

True

(T/F) The selection sort algorithm uses "largest so far" value, exchanging the current largest value at a given index for a value near the end of the list, until the entire list is ordered.

True

(T/F) The shuffle-left algorithm is space efficient because it only requires four memory locations to store the quantities n, legit, left, and right in addition to the memory required to store the list itself.

True

(T/F) The time it takes to fetch or store the contents of a single cell is the same for all cells in memory.

True

(T/F) There is no limit to the amount of memory available to the Turing machine. Any real computing agent has a limit on the memory available to it. Therefore, real computers may not be able to solve the same problems that a Turing machine could.

True

(T/F) To control whether memory does a fetch or a store operation, our memory unit needs one additional device called a fetch/store controller. This unit determines whether we put the contents of a memory cell into the MDR (a fetch operation) or put the contents of the MDR into a memory cell (a store operation).

True

(T/F) To make program maintenance as easy as possible, the algorithm the program uses should be easy to understand.

True

(T/F) Together, decoder and multiplexor circuits enable us to build computer systems that execute the correct instructions using the correct data values. For example, assume we have a computer that can carry out four different types of arithmetic operations—add, subtract, multiply, and divide. Furthermore, assume that these four instructions have code numbers 0, 1, 2, and 3, respectively. We could use a decoder circuit to ensure that the computer performs the correct instruction. We need a decoder circuit with two input lines. It receives as input the two-digit code number (in binary) of the instruction that we want to perform: 00 (add), 01 (subtract), 10 (multiply), or 11 (divide). The decoder interprets this value and sends out a signal on the correct output line. This signal is used to select the proper arithmetic circuit and cause it to perform the desired operation.

True

(T/F) Types of system software include: - User interface - Language services - Memory managers - Information managers - I/O systems - Scheduler - Utilities

True

(T/F) Unlike the light switch, a transistor is a solid-state device that has no mechanical or moving parts. The switching of a transistor from the OFF to the ON state, and vice versa, is done electronically rather than mechanically

True

(T/F) We carry that analogy further by saying that algorithms of order of magnitude lg n, Θ(lg n), are like various modes of flying. Changing the coefficients of lg n can mean that we go from a Piper Cub to an F-22 Raptor but flying, in any form, is still a fundamentally different—and much faster—mode of travel than walking or driving.

True

(T/F) When these four compilation phases are complete, we have a correct and efficient machine language translation of the original high-level language source program. In the final step, this machine language code, called the object program, is written to an object file. We have reached the stage labeled "Machine language program" and the resulting object program can be handled in exactly the fashion shown there. That is it can be loaded into memory and then executed by the processor to produce the desired result.

True

(T/F) XML (eXtensible Markup Language) is a newer markup language. It is a "metalanguage," that is, a markup language for markup languages. Using XML, the writer can create his or her own tags; an XML document is not about displaying information but about how to structure and interpret information to be displayed. An XML document usually also contains or refers to a schema that describes the data, and the body of the XML document can then be checked against the schema to be sure that it is a well-formed document. All modern browsers support mechanisms that translate XML documents into HTML documents for display. XML allows for flexible document interchange across the web; for example, in May 2003, the National Library of Medicine announced a "Tagset" for journal articles to provide a single format in which journal articles that originate from many different publishers and societies can be archived.

True

(T/F) the "pure" waterfall model of software development is seldom used in favor of a more flexible approach (agile software development) that is instead guided by the waterfall model.

True

____ representation means that we will use only one symbol, namely 1). In this representation, any unsigned whole number n is encoded by a sequence of n + 1 1s. Thus 0 = 1, 1 = 11, 2 = 111, 3 = 1111, etc. This would be done to avoid using 1s to represent 0, which the machine could not distinguish from blanks on the tape.

Unary

___ testing takes place on each module (subtask code) as it is completed. As these tested modules are combined to work together, _____ testing is done to see that the modules communicate the necessary data between and among themselves and that all modules work together smoothly. And if anything is changed on an already-tested module, ____ testing is done to be sure that this change hasn't introduced a new error into code that was previously correct. The goal of _____ testing is to design a special set of test cases, called a test suite, and run the program using this special test data (similar to "fuzzing" but with both valid and invalid input).

Unit, integration, regression empirical

The fetch, decode, and execute phase is also called the ___ ____ cycle. Fetch - During the fetch phase, the control unit gets the next instruction from memory and moves it into the IR. Decode - Decoding the instruction is simple because all that needs to be done is to send the op code portion of the IR to the instruction decoder, which determines its type. Execute - The specific actions that occur during the execution phase are different for each instruction.

Von Neumann

The structure and organization of virtually all modern computational devices are based on a single theoretical model called the ____ ____ architecture

Von Neumann

The inability of the sequential one-instruction-at-a-time Von Neumann model to handle today's large-scale problems is called the ____ ____ ____.

Von Neumann bottleneck

The______ field(s) are the memory addresses of the values on which this operation will work.

address

Finding a solution to a given problem is called ______, and it is the most challenging and creative part of the problem-solving process.

algorithm discovery

Computer science: the study of _________, including 1.Their formal and mathematical properties 2.Their hardware realizations 3.Their linguistic realizations 4.Their applications

algorithms

A grammar that allows the construction of two or more distinct parse trees for the same statement is said to be _____.

ambiguous

The study of the efficiency of algorithms is called the ____ __ ____.

analysis of algorithms

Java programs come in two flavors: ____ and ____.

applications; applets

roblems for which no known polynomial solution algorithm exists are sometimes approached via ______ algorithms.

approximation

The _____ is the subsystem that performs such mathematical and logical operations as addition, subtraction, and comparison for equality.

arithmetic/logic unit (ALU)

Before our source program can be run, we must invoke two system software packages—an ______ and a ______.

aseembler, loader

A digital subscriber line is often ______. This means it does not have the same transmission speed in the download direction (from the network to your computer) as in the upload direction (from your computer to the network).

asymmetric

In _____ encryption algorithm, also called a public key encryption algorithm, the key for encryption and the key for decryption are quite different, although related. This approach avoids the difficulty of secret key transmission, but it introduces a new problem: The relationship between the decryption key and the encryption key must be sufficiently complex that it is not possible to derive the decryption key from knowledge of the public encryption key.

asymmetric

The average case for number of comparisons performed in a sequential search is about ____, the worst case is ___, and the best case is ___.

average: n/2; worst: n; best: 1

Unlike AND and OR, which require two operands and are, therefore, called _____ operators (e.g. "True" AND "False"), NOT requires only one operand and is called a _____ operator (e.g. Not "True"), like the square root operation in arithmetic.

binary; unary

The two primary purposes of the first pass of an assembler are (1) to ____ all symbolic names to address values and (2) to enter those bindings into the ____ ____.

bind; symbol table

The _____ _____ is the number of bits used to encode each sample (e.g. 8 bits, 16 bits)

bit depth

In a _____ cipher, a group of plaintext letters gets encoded into a group of ciphertext, but not by substituting one character at a time for each letter. Each plaintext character in the group contributes to more than one ciphertext character, and each ciphertext character is the result of more than one plaintext letter.

block

A path for electrical signals is termed a ____.

bus

A compiler for Java or C# translates the source code program into very low-level code (called ____ in Java and Microsoft Intermediate Language in C#).

bytecode

The Java programmer, however, compiles source code just once, into low-level code called Java _____, which is then distributed to the various users. This final translation/execution of bytecode is done by software called a ___ ____ ____, which must be present on each user machine.

bytecode; Java bytecode interpreter

The generic term cell has become relatively obsolete, and it is more common now to refer to memory ____ as the basic unit.

bytes

In memory, the ____ is the minimum unit of access.

cell

Memory is divided into fixed-size units called _____, and each cell is associated with a unique identifier called an ______

cells, address

The _____ is mounted on a circuit board, which interconnects all the different chips (e.g., memory, processor, communications) needed to run a computer system.

chip

A ______ is a collection of logic gates that transforms a set of binary inputs into a set of binary outputs and in which the values of the outputs depend only on the current values of the inputs.

circuit (aka "combinational circuit")

The concept of a single large collection of accessible resources whose location is not known to the user is often referred to as _____ computing

cloud

A _____-____-_____ _____ tests two unsigned binary numbers for exact equality. The circuit produces the value 1 (true) if the two numbers are equal and the value 0 (false) if they are not.

compare-for-equality circuit (or CE circuit)

Newer languages such as Java and C# were developed specifically to run on a variety of hardware platforms without the need for a separate _____ for each type of machine.

compiler

Compression schemes are usually evaluated by their ____ ____, which measures how much they reduce the storage requirements of the data

compression ratio

In computer science terminology, the machine, robot, person, or thing carrying out the steps of the algorithm is called a ______ ______.

computing agent

These are the "question-asking" instructions of an algorithm. They ask a question, and the next operation is then selected on the basis of the answer to that question.

conditional operations

________ operations allow us to alter the normal sequential flow of control in an algorithm

control

It is the task of the ____ unit to (1) ____ from memory the next instruction to be executed, (2) ____ it—that is, determine what is to be done, and (3) ____ it by issuing the appropriate command to the ALU, memory, or I/O controllers.

control 1) fetch 2) decode 3) execute

A _____ is a small, magnetizable, iron oxide-coated "doughnut," about 1/50 of an inch in inner diameter, with wires strung through its center hole. The two states used to represent the binary values 0 and 1 are based on the _______ of the magnetic field of the core.

core; direction

First and foremost, we expect ______ from our algorithms

correctness

Frequently, data warehouse sites focus on a single specialized topic, such as geopolitical data, stock price trends, real estate records, movie trivia, or information on case law and legal precedents. These single-subject data warehouses are often called ____ ____.

data marts

Many network sites now provide a service called a ___ ____. These nodes integrate massive amounts of information from a number of disparate sources and allow it to be electronically searched for specific facts or documents.

data warehouse

What are the two basic approaches for an operating system to handle deadlock conditions?

deadlock prevention & deadlock recovery

A ______ operates in the opposite way from a multiplexor. It has _____ input lines numbered 0, 1, 2, ..., N − 1 and _____ output lines numbered 0, 1, 2, 3, ... , 2N − 1.

decoder; N; 2**N Each of the N input lines of the decoder can be set to either a 0 or a 1, and when these N values are interpreted as a single binary number, they can represent all integer values from 0 to 2**N − 1. It is the job of the decoder to determine the value represented on its N input lines and then send a signal (i.e., a 1) on the single output line that has that identification number. All other output lines are set to 0. For example, if our decoder has three input lines, it has eight (2**3) output lines numbered 0 to 7. These three input lines can represent all binary values from 000 to 111, which is from 0 to 7 in decimal notation. If, for example, the binary values on the three input lines are 101, which is a 5, then a signal (a binary 1) would be sent out by the decoder on output line 5. All other output lines would contain a 0.

Whereas a _____ circuit can be used to select the correct instruction, a _______ can help ensure that the computer executes this instruction using the correct data. For example, suppose our computer has four special registers called R0, R1, R2, and R3. Assume that we have built a circuit called test-if-zero that can test whether any of these four registers contains the value 0. We can use a multiplexor circuit to select the register that we want to send to the test-if-zero circuit. If we want to test if register R2 is 0, we simply put the binary value 10 (2 in decimal notation) on the two selector lines. This selects register R2, and only its value passes through the multiplexor and is sent to the test circuit.

decoder; multiplexor

The ____ generation, 1985-?, is where we are today. It includes - Massively parallel processors capable of quadrillions (10 15) of computations per second - Smartphones, tablets, and other types of handheld wireless devices - High-resolution graphics for imaging, animation, movie making, video games, and virtual reality - Powerful multimedia user interfaces incorporating sound, voice recognition, touch, photography, video, and television - Integrated digital devices incorporating data, television, telephone, camera, fax, the Internet, and the web - High-speed wireless communications - Massive storage devices capable of holding 100 petabytes (1017) of data - Ubiquitous computing, in which miniature computers are embedded into cars, cameras, kitchen appliances, home heating systems, clothing, and even our bodies

fifth

One way to compare performance among different makes of computers is to give the number of arithmetic operations, such as additions or subtractions of real numbers, that each one can do in 1 second. These operations are called _____ _____ _____, and computers are often compared in terms of the ____ per second they can crank out.

floating-point operations; flops

The ______ generation, roughly 1975-1985, saw the appearance of the first microcomputer. Integrated circuit technology had advanced to the point that a complete computer system could be contained on a single circuit board that you could hold in your hand. The desk-sized machine of the early 1970s now became a desktop machine, shrinking to the size of a typewriter. The ________, the world's first microcomputer, appeared in January 1975 and used ______ programming language.

fourth; Altair 8800; BASIC

Within the Data Link layer, the ____ addresses the need to identify the start and the end of a message.

framing

In a ____ programming language, certain functions, called primitive functions or just primitives, are defined as part of the language. Other functions can be defined and named by the programmer. It gets away from explicitly instructing the computer about the details of each step to be performed; instead, it specifies various transformations of data and then allows combinations of transformations to be performed.

functional

A ____ is an electronic device that operates on a collection of binary inputs to produce a binary output. That is, it transforms a set of (0,1) input values into a single (0,1) output value according to a specific transformation rule.

gate (e.g. OR, AND, NOT gates)

In ____ optimization the compiler looks at large segments of the program, not just small pieces, to determine how to improve performance.

global

The collection of all statements that can be successfully parsed is called the language defined by a ____.

grammar

A collection of nodes and connecting edges is called a ____.

graph

In ____ optimization, the compiler looks at a very small block of instructions, typically from one to five. It tries to determine how it can improve the efficiency of this local code block without regard for what instructions come before or after.

local

Fixed length and Variable-length code sets are examples of _______ compression.

lossless

Assembly languages are more properly called ___-level programming languages, which means they are closely related to the machine language. Each symbolic assembly language instruction is translated into exactly one ____ machine language instruction.

low; binary

What is the functional unit of a computer that stores and retrieves instructions and data.

memory

The Von Neumann architecture is based on the following three characteristics: - Four major subsystems called ____, ____, ____, ____. - The _____ program concept, in which the instructions to be executed by the computer are represented as binary values and stored in memory. - The ______ execution of instructions, in which one instruction at a time is fetched from memory and passed to the control unit, where it is decoded and executed.

memory input/output the arithmetic/logic unit (ALU) the control unit stored sequential

The memory unit contains two special registers whose purpose is to hold the two operands (value & address). The ____ ____ ____ holds the address of the cell to be accessed. Because this must be capable of holding any address, it must be at least N bits wide, where 2N is the address space of the computer.

memory address register (MAR)

The memory access method whereby the original contents of the memory cell that was accessed are unchanged describes what?

nondestructive fetch

The ___ ___ ___ contains the data value being fetched or stored. We might be tempted to say that the MDR should be W bits wide, where W is the cell size. However, as mentioned earlier, on most computers the cell size is only 8 bits, and most data values occupy multiple cells. Thus the size of the MDR is usually a multiple of 8. Typical values of MDR width are 32 and 64 bits, which would allow us to fetch, in a single step, either an integer or a real value, respectively.

memory data register (MDR) For example, integers are 4 bytes so they take up 32 bits

_____ _____ are used to implement the fetch and store operations. Both operations require two operands: the address of the cell being accessed and the value, either the value stored by the store operation or the value returned by the fetch operation.

memory registers

The three symbols <, >, and ::= used as part of BNF rules are termed ____.

metasymbols

The ability to deliver data to users regardless of their physical location is called _____ computing.

mobile

What are the two major types of control circuits?

multiplexors & decoders

The Von Neumann architecture is capable of executing programs written in machine language. This computer has all the hardware needed to solve important real-world problems, but it has no "support tools" to make that problem- solving task easy. This type of computer is informally known as a ______ machine: hardware bereft of any helpful user-oriented features.

naked

The ____ field is a unique unsigned integer value assigned to each machine language operation recognized by the hardware. For example, 0 could be an ADD, 1 could be a COMPARE, and so on.

operation code (aka op code)

Anything that varies as a constant times n (and whose graph follows the basic shape of n) is said to be of ____ __ ______ n, written Θ(n) and pronounced "order n."

order of magnitude

The branch of computer science that studies computers in terms of their major functional units is computer _________.

organization

One of the principles of agile software development, ___ programming, has even made its way into some college computer science classes. Pair programming involves two programmers (students) at a single workstation. At any given point in time, one is writing code and the other is actively observing. The observer watches each line of code for possible errors but also is thinking about the overall approach, what problems may lie ahead, and possibly spotting improvements that could be made.

pair

The field of _____ algorithms, the study of techniques that make efficient use of parallel architectures, is an important branch of research in computer science.

parallell

The following is a fundamental rule of ____: If, by repeated applications of the rules of the grammar, a parser can convert the complete sequence of input tokens into the goal symbol,then that sequence of tokens is a syntactically valid statement of the language. If it cannot convert the input tokens into the goal symbol, then this is not a syntactically valid statement of the language.

parsing

[Compiler phases] During ____, the sequence of tokens formed by the scanner is checked to see whether it is syntactically correct according to the rules of the programming language.

parsing

The process of searching for a special pattern of symbols within a larger collection of information is called _____ _____.

pattern matching

The Forward March is a _____ _____ algorithm uses character comparison as a unit of work and has Θ(n) as best case and Θ(mxn) as worst case.

pattern matching;

An algorithm of order lg n does less work as n increases than does an algorithm of order n, which in turn does less work than one of order n**2, which in turn does less work than 2**n. The work done by any of these algorithms is no worse than a constant multiple of n2, which is a polynomial in n. Therefore, these algorithms are ____ _____ in the amount of work they do as n increases (they perform roughly the same amount of work, however their time efficiency varies drastically)

polynomially bounded

The _________ operations of our computing agent are the instructions that we assume our computing agent understands and is capable of executing without further explanation or simplification (set the variable to x value).

primitive

When an operation is unambiguous, we call it a ________ operation , or simply a primitive of the computing agent carrying out the algorithm.

primitive

The ____ ____ ____expresses the final and complete problem specification and guides the software developers in all subsequent decisions.

problem specification document

Ada, C++, C#, Java, and Python are _____ languages.

procedural & high-level

Most of today's popular high-level programming languages fall into the same philosophical family; they are ______ languages (also called _____ languages).

procedural; imperative

Symbolic labels have what two advantages over using numeric addresses?

program clarity & maintainability

The _____ _____ holds the address of the next instruction to be executed. To get that instruction, the ____ ____ sends the contents of the PC to the Memory Address Register (MAR) in memory and executes the Fetch(address) operation The ____ ____ holds a copy of the instruction just fetched from memory. To determine what instruction is in the instruction register (IR), the op code portion of the IR must be decoded using an _____ _____

program counter (PC) control unit instruction register (IR) instruction decoder

It is the task of the control unit to fetch and execute instructions. To accomplish this task, the control unit relies on two special registers called the _____ _____ and the _____ _____ and on an ____ ____ ____.

program counter (PC), instruction register (IR), instruction decoder circuit.

Using mathematical logic, _____ ____ can be used to prove that if the input data to a program satisfies certain conditions, then, after the program has been run on this data, the output data satisfies certain other conditions. This process is similar to a mathematical proof whereby we can validate that, for instance, condition B always follows from condition A.

program verification

Many IDEs enable programmers to quickly create sample graphical user interfaces (GUIs) called ____ that can be shown to prospective users in the initial stages of software development.

prototypes

The final advantage of assembly language programming is data generation. Unlike machine language where numbers and operations have to be expresses in binary, in assembly language the programmer can ask the assembler to do them by using a special type of assembly language op code called a ______-___.

pseudo-op

A simple compression technique that can be used on almost any form of data is _____-_____ encoding. This method replaces a sequence of identical values v1, v2, ..., vn by a pair of values (v, n), which indicates that the value v is replicated n times. If both v and n require 1 byte of storage, then we have reduced the total number of bytes required to store this sequence from n down to 2.

run-length

____ is done by measuring and storing a signal's amplitude at fixed time intervals.

sampling

What measures how many times per second we sample the amplitude of the sound wave?

sampling rate

he accuracy with which the original sound can be reproduced is dependent on what two key parameters?

sampling rate & bit depth

The ______ _____ algorithm "grows" a sorted subsection of the list from the back to the front.

selection sort

____ record is a data structure that stores information about a nonterminal, such as the actual name of the object that it represents and its data type.

semantic

Transistors are constructed from special materials called ________, such as silicon and gallium arsenide.

semiconductors

A _______ access storage device does not require that all units of data be identifiable via unique addresses. To find any given data item, we must search all data sequentially, repeatedly asking the question, "Is this what I'm looking for?" If not, we move on to the next unit of data and ask the question again.

sequential

A purely __________ algorithm of the type shown in Figure 2.3 is sometimes termed a straight-line algorithm because it executes its instructions in a straight line from top to bottom and then stops.

sequential

There are circuits, called ________ circuits, which contain feedback loops in which the output of a gate is fed back as input to an earlier gate.

sequential

What is a sequential instruction that carries out a single well-defined task. When that task is finished, the algorithm moves on to the next operation. Sequential operations are usually expressed as simple declarative sentences.

sequential operation

____ ____ is an integrated collection of machines providing services over a network that would not be possible using only a single device.

server farm

Binary digits can represent not only whole numbers but also other forms of data, including signed integers, decimal numbers, and characters. For example, to represent signed integers, we can use the leftmost bit of a number to represent the sign, with 0 meaning positive (+) and 1 meaning negative (−). The remaining bits are used to represent the magnitude of the value. This form of signed integer representation is termed _______.

sign/magnitude notation

High-level programming languages are often called ____-generation languages, reflecting the progression from machine language (first- generation) to assembly language (second generation) to high-level language.

third

The ______ generation of computing, which lasted from about 1965 to 1975. This was the era of the integrated circuit. Rather than using discrete electronic components, integrated circuits with transistors, resistors, and capacitors were photographically etched onto a piece of silicon, which further reduced the size and cost of computers. From building-sized to room-sized, computers now became desk-sized, and this period saw the birth of the first minicomputer—the _____ manufactured by the Digital Equipment Corp.

third; PDP-1

Viewing an operation at a high level of abstraction and fleshing out the details of its implementation at a later time constitute an important computer science problem-solving strategy called ____-____ _____.

top-down design

A ______ is much like the light switch mentioned earlier. It can be in an OFF state, which does not allow electricity to flow, or in an ON state, in which electricity can pass unimpeded.

transistor

Today, the elementary building block for all modern computer systems is no longer the core but the ______.

transistor


Conjuntos de estudio relacionados

Untimed Questions 5: Conditioning and Learning

View Set

History of the Recording Industry FINAL

View Set

Introduction to Nursing--Unit 4 Exam Healthcare Delivery Financing

View Set

Chapter 4: Tort Law - Negligence

View Set

Not for Profit Accounting Final Exam

View Set