CS 185C: The History of Computing
August 24 Class Meeting
Department of Computer Science
San Jose State University
Fall 2011
Instructor: Ron Mak
www.cs.sjsu.edu/~mak
Goals of the Course

Work on projects relating to computing history.




Attend talks by famous computer scientists.


1- or 2-student project teams.
Work with computing pioneers and industry luminaries.
Learn from the past in order to improve on
the present and the future.
Be inspired by their experiences.
Publish on the IEEE Global History Network website.


Expose your research to worldwide experts
for advice and guidance.
Link to your IEEE project report from your resumes.
SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
2
Course Notes

Class website




Required textbook:
A History of Modern Computing, 2nd edition



http://www.cs.sjsu.edu/~mak/CS185C/
Green sheet
Lecture notes and handouts
Provides good historical context.
Guest lectures will not be in chronological order.
Recommended textbook:
Writing History: A Guide for Students, 3rd edition
SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
3
Procedures

Most of the guest lectures in the Engineering Auditorium
ENGR 189 will be on Wednesdays.

Turn in a short essay (3-4 paragraphs, at most 1 page)
discussing your personal opinions of the talk





Mondays in class



What did you think of the speaker?
What insights did you get from the talk?
How can you apply what you learned in your work today?
etc.
Discuss the speakers and their topics.
Oral status reports of your projects.
Participating in class and attending the talks are critical!
SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
4
Projects

Each team works throughout the semester on a
project related to computing history.

Project depends on students’ interest (with instructor consent).

Select and connect with suitable advisors.

Research primary (original) sources.





Interview the original designers and developers.
Read books, articles, and websites written by the original
designers and developers.
Research historic artifacts in the archives of the
Computer History Museum.
etc.
Reference secondary sources.

Books, articles, websites, etc.
SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
5
Some Project Ideas





Restore a historic hardware or software artifact.
Create a software simulation of a legendary computer
architecture.
Study the evolution of a specific hardware or software
technology, including key decision points, controversies,
politics, etc.
Chronicle the early history and legacy of a pioneering
computing company or organization such as Control
Data Corporation, Burroughs Corporation, Wang
Laboratories, Digital Equipment Corporation, Zilog,
Xerox PARC, and others.
Investigate past programming languages and
demonstrate their influences on today's languages and
programming paradigms.
SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
6
More Project Ideas





Trace the advancement of business or scientific data
processing applications over the decades as application
requirements and computing technologies evolved.
Study the impact of computing on society from the
punched-card culture to the Web and social networking.
Collect, analyze, categorize, and index original
software, documentation, and other artifacts related to a
particular technology.
Interview industry pioneers and videotape and record
their oral histories.
... etc.
SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
7
Publish on the IEEE Website

Each project team posts to the
IEEE Global History Network website.


http://www.ieeeghn.org/wiki/index.php/Special:Home
Each student will get an account




Post drafts, blogs, final reports, etc.
Get early exposure to experts worldwide


Edit only your project’s wiki
Read everybody else’s wiki
Receive comments, criticisms, advice, research guidance
You will be able to link to your project report.


Add to your list of published works.
The IEEE (Institute for Electrical and Electronics Engineers)
is a well-known and highly respected professional organization
with over 400,000 members worldwide in over 160 countries.
SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
8
Writing Center

San Jose State University Writing Center



http://www.sjsu.edu/writingcenter/
One-on-one tutoring sessions
to improve your writing.
Highly recommended if you’re unsure
about the quality of your writing.

Whatever you post to the IEEE website
will be seen worldwide!
_
SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
9
Individual Student’s Overall Class Grade

33% attend talks, write weekly essays [individual]
33% quality of your research [team]
34% quality of your final deliverable [team]

Quality of your research






What were your primary and secondary resources?
Whom did you interview? What questions did you ask?
How well did you solicit and respond to criticism and advice?
etc.


`
Final individual class letter grade will be
based on the class curve.
SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
10
TAKE ROLL!
SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
11
Unofficial Field Trip

Computer History Museum in Mt. View

http://www.computerhistory.org/

Saturday, August 27 at 10:30

Experience a fully restored IBM 1401 mainframe
computer system from the early 1960s in operation.



General info: http://en.wikipedia.org/wiki/IBM_1401
Restoration: http://edthelen.org/1401Project/1401RestorationPage.html
See a life-size working model of Charles Babbage’s
Difference Engine in operation, a hand-cranked
mechanical computer designed in the early 1800s.
SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
12
Unofficial Field Trip, cont’d

IBM 1401 computer system, fully restored and operational


A small transistor-based mainframe computer.
Extremely popular with small businesses in the late 1950s
through the mid 1960s




Maximum of 16K bytes of memory.
800 card/minute card reader (wire brushes).
600 line/minute line printer (impact).
6 magnetic tape drives, no disk drives.
SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
13
Unofficial Field Trip, cont’d

Babbage Difference Engine,
fully operational



Hand-cranked mechanical
computer.
Computed polynomial
functions.
Designed by Charles
Babbage in the early to mid
1800s.


Arguably the world’s first
computer scientist, lived
1791-1871.
He wasn’t able to build it
because he lost his funding.

http://www.computerhistory.org/babbage/
SJSU Dept. of Computer Science
Fall 2011: August 24
His plans survived and this
working model was built.

CS 185C: This History of Computing
© R. Mak
Includes a working printer!
14
Unofficial Field Trip, cont’d

The new Revolution exhibit is now open!



Walk through a timeline of the
First 2000 Years of Computing History.
Historic computer systems, data processing equipment,
and other artifacts.
Small theatre presentations.
Hollerith
Census
Machine
SJSU Dept. of Computer Science
Fall 2011: August 24
Atanasoff-Berry
Computer
CS 185C: This History of Computing
© R. Mak
15
Unofficial Field Trip, cont’d
Study the exhibits.
Think of project ideas.
SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
16
What was the IBM 1401?
A “small scale” computer system developed by IBM in the late 1950s.
1402 Card Read Punch
SJSU Dept. of Computer Science
Fall 2011: August 24
1407 Console
1401 CPU
729 Tape Drive
CS 185C: This History of Computing
© R. Mak
1403 Line Printer
17
What was Computing Like Before the 1401?

Business data processing involved applications
that manipulated data records:



Inventory
Billing and receivables
Payroll
SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
18
What was Computing Like Before the 1401?

Data was stored in
punched cards called
“IBM cards” or
“Hollerith cards”

SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
Named after
Herman Hollerith.

80 columns per card,
one character per
column.

Up to 12 punched holes
per column.

Alphanumeric data,
often grouped
into fields.
19
Punched Cards


SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
Punched cards used
the Hollerith code.

Rows 0-9 were
numeric punches

The topmost row
was row 12 and the
second row was 11.

Rows 12, 11, and 0
were zone punches.
Examples:
Char
Punch
3
3
A
12-1
M
11-4
S
0-2
$
11-3-8
20
What was Computing Like Before the 1401?

A data processing application involved
passing decks of punched cards through
electromechanical “unit record” machines.

Repetitive sort, calculate, collate,
and tabulate operations ...

... were programmed with hand-wired
plugboard control panels.
SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
21
Plugboard Control Panel
IBM 407 Accounting Machine (1949)
SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
22
Plugboard Control Panel
SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
23
Programming a Plugboard

“Programming”
was hand-wiring
plugboards.
“Hmm, should I pass this parameter
by value or by reference?”
SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
24
Programming a Plugboard

Plugboard wiring
diagram

SJSU Dept. of Computer Science
Fall 2011: August 24
It doesn’t look too
complicated, does it?
CS 185C: This History of Computing
© R. Mak
25
Data Processing

Data processing
was all about
punched cards.

My school compiler project:


SJSU Dept. of Computer Science
Fall 2011: August 24
3½ boxes of punched cards
Each box = 2000 cards, 10 lbs.
CS 185C: This History of Computing
© R. Mak
26
Data Processing
SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
27
Data Processing

Cards were punched
manually at a
keypunch machine.

SJSU Dept. of Computer Science
Fall 2011: August 24
Or they were punched
automatically by
unit-record equipment
under program control.
CS 185C: This History of Computing
© R. Mak
28
Data Processing

Cards were
re-keyed on a
verifier to ensure
accuracy.


SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
Good cards
were notched at
the top right
edge.
Bad cards were
notched at the
top edge above
each erroneous
column.
29
Data Processing

A sorter sorted
cards one
column at a time.


SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
You had to run
decks of cards
multiple times
through a sorter.
Accounting
machines
performed
arithmetic on
card fields and
printed reports.
30
Data Processing
SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak

Reproducers
made copies of
card decks.

Tabulators were
accounting
machines: simple
arithmetic plus
printing.

Interpreters read
cards and printed
information on
the cards.
31
Data Processing

Gang punching: Automatically punch multiple cards
from the contents of a single card.
SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
32
Data Processing

SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
A collator
compared and
merged decks of
punched cards.
33
Running a Data Processing Application ...

... meant passing decks of cards through a
sequence of unit-record machines.

Each machine was programmed via its plugboard
to perform its task for the application.

Each machine had little or no memory.

The punched cards stored the data records

The data records moved as the cards moved.
An entire work culture evolved around punched cards!
SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
34
How did the IBM 1401 change all that?
SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
35
IBM 1401 Innovations

One of IBM’s first all-transistor computers.

Earlier machines used vacuum tubes.

Used magnetic core memory instead of a
plugboard.

A new instruction set.

An inexpensive stored-program computer.
SJSU Dept. of Computer Science
Fall 2011: August 24
CS 185C: This History of Computing
© R. Mak
36
Descargar

CS 153: Concepts of Compiler Design