Post on 25-Dec-2015
Welcome to CS 146!
Instructor Dan Ernst
Office: P 139 ernstdj@uwec.edu
Course Web Site: http://www.cs.uwec.edu/~ernstdj/courses/cs146/ D2L: https://uwec.courses.wisconsin.edu (for grades)
Getting Information
Go to the website Slides, Readings, Other stuff from class Assignments Office Hours
Read your e-mail! Class e-mail group will be used by the instructor Membership mandatory
I assume you read everything sent to this list!
When You Have Questions
Best ways to contact me: Come to office hours – Phillips 139
Wednesday 9 – 11am Friday 1 – 3pm OR by appointment (just e-mail or call my office)
Send me an e-mail: ernstdj@uwec.edu
What This Course is About
This course is NOT about: Major technical skills (i.e. programming) How to use computers
This course IS about: the breadth of Computer Science as a field the logistics of CS at UWEC how CS relates to liberal education and to society getting a glimpse at the “end zone” of the profession how to think like a Computer Scientist
Overall Course Grading
Final Grade : Assignments(10-12): 75% (Some may be weighted higher than others)
Attendance and Participation in Classroom Activities: 25% (Show up, do at least one presentation, etc)
SOME OF THESE SLIDES ARE BASED ON MATERIAL FROM THE ACM COMPUTING
CURRICULA 2005
Introduction to Computer Science
What Is Computer Science?
Science? Do computer scientists do experiments?
(hypothesis, test, evaluate)Engineering?
Do computer scientists build things?Math?
Abstraction?Art?
Are there creative elements in computer science?A combination of some or all of these?Something else?
What Do Computer Scientists Do?
Talk to clients and each otherBuild systems (hardware and software)Research possible approaches, toolsGather requirements for a systemAnalyze requirementsDevelop test cases for a systemDesign solution systemsDesign interfacesImplement solution systemsIntegrate systemsMaintain systems (bug fixes, enhancements)
I Like Learning by Example…
…so here are some Computer Scientists:
http://www.youtube.com/watch?v=jq_EcstLlfE#t=0m24s
History of Computers
When was the computer invented?
Depends on what you mean by “computer”…A computer does not need to be electric, nor even
have a processor, nor RAM, nor even hard disk. The minimal definition of a computer is anything that transforms information in a purposeful way.
“The essence of the computer is not electronic. Computers can be made from toothpicks and bottlecaps, or toilet paper and pebbles.”
- George Teschner
Early “Computers”
Bones, other objects for counting – B.C.Abacus (counting and calculating) – 3rd century
A.D.John Napier’s logarithmic tables, slide rule – 1600’sBlaise Pascal’s machine (addition) – 1640’sGottfried Leibniz’s mechanical calculator – 1673Joseph Jacquard’s loom (punched metal cards) -
1804Charles Babbage
Difference Engine (specialized) designed – 1820’s Analytical Engine (generalized) designed – 1830’s
Babbage’s Analytical Engine
“Mill” – processor“Store” – memoryAlso, concepts of:
Input and output Generalized program execution
“We may say most aptly that the Analytical Engine weaves algebraical patterns just as the Jacquard-loom weaves flowers and leaves” – Ada, Countess of Lovelace
More Computing Machines
Herman Hollerith, statistical tabulator for the U.S. Census Bureau, using paper punch cards for data – 1890 Later created company named International Business Machines
CorporationQuiet period until 1940’sMark 1 – mathematical computer with electro-mechanical
relays, 1943John von Neumann – computer design with input, output,
memory, control, and arithmetic/logic unit, 1945ENIAC, built by J. Presper Eckert and John Mauchly – first
large-scale electronic (vacuum tubes) digital computer, 1946First transistor – John Bardeen, William Shockley, and
Walter Brattain, 1947UNIVAC, first commercial computer, sold in 1951
Generations of Computing Infrastructure
1940s and early 1950’s – 1st Generation (vacuum tubes, very large systems, programming in machine language)
1956-1963 – 2nd Generation (transistors, large systems, assembly language)
1964-1971 – 3rd generation (integrated circuits, high level languages (e.g. FORTRAN, C)
1971 – present – 4th generation (microprocessors, new high level languages (e.g. C++, Java, C#) plus 4GL’s (e.g. Structured Query Language for database systems)
What about Computing?
We’ve talked about the history of Computers AKA the history of automated computing devices
“Computer science is no more about computers than astronomy is about telescopes.”
- E. W. Dijkstra
What about computing?
Alan Turing
Attended King’s College, Cambridge in Mathematics
During that time, he published a paper that describes the underlying characteristics needed for a “Universal Computing Device”. Gave a very concrete description
of such a device, called a “Turing Machine”
Mathematician, Logician, Cryptanalyst, Computer Scientist
Church-Turing Thesis
Based off of this work, he went to study at Princeton with Alonzo Church, who was working on similar things.
Their collaboration led to the foundations of algorithms – now called the Church–Turing thesis
The thesis claims that any calculation that is possible can be performed by an algorithm running on a computer, provided that sufficient time and storage space are available. (universality)
Alan Turing
During WW II, Turing was a key figure at Bletchley Park, home of the British codebreakers. Helped invent automated machines to brute-force
German Naval codes. In 1942, trained US cryptanalysts Awarded the Order of the British Empire (OBE) for his
wartime efforts Although they couldn’t actually tell anyone why he
received it in detail.
Conviction and Death
In 1952, Turing was convicted of “gross indecency” A blanket term which included any homosexual
activity
He was sentenced to “chemical castration” – forced injections of estrogen to “reduce libido”.
In 1954, Turing was found dead by his cleaner. He died of cyanide poisoning, most likely by his own hand. He was 41.
Legacy
Developed the theoretical foundations of Computer Science as a field.
By many accounts, the work at Bletchley Park likely won World War 2 for the Allies
In 2009, the British government directly apologized for the “appalling” treatment Turing received, likely resulting in his death.