CPSC 100: Principles of Computer Science
Spring 1997
Week 5 Reading Guide

This is the fifth of the weekly reading guides for Computer Science 100.

Week 5 (April 28 to May 2)

The reading for this week is the remainder of Chapter 5. (Section 5.2 was already assigned last week.) Section 5.1 is a brief history of computing machines, while section 5.3 is a very brief look at ethical and societal implications of computers. The quiz next Monday will cover all of Chapter 5. This Friday's lab is not related to the reading; instead, it will begin the study of computer programming.

Many people believe that computers represent a truly revolutionary technology, and that because of them, society is moving into an Information Age in which computers and information processing will play a defining role. They claim that the change will be as great as the change brought about by the Industrial Revolution, and they say that the result will be a post-industrial society. This may or may not be an exaggeration, but no one doubts that computers play a significant role in the modern world, and that role continues to grow. So it is important to look at the ethical and social implications of computers. Some of the issues involved include how computers can be used to infringe on people's privacy rights, how they can influence the work place (such as by de-skilling the work force, and by eliminating some jobs and creating others), and how they can affect people's conception of themselves. But this discussion only scratches the surface.

As for the history of computing, the first time that the idea of a truly general-purpose, programmable computing machine shows up is in the work of Charles Babbage in the 1830s. He designed an "Analytical Engine" that would have been a true computer if it had ever been built. The Analytical Engine would have been a truly mechanical device, made of gears and rods and powered by a steam engine. However, Babbage's work was largely forgotten, and it was not until the 1940s, during World War II, that the first working computers were created. Some of the earliest computing machines used electrical devices called relays, but people soon switched to vacuum tubes, which are electronic switches that have no moving parts (except the electrons). They are about 1000 times faster than relays.

Some early computing devices included Colossus and the ENIAC. Colossus was built in Great Britain as part of a wartime effort to decode German messages that were encoded by a machine called the Enigma machine. The success of this effort is given a lot of credit for the defeat of Germany in the war. (Perhaps the major contributor to the code-breaking efforts was Alan Turing, who is also associated with the theoretical foundations of computing and the Church-Turing thesis.) The ENIAC was built at the University of Pennsylvania by Eckert and Mauchly, but it did not become operational until after the war, in February 1946. It was a general-purpose computer, but it had to be physically modified to change its program. Eckert and Mauchly, together with John von Neumann, are also responsible for the idea of storing a program as information in the computer's memory. The modern computer -- a general-purpose, electronic, stored-program machine, with a CPU that executes programs stored in memory -- is sometimes referred to as a von Neumann machine.

Of course, modern computers use transistors rather than vacuum tubes. Transistors were invented in the 1940s but were not used in computers until the 50s. Transistors are much faster and more reliable than vacuum tubes. Integrated circuits, which can contain many transistors on a single "chip" of silicon were introduced in the 60s. The number of transistors that can be fabricated on a single chip has grown continually with time. In 1971, the microprocessor -- an integrated circuit that is a complete CPU -- was invented. Chips used in modern computers can have millions of transistors and can operate at speed of up to 500,000,000 clock-ticks per second.

Week 5 Concept List: