CSCI 101: Intro to Computer Science
Solutions to Assignment 1
- (30 points)
Both Atanasoff and Zuse were working on developing machines similar in
purpose at about the same time.
- What similarities did these two machines have?
- What differences?
- What concepts from each of these machines are also evident in the modern day computer?
Solution
- Similarities:
-
Both Atanasoff's and Zuse's machines relied on electricity as an energy source and electrical signals to represent information.
Both were being constructed with the idea that they could perform mathematical calculations more quickly than a human computer.
- Differences:
Atanasoff's ABC was a single-purpose machine (linear mathematical calculation only); Zuse's was to be a general-purpose machine that would perform tasks under control of programmed instructions that could be changed without reconfiguring the hardware.
Atanasoff's machine used vacuum tubes to control signals; Zuse's initially used electromechanical relays.
- Concepts:
Modern computers still use binary arithmetic and electrical signals to represent information.
Modern computers are general-purpose machines that operate under control of various programmed instructions that can be changed without altering the hardware.
- (40 points)
To a scientist or an engineer, there are important differences between
mechanical, electro-mechanical, and electrical devices.
The Internet Resources of Week 1
(in particular, check The Machine that Changed
the World document) describe
mechanical, electro-mechanical, and electronic computers. It also describe
how
computers that could store their programs in memory were a significant
advance over computers that had to be essentially rewired in order to be
reprogrammed.
- Among the following computer pioneers, whose machines were mechanical, electro-mechanical, and electrical?
- Whose computers supported stored programs?
- Give some advantages or disadvantages of these machines versus
modern day computers.
- Babbage
- Zuse
- Atanasoff
Solution
-
- Mechanical:
- Babbage's Difference and Analytical Engines
- Electro-mechanical:
- Zuse's used electric relays, mechanical switches actuated by electricity
- Electrical:
- Atanasoff's ABC used vacuum tubes
-
In the sense of a stored program as proposed by John von Neumann, none of the
above machines supported a stored program. However,
Charles Babbage's Difference Engine did not support stored programs, but his
Analytical Engine which he never completed would have supported programs that
could be changed without changing hardware.
Konrad Zuse's machines were designed to support programs that could be changed without changing hardware from the beginning.
John Atanasoff's ABC was designed to be a dedicated machine that did not support stored programs but was only designed to find solutions to systems of linear equations.
-
Babbage's machines had the disadvantage of being completely mechanical, thus
slower and and subject to a greater degree of wear and eventual breakdown,
not to mention the difficulty in machining parts with enough precision. Also
the method of storing the programs on punch cards was very cumbersome, not
only in terms of volume but also in terms of keeping the cards in the correct
order.
Zuse's machines had the disadvantage of slower electric relays rather than faster vacuum tubes. The relays were, however, very reliable and lasted longer than the vacuum tubes. The program storage on discarded movie film was perhaps better than Babbage's punch cards because keeping instructions in the right sequence was easier, but wielding heavy rolls of film to change programs is unthinkable compared to the ease of program storage on modern computers.
Atanasoff's ABC machine, while using vacuum tubes that are much faster than electrical relays also had the problem of vacuum tubes failing frequently as well as requiring large amounts of power to keep them operating. The power consumption, failure rate and heat generated are significant disadvantages in comparison to modern computers. The ABC was also a single-purpose machine, a disadvantage when compared to the flexible use of a modern computer.
Advantages of modern computers over the early computers is their size. Even a modern desktop computer takes up less space and is more portable than any of the early machines. The flexibility of uses of a modern computer, i.e., graphic design, communications, word processing, entertainment, data storage and retrieval, are far greater for modern computers.
- (30 points)
Describe the important contributions of Charles Babbage to computer
science described in the textbook, the History of Mathematics archive, and
The Machine that Changed
the World document.
Solution
Charles Babbage contributed to modern computer science in that he was the first to have an idea for a general purpose, programmable computer, that is, a machine that would perform logical calculations by carrying out a series of mechanically prescribed functions. Thereby, his machine would manipulate and produce information. This was a shift in thought about the use of machines. Up to this point, machines (other than perhaps the abacus) had been primarily used to produce and manipulate physical objects.His design for the Analytical Engine had the same broad outline of design as a modern computer, with five components: input section, central processor(mill) that performed arithmetic and logical operations as dictated by a program of instructions(control), a memory component(store) to store information and an output section to reveal the results of the operations to the user.
Babbage was an inspiration to Augusta Ada Byron, Countess of Lovelace, who is credited with being the first computer programmer.