CPSC 100, Fall 1995, Quiz #4

This is Quiz #4 from CPSC 100: Principles of Computer Science, Fall 1995. The answers given would receive full credit, but in many cases, there are variations or even completely different answers that would also receive full credit. The "Notes" are meant to clarify the answer or to provide some interesting extra information.

Question 1: What was the "Analytical Engine," and what was its role in the history of computing?

Answer: The Analytical Engine was a computer designed by Charles Babbage in the 1800s. It was never built, but it was the first programmable, general-purpose computer ever conceived.

Note: Some people would say that the Analytical Engine played no role at all in the history of computing! They would say that it was forgotten after Babbage's death and not rediscovered until after the first working computers had already been designed. But it is probably the case that the Engine did at least contribute to the general acceptability of the notion of mechanical computation.

Question 2: In th 1940s, the first electronic, general purpose, stored-program computers were developed. What does it mean to say that these were "stored-program" computers? What is the alternative to a stored program?

Answer: A stored-program computer is one that executes a program stored in its memory. This means that the computer can be programmed to perform a new task simply by loading a new program into its memory. One alternative would be to physically modify the machine each time it needs to be reprogrammed, as was done with the ENIAC.

Note: Curiously, the importance of the stored program concept is not that the program can be "saved" for later use, but that it can be easily thrown away at any time and replaced. (This is just the opposit of the answers that many people gave to this question.)

Question 3: What is meant by an interrupt in the context of a computer system? How are interrupts similar to subroutines and how are they different?

Answer: An interrupt is a physical signal on a wire connected to the CPU that causes the CPU to interrupt whatever it is doing to go off and execute an "interrupt handler" which takes care of the condition that caused the interrupt signal. This is similar to subroutines in that the computer executes a set of instructions designed to perform some specific task, but it differs in that a subroutine is part of the planned flow of a program while an interrupt can occur "asynchronously" (that is, at any time, independent of what the computer happens to be doing at the time).

Question 4: What is meant by an operating system, and why is an operating system necessary?

Answer: A computer system is made up of many different hardware components. The operating system is the software that is necessary to coordinate and control all these components and to allow communication between the computer and the user. Without the operating system, the computer is just a pile of metal, plastic, and silicon.

Question 5: When discussing the social impact of computers, one major area of concern is "privacy issues." Explain what this term refers to in the context of computers and computing.

Answer: Tremendous amounts of data about individuals are collected by government, businesses and organizations and stored in computer. Although there are some legal controls over this data, much of it is avaialable to anyone who wants to pay for it---without any notification to the people whom the data is about.

[by David Eck]