Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
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? Theory? Practice? Infrastructure? Configuration? Development? Management? Systems? Applications? People? Hardware? Software? 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) 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/cu rric_vols/CC2005-March06Final.pdf From CC 2005 From CC 2005 From CC 2005 From CC 2005 From CC 2005 When was the computer invented? When was the computer invented? Depends on what you mean by “computer”… 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 “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 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 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)