150 likes | 438 Views
CS149D Elements of Computer Science. Ayman Abdel-Hamid Department of Computer Science Old Dominion University Lecture 1: 8/27/2002. Outline. What is Computer Science? What is an algorithm? What is a computer? history of Computing (not comprehensive!). What is Computer Science?
E N D
CS149D Elements of Computer Science Ayman Abdel-Hamid Department of Computer Science Old Dominion University Lecture 1: 8/27/2002 CS149D Fall 2002
Outline • What is Computer Science? • What is an algorithm? • What is a computer? • history of Computing (not comprehensive!) CS149D Fall 2002
What is Computer Science? Computer Science is the discipline that seeks to build a scientific foundation for such topics as computer design, computer programming, information processing, and algorithmic solutions of problems. • Computing is the execution of an “algorithm” • A computer is a machine that performs computing (provides computing capabilities to its users) CS149D Fall 2002
What is an Algorithm? A set of steps that define how a task is performed Formal definition: An ordered set of unambiguous, executable steps that define a terminating activity. • Examples of algorithms • Operating a washing machine • Multiplication of 2 integers • Making an apple pie CS149D Fall 2002
A machine-compatible representation of an algorithm is called a program • Representation of an algorithm so that it can be communicated to a machine • Programming Languages (C, C++, Java, …) • If no algorithm exists for performing a task, then the task can not be performed by a machine • Programs and algorithms they represent are collectively referred to as Software, the machine itself is Hardware CS149D Fall 2002
Mechanical units Steam engines Integrated circuits Input Output Gears, vacuum tubes, memory transistors A Computer Computing Manual Punch cards Tapes Keyboard Mouse Gear Position Display Cards Paper Storage Five classic components of a computer: Input, Output, Memory, Data path, Control Processor CS149D Fall 2002
Role of Abstraction Think about a complex computer system using various levels of details At each level, identify components whose internal characteristics are ignored. Focus on component interaction, and how components can be used to construct higher-level components Distinction between external properties of a component and the internal details of the component instruction is known as abstraction Examples of abstraction Driving a car, sending email, printing a document CS149D Fall 2002
History of Computing1/8 Abacus (almost 5,000 years ago) First computing device. Position of bead represents a stored value Data storage system. Combined with a human to create a complete computer CS149D Fall 2002
History of Computing2/8 • Technology of gears • Represent data through gear positioning with data being input mechanically to establish gear positions • Pascal, Leibniz: Output achieved by observing final gear positions • Babbage: Print values on paper • 1645: Pascal (1623 – 1662) makes “Pascaline”. Follow addition algorithm • 1674: Leibniz (1646 – 1716) designs his "Stepped Reckoner“. A variety of arithmetic operations that the user can select from CS149D Fall 2002
History of Computing3/8 • 1832: Babbage (1792 – 1871). Prototype of a difference engine (6 digit calculator using gear technology) • Sequence of steps the machine was to perform could be communicated to the machine in form of holes in paper cards (programmable). His assistant “Augusta Ada Byron” identified as world’s first programmer • Herman Hollerith (1860 – 1929) applied punched cards idea to speed up tabulation in 1890 US Census. (work led to creation of IBM) CS149D Fall 2002
History of Computing4/8 • Electronics supplement mechanical devices • (electronically controlled mechanical relays) • 1940: Electromechanical machine of George Stibitz at Bell laboratories (Model I relay calculator) • 1944: Mark I, Harvard University with a group of IBM engineers (first widely known programmable calculator) • Vacuum Tubes • 1939: John V. Atanasoff and graduate student Clifford Berry, of Iowa State College (now the Iowa State University), Ames, Iowa, complete a prototype 16-bit adder. This is the first machine to calculate using vacuum tubes. CS149D Fall 2002
History of Computing5/8 1945: John von Neumann (1903-1957), drafts a report describing the future computer eventually built as the "EDVAC" ("Electronic Discrete Variable Automatic Computer“) this is the first description of the design of a stored-program computer, and gives rise to the term "von Neumann computer". 1946: ENIAC (Electronic Numerical Integrator and calculator). University of Pennsylvania CS149D Fall 2002
History of Computing6/8 • Transistors, integrated circuits (IC) • 1954: Texas Instruments announces the start of commercial production on silicon transistors. • 1958: At Texas Instruments, Jack Kilby completes building the first integrated circuit (IC), containing five components on a piece of germanium half an inch long and thinner than a toothpick. • 1972: Dennis Ritchie develops C at Bell labs (predecessor was named B) • 1976: Steve Jobs and Stephen Wozniak built a commercially viable home computer (established Apple company) • 1977: Bill Gates and Paul Allen found Microsoft • 1981: IBM introduces first desktop computer called Personal Computer “PC”, with operating system developed by Microsoft • 1982: Time Magazine names computer “Man of the Year” CS149D Fall 2002
History of Computing7/8 1982: Japan launches fifth generation computer focused on artificial intelligence 1984: CD-Rom introduced by Sony and Philips 1985: C++ (object-oriented extension to C) issued from Bell labs 1989: Tim Berners-Lee proposes a World Wide Web project to CERN (European Council for Nuclear Research) 1989: Intel’s 80486 microprocessor is introduced 1990: Microsoft introduces Windows 3.0 1993: Intel’s Pentium processor is introduced 1994: Netscape’s first browser becomes available 1995: Java is released from Sun Microsystems 1996: Intel’s Pentium Pro processor is announced 1998: Microsoft releases Windows 98 CS149D Fall 2002
History of Computing8/8 • 2002: Intel’s Pentium 4 processor offers speeds up to 2.53 GHz • New Trends • DNA computers (What is a DNA computer) • Pervasive computing (from IBM) • Wearable computing (A nice web site, definition) • Quantum computing (The Quantum computer) • Some References • Timeline of Computing History (IEEE Computer) • The History of computing (Virginia Tech) • Chronology of historical events in Computing (Hofstra University) CS149D Fall 2002