CS 185C: The History of Computing

capybarabowwowΛογισμικό & κατασκευή λογ/κού

30 Οκτ 2013 (πριν από 4 χρόνια και 13 μέρες)

232 εμφανίσεις

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

SJSU Dept. of Computer Science

Fall 2011: August 24

CS 185C: This History of Computing

©
R. Mak

2

Goals of the Course


Work on projects relating to computing history.


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.



Attend talks by famous computer scientists.


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

3

Course Notes


Class website


http://www.cs.sjsu.edu/~mak/CS185C/



Green sheet


Lecture notes and handouts



Required textbook:

A History of Modern Computing, 2nd edition


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

4

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


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.



Mondays in class


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

5

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

6

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

7

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

8

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


Edit only your project’s wiki


Read everybody else’s wiki


Post drafts, blogs, final reports, etc.


Get early exposure to experts worldwide



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

9

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

10

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

11



TAKE ROLL!

SJSU Dept. of Computer Science

Fall 2011: August 24

CS 185C: This History of Computing

©
R. Mak

12

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://ed
-
thelen.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

13

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

14

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.


His plans survived and this
working model was built.


Includes a working printer!

http://www.computerhistory.org/babbage/


SJSU Dept. of Computer Science

Fall 2011: August 24

CS 185C: This History of Computing

©
R. Mak

15

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.

Atanasoff
-
Berry

Computer

Hollerith

Census

Machine

SJSU Dept. of Computer Science

Fall 2011: August 24

CS 185C: This History of Computing

©
R. Mak

16

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

17

What was the IBM 1401?

A “small scale” computer system developed by IBM in the late 1950s.

1401 CPU

1402 Card Read Punch

1403 Line Printer

729 Tape Drive

1407 Console

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?


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

19

What was Computing Like Before the 1401?


Data was stored in
punched cards called

IBM cards
” or


Hollerith cards




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.

SJSU Dept. of Computer Science

Fall 2011: August 24

CS 185C: This History of Computing

©
R. Mak

20

Punched Cards


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

SJSU Dept. of Computer Science

Fall 2011: August 24

CS 185C: This History of Computing

©
R. Mak

21

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

22

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

23

Plugboard Control Panel

SJSU Dept. of Computer Science

Fall 2011: August 24

CS 185C: This History of Computing

©
R. Mak

24

Programming a Plugboard

“Hmm, should I pass this parameter
by value or by reference?”


“Programming”
was hand
-
wiring
plugboards.

SJSU Dept. of Computer Science

Fall 2011: August 24

CS 185C: This History of Computing

©
R. Mak

25

Programming a Plugboard


Plugboard wiring
diagram



It doesn’t look too
complicated, does it?

SJSU Dept. of Computer Science

Fall 2011: August 24

CS 185C: This History of Computing

©
R. Mak

26

Data Processing


Data processing
was all about
punched cards
.


My school compiler project:


3½ boxes of punched cards


Each box = 2000 cards, 10 lbs.

SJSU Dept. of Computer Science

Fall 2011: August 24

CS 185C: This History of Computing

©
R. Mak

27

Data Processing

SJSU Dept. of Computer Science

Fall 2011: August 24

CS 185C: This History of Computing

©
R. Mak

28

Data Processing


Cards were punched
manually at a
keypunch machine
.



Or they were punched
automatically by

unit
-
record equipment
under program control.

SJSU Dept. of Computer Science

Fall 2011: August 24

CS 185C: This History of Computing

©
R. Mak

29

Data Processing


Cards were

re
-
keyed on a
verifier

to ensure
accuracy.


Good cards

were notched at
the top right
edge.


Bad cards

were
notched at the
top edge above
each erroneous
column.

SJSU Dept. of Computer Science

Fall 2011: August 24

CS 185C: This History of Computing

©
R. Mak

30

Data Processing


A
sorter

sorted
cards one
column at a time.


You had to run
decks of cards
multiple times
through a sorter.



Accounting
machines

performed
arithmetic on
card fields and
printed reports.

SJSU Dept. of Computer Science

Fall 2011: August 24

CS 185C: This History of Computing

©
R. Mak

31

Data Processing


Reproducers

made copies of
card decks.



Tabulators

were
accounting
machines: simple
arithmetic plus
printing.



Interpreters

read
cards and printed
information on
the cards.

SJSU Dept. of Computer Science

Fall 2011: August 24

CS 185C: This History of Computing

©
R. Mak

32

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

33

Data Processing


A
collator

compared and
merged decks of
punched cards.

SJSU Dept. of Computer Science

Fall 2011: August 24

CS 185C: This History of Computing

©
R. Mak

34

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

35

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

36

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
.