some of these slides are based on material from the acm computing curricula 2005

17
Introduction to Computer Science – What it is, History Some of these slides are based on material from the ACM Computing Curricula 2005

Upload: angelica-jordan

Post on 22-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Some of these slides are based on material from the ACM Computing Curricula 2005

Introduction to Computer Science – What it is, History

Some of these slides are based on material from the ACM Computing Curricula 2005

Page 2: Some of these slides are based on material from the ACM Computing Curricula 2005

Science?◦ Do computer scientists do experiments?

(hypothesis, test, evaluate) Art?

◦ Are there creative elements in computer science? Engineering?

◦ Do computer scientists build things? Math?

◦ Abstraction? A combination of some or all of these? Something else?

What Is Computer Science?

Page 3: Some of these slides are based on material from the ACM Computing Curricula 2005

Theory? Practice?

Infrastructure? Configuration? Development? Management?

What Is Computer Science? (2)

Page 4: Some of these slides are based on material from the ACM Computing Curricula 2005

Systems? Applications? People?

Hardware? Software?

What Is Computer Science? (3)

Page 5: Some of these slides are based on material from the ACM Computing Curricula 2005

Talk to clients and each other Build systems (hardware and software) Research possible approaches, tools Gather requirements for a system Analyze requirements Develop test cases for a system Design solution systems Design interfaces Implement solution systems Integrate systems Maintain systems (bug fixes, enhancements)

What Do Computer Scientists Do?

Page 6: Some of these slides are based on material from the ACM Computing Curricula 2005

Association of Computing Machinery (ACM) has defined several versions of Computing Curricula

CC 2005 lists 5 sub-areas of computing:◦ Computer Science◦ Computer Engineering◦ Information Systems◦ Information Technology◦ Software Engineering

http://www.acm.org/education/education/curric_vols/CC2005-March06Final.pdf

What Disciplines Are Close To/Part Of Computer Science?

Page 7: Some of these slides are based on material from the ACM Computing Curricula 2005

Quiz question #1 – which of the five? (IS, IT, CS, CE, SE)

From CC 2005

Page 8: Some of these slides are based on material from the ACM Computing Curricula 2005

Quiz question #2 – which of the five? (IS, IT, CS, CE, SE)

From CC 2005

Page 9: Some of these slides are based on material from the ACM Computing Curricula 2005

Quiz question #3 – which of the five? (IS, IT, CS, CE, SE)

From CC 2005

Page 10: Some of these slides are based on material from the ACM Computing Curricula 2005

Quiz question #4 – which of the five? (IS, IT, CS, CE, SE)

From CC 2005

Page 11: Some of these slides are based on material from the ACM Computing Curricula 2005

Quiz question #5 – which of the five? (IS, IT, CS, CE, SE)

From CC 2005

Page 12: Some of these slides are based on material from the ACM Computing Curricula 2005

When was the computer invented?

History of Computing

Page 13: Some of these slides are based on material from the ACM Computing Curricula 2005

When was the computer invented?

Depends on what you mean by “computer”…

History of Computing

Page 14: Some of these slides are based on material from the ACM Computing Curricula 2005

Bones, other objects for counting – B.C. Abacus (counting and calculating) – 3rd century

A.D. John Napier’s logarithmic tables, slide rule – 1600’s Blaise Pascal’s machine (addition) – 1640’s Gottfried Leibniz’s mechanical calculator – 1673 Joseph Jacquard’s loom (punched metal cards) -

1804 Charles Babbage

◦ Difference Engine (specialized) designed – 1820’s◦ Analytical Engine (generalized) designed – 1830’s

Early “Computers”

Page 15: Some of these slides are based on material from the ACM Computing Curricula 2005

“Mill” – processor “Store” – memory Also, 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

Babbage’s Analytical Engine

Page 16: Some of these slides are based on material from the ACM Computing Curricula 2005

Herman Hollerith, statistical tabulator for the U.S. Census Bureau, using paper punch cards for data – 1890◦ Later created company named International Business Machines

Corporation Quiet period until 1940’s Mark 1 – mathematical computer with electro-mechanical

relays, 1943 John von Neumann – computer design with input, output,

memory, control, and arithmetic/logic unit, 1945 ENIAC, built by J. Presper Eckert and John Mauchly – first

large-scale electronic (vacuum tubes) digital computer, 1946 First transistor – John Bardeen, William Shockley, and Walter

Brattain, 1947 UNIVAC, first commercial computer, sold in 1951

More Computing Machines

Page 17: Some of these slides are based on material from the ACM Computing Curricula 2005

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)

Generations of Computing