Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 1 The Big Picture. 2 25 Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.

Similar presentations


Presentation on theme: "Chapter 1 The Big Picture. 2 25 Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing."— Presentation transcript:

1 Chapter 1 The Big Picture

2 2 25 Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing Describe the history of computer hardware and software Describe the changing role of the computer user Distinguish between systems programmers and applications programmers Distinguish between computing as a tool and computing as a discipline

3 3 2 Computing systems are dynamic! What is the difference between hardware and software? Computing Systems

4 4 3 Hardware The physical elements of a computing system (printer, circuit boards, wires, keyboard…) Software The programs that provide the instructions for a computer to execute Computing Systems

5 5 4 Layers of a Computing System

6 6 5 Abstraction A mental model that removes complex details This is a key concept. Abstraction will reappear throughout the text – be sure you understand it! Abstraction

7 7 Internal View

8 8 Abstract View

9 9 History

10 10 6 Abacus (about 1600 BC, or even 2700-2300 BC) An early device to record numeric values Wikipedia page Wikipedia page Blaise Pascal 1642 Mechanical device to add and subtract Pascaline Pascaline Gottfried Leibniz 1672 Wikipedia page Wikipedia page Mechanical device to add, subtract, divide & multiply: Stepped ReckonerStepped Reckoner Binary number system Anticipated many of the hardware and software concepts developed later by Babbage & Lovelace Joseph Jacquard 1801: Jacquard’s Loom, the punched cardJacquard’s Loom Charles Babbage 1822: Difference Engine and 1837-1871: Analytical EngineDifference EngineAnalytical Engine Memory Early History of Computing

11 11 7 Ada Lovelace, the "Enchantress of numbers""Enchantress of numbers" 1843: First Programmer, the loop William Gibson & Bruce Sterling: The Difference EngineThe Difference Engine Doron Swade: The Difference EngineThe Difference Engine Alan Turing 1936: Turing Machine, Artificial Intelligence Testing (the Turing test) Neil Stephenson: CryptonomiconCryptonomicon John von Neumann 1945: Stored-program computer, a.k.a. the von Neumann architecturevon Neumann architecture Harvard Mark I, ENIAC, UNIVAC I Early computers launch new era in mathematics, physics, engineering and economics Early History of Computing

12 12 8 Vacuum Tubes Large, not very reliable, generated a lot of heat Magnetic Drum Memory device that rotated under a read/write head Card Readers  Magnetic Tape Drives Sequential auxiliary storage devices First Generation Hardware (1951-1959)

13 13 9 Transistor Replaced vacuum tube, fast, small, durable, cheap Magnetic Cores Replaced magnetic drums, information available instantly Magnetic Disks Replaced magnetic tape, data can be accessed directly Second Generation Hardware (1959-1965)

14 14 10 Integrated Circuits Replaced circuit boards, smaller, cheaper, faster, more reliable Transistors Now used for memory construction Terminal An input/output device with a keyboard and screen Third Generation Hardware (1965-1971)

15 15 11 Large-scale Integration Great advances in chip technology PCs, the Commercial Market, Workstations Personal Computers and Workstations emerge New companies emerge: Apple, Sun, Dell … Laptops Everyone has his/her own portable computer Fourth Generation Hardware (1971-?)

16 16 12 Parallel Computing Computers rely on interconnected central processing and/or memory units that increase processing speed Networking Ethernet connects small computers to share resources File servers connect PCs in the late 1980s ARPANET and LANs  Internet Parallel Computing and Networking

17 17 13 Machine Language Computer programs written in binary (1s and 0s) Assembly Languages and Translators Programs written using mnemonics, which were translated into machine language Programmer Changes Programmers divide into two groups: application programmers and systems programmers First Generation Software (1951-1959)

18 18 Assembly/Machine Systems programmers write the assembler (translator) Applications programmers use assembly language to solve problems

19 19 14 High-level Languages English-like statements made programming easier: Fortran, COBOL, Lisp Second Generation Software (1959-1965) Systems programmers write translators for high-level languages Application programmers use high-level languages to solve problems

20 20 15 Third Generation Software (1965-1971) Systems Software Utility programs Language translators Operating system, which decides which programs to run and when Separation between Users and Hardware Computer programmers write programs to be used by general public (i.e., nonprogrammers)

21 21 16 Third Generation Software (1965-1971)

22 22 17 Structured Programming Pascal C C++ New Application Software for Users Spreadsheets Word processors Database management systems Fourth Generation Software (1971-1989)

23 23 18 Microsoft Windows operating system and other Microsoft application programs dominate the market Object-Oriented Design Based on a hierarchy of data objects (i.e. Java) World Wide Web Allows easy global communication through the Internet New Users Today’s user needs no computer knowledge Fifth Generation Software (1990- present)

24 24 20 Programmer / User Applications Programmer (uses tools) User with No Computer Background Systems Programmer (builds tools) Domain-Specific Programs Computing as a Tool

25 Individual work To do by next class (Friday): Read the entire Ch.1 and take 1 page of notes in your notebook Answer end-of-chapter questions 1 – 38 in your notebook 25

26 26 21 Computing as a Discipline What can be (efficiently) automated? Four Necessary Skills Algorithmic Thinking Representation Programming Design: build a computer system that solves concrete problems in an application domain

27 27 Is Computer Science a mathematical, scientific, or engineering discipline? 22 What do you think? Computing as a Discipline

28 28 23 Systems Areas of Computer Science Algorithms and Data Structures Programming Languages Architecture Operating Systems Software Methodology and Engineering Human-Computer Communication

29 29 24 Application Areas of Computer Science Numerical and Symbolic Computation Databases and Information Retrieval Artificial Intelligence and Robotics Graphics Organizational Informatics Bioinformatics

30 30 Who am I? Can you list three items on my resume?

31 31 Ethical Issues The Digital Divide What is it? How does it affect you? What is computer literacy for your sister, the musician? your brother, the doctor? your sister, the kindergarten teacher? Is it important to try to bridge the digital divide?

32 Practice Flashcards on the text websiteFlashcards 32

33 33 Do you know? What computer company was launched in a garage? What is a protocol? How does this relate to computers? Connect computers and corn. Did they have any computers in the 1800s?

34 Homework Due next Friday, Sept. 4: End-of-chapter exercises 47, 48, 49, 50 End-of-chapter thought question 1 There is a new file on the webpage with all the work assigned (individual work + homework) 34


Download ppt "Chapter 1 The Big Picture. 2 25 Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing."

Similar presentations


Ads by Google