A long time ago, in a galaxy far, far away…. 1-1.

Slides:



Advertisements
Similar presentations
Introduction to Computers
Advertisements

Computer Skills Preparatory Year Presented by: L. Obead Alhadreti.
HARDWARE AND SOFTWARE DEVELOPMENT By: Pratama Wahyu Purnama ( ) Maulida Yulianti ( )
09/06/06 Hofstra University – Overview of Computer Science, CSC005 1 CSC005 – Overview Of Computer Science.
Introduction to Computer Science CS 21a: Introduction to Computing I Department of Information Systems and Computer Science Ateneo de Manila University.
Chapter Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing Describe.
History of Computing Define a computer before 1935?
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
Chapter 1 The Big Picture.
Appendix The Continuing Story of the Computer Age.
Lecture 2 Computer development history. Topic History of computer development Computer generation Programming language.
1  1998 Morgan Kaufmann Publishers Lectures for 2nd Edition Note: these lectures are often supplemented with other materials and also problems from the.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
Chapter 1 An Overview of Personal Computers
CS 104 Introduction to Computer Science and Graphics Problems History of Computer 09/05/2008 Yang Song (Prepared by Yang Song and Suresh Solaimuthu)
1 The development of modern computer systems Early electronic computers Mainframes Time sharing Microcomputers Networked computing.
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
1 Chapter 1 The Big Picture. 2 2 Computing systems are dynamic entities used to solve problems and interact with their environment. They consist of devices,
1 CHAPTER 4 LANGUAGE/SOFTWARE Hardware Hardware is the machine itself and its various individual equipment. It includes all mechanical, electronic.
Prepared by: Jasper Francisco. The Early Years 1  In the early years, before the computer was invented, there were several inventions of counting machine.
History of computers By Anne Perera.
Chapter 1 An Introduction to Computer Science
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
1 6 Abacus An early device to record numeric values Blaise Pascal Mechanical device to add, subtract, divide & multiply Joseph Jacquard Jacquard’s Loom,
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
Chapter 1 History of Computing. 2 Early History of Computing Abacus (origin? 2000BC) An early device to represent numeric values with beads. Note that.
The Continuing Story of the Computer Age: Past, Present, and Future
Chapter 01 Nell Dale & John Lewis.
History of Programming Languages
1.1 1 Introduction Foundations of Computer Science  Cengage Learning.
1 CSC 1401 S1 Computer Programming I Hamid Harroud School of Science and Engineering, Akhawayn University
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
Dr. John P. Abraham, University of Texas Pan American Information Technology Introduction Dr. John P. Abraham.
CS 1410 Intro to Computer Tecnology Computers and History1.
History of Computers Information taken from: Microsoft Office 97 Professional by Lawrence Press Microsoft Visual Basic by Lawrence Press First True Computer.

© Prentice-Hall, Inc Definition  Computer - An electronic device that has the ability to store, retrieve, and process data and can be programmed with.
Chapter 1 The Big Picture.
Computer system overview1 The Effects of Computers Pervasive in all professions How have computers affected my life? How have computers affected my life?
Generations Of Computer Copyright(c)2011 Presentation Point( om)
© 2007 Pearson Addison-Wesley. All rights reserved 0-1 Spring(2007) Instructor: Qiong Cheng © 2007 Pearson Addison-Wesley. All rights reserved.
Computer Science What is Computer Science? Algorithm Design and Analysis Organization and Architecture Artificial Intelligence Databases Operating Systems.
Visual C++ Programming: Concepts and Projects
COMP 268 Computer Organization and Assembly Language A Brief History of Computing Architecture.
CPS120: Introduction to Computer Science Introduction to Computers.
Introduction to Computer Science by Kai-Lung Hua Chapter 0: Introduction.
CPIT 201 Introduction to Computing
Chapter 1 Introduction.

Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
Beginning Snapshots Chapter 0. C++ An Introduction to Computing, 3rd ed. 2 Objectives Give an overview of computer science Show its breadth Provide context.
College of Computer Science, SCU Computer English Lecture 1 Computer Science Yang Ning 1/46.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Introduction Basic Computer Concepts Abacus  ultimate ancestors of today’s computers became the arithmetic tool of early merchants the only relation.
Courtney Nielsen  Help us find info  Storage  Performs calculations  Runs software  communication  Storing data  Research  Fact checking  Communication.
Generations of Computing. The Computer Era Begins: The First Generation  1950s: First Generation for hardware and software Vacuum tubes worked as memory.
مقدمة في البرمجة CS 201 Huda aljaloud. Chapter1 Introduction.
1 Chapter 1 Background Fundamentals of Java: AP Computer Science Essentials, 4th Edition Lambert / Osborne.
Computer A Computer may be defined as an electronic device that operates upon data. So, a computer can store, process and retrieve data as and when desired.
Chapter 1 Introduction.
Chapter 1 The Big Picture
The Five Generations of Computers
Computer Technology Notes #3
The Five Generations of Computers
The Five Generations of Computers
The Five Generations of Computers
Chapter 0: Introduction
Introduction to Computer Programming
The Five Generations of Computers
Presentation transcript:

A long time ago, in a galaxy far, far away…. 1-1

Chapter I THE BIG PICTURE The Empire is bad, mmkay? But we’re not here to talk about that. We’re here to learn computer science! So lets get started! 1-2

Chapter Goals Abstraction Layers of a computer system History Future Trends

Chapter Goals Changing role of the user Computing as a tool Computing as a discipline Computational Thinking (CT) as a universal skill Skills for Computer Professionals

COMPLEXITY and ABSTRACTION 1-5

Our First Question? How do we handle complexity? Answer: We Slice it up! This is called “ABSTRACTION” Aka “Decomposition”, “Layering”, “Encapsulation”, “Data Hiding” 1-6

Ways to Slice Stuff 1-7

MORE Ways to Slice Stuff 1-8 Raise your pencil if you like cake

Slicing the Computing Onion 1-9 Computers are so complex we need to “chop them up” to understand them We slice them into layers This is called “abstraction” 2

Slicing the Onion 1-10 We can (and will) slice them in many different ways For example: One way is to slice them into – Hardware – Software 2

Example: 2 Easy Slices Hardware and Software 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

Is it That Easy? But this is college! We can be more sophisticated slicers! Hardware and Software are nice abstractions, but too simplistic We will continue this slicing process all semester, with increasing sophistication

Layers of a Computing System Communication Application Operating System Programming Hardware Information

Abstraction 1-14 This is a key concept. Abstraction will reappear throughout the text – be sure to understand it! A mental model that hides complex details A way to group many things into one thing 5

Abstraction 1-15 A tool to help humans handle complexity A method to build (and understand) large systems that are built from layers Each Onion Layer is an abstraction 5

Our Second Question? So…. What is a GOOD abstraction?? CHARACTERISTICS OF A GOOD ABSTRACTION: Is simple to understand from the outside Has a simple and well defined interface Is self-contained and independent 1-16

“Logical” Layer (user POV) 1-17 Some Abstraction InterfaceInterface “Physical” Layer (creator POV)

Can build complex systems 1-18

HISTORY 1-19

History Another way to slice the onion: chronologically! Many strange devices have existed over history… Many people have contributed… 1-20 What was the enigma machine?

Early History of Computing 1-21 Joseph Jacquard’s Loom – Used punchcards

Early History of Computing 1-22 Charles Babbage’s Analytical Engine Ada Lovelace – “first programmer” Only recently have attempts been made to actually fabricate Babbage’s design

Birth of “Modern” Computing World War Two Alan Turing WW2 cryptographer Turing machine Turing AI test Harvard Mark I, ENIAC, UNIVAC I Early computers launch new era in mathematics, physics, engineering and economics

IMPORTANT HARDWARE GENERATIONS 1-24

First Generation Hardware ( ) Vacuum Tubes A type of “automatic” switch, either ON or OFF Large, not very reliable, generated a lot of heat

Second Generation Hardware ( ) Transistor Replaced vacuum tube, fast, small, durable, cheap Still, basically a switch: Either ON or OFF

Third Generation Hardware ( ) Integrated Circuits Contain MILLIONS of transistors Smaller, cheaper, faster, more reliable. Moore’s Law: Number of transistors on a chip doubles every 12 to 18 months – Basically why we are all here in this room today.

IMPORTANT SOFTWARE GENERATIONS 1-28

First Generation Software ( ) Machine Language Computer programs were written in binary (1s and 0s) Assembly Languages Translators Programs were written in assembly language, then translated into machine language

Second Generation Software ( ) High Level Languages Introduced Use English-like statements and make programming easier. Fortran, COBOL, ADA, Lisp are examples. High-Level Languages Assembly Language Machine Languag e

Third Generation Software ( ) Separation of Types of Programs Begins Programs Written for Non-Programmers – Systems Software utility programs language translators The operating system – Applications Software Usually application-specific at that time. Written to perform a specific task. Example: Calculate monthly interest on all customers bank accounts

Third Generation Software ( ) Application Package Systems Software High-Level Languages Assembly Language Machine Language

USERS 1-33

Another Way to Slice the Onion 1-34 Computing as a Tool What can a computer help me do? Computing as a Discipline What can be (efficiently) automated?

Computing as a Tool – Key Issues What can a computer help me do? Main Concerns 1.What tasks can be done with a computer? 2.What SW tools are available to do this task? 3.Can I write a program to do this? 4.Can I get someone else to write a program for this?

Computing as a DISCIPLINE What can be (efficiently) automated? Four Necessary Skills 1.Algorithmic Thinking 2.Representation 3.Programming 4.(Systems) Design

More Computing as a TOOL Computing is UBIQUITOUS Computing affects EVERY FIELD Computing affects EVERY area of human endevour 1-37

MORE Computing as a TOOL This Ubiquity requires: – EVERYONE must have some fundamental computing knowledge – Computing is the “Forth R” – This concept is sometimes called “Computational Thinking” 1-38

MORE Computing as a Discipline Modern Computing is Only 60 years old It is still rapidly evolving Computing is a HUGE and DIVERSE field

Computing as a Discipline “The Identity Crisis” 1-40 What is Computer Science? Is Computer Science a mathematical, scientific, or engineering discipline? What about Information Technology, MIS, CIS, and related computer fields??? 22 Another Question

Computing Education Levels 1-41 A.S. Degree and Certificate Level (typically) Networks Web Database Programming B.S. Degree and above (typically) Computer Science Computer Engineering Information Technology (Emerging)

Some Sub-Areas of Computer Science Algorithms and Data Structures Programming Languages Hardware Architecture Software Architecture Operating Systems Software Methodology and Engineering Human-Computer Communication

Application Areas of Computer Science Networks and Distributed Systems Numerical and Symbolic Computation Databases and Information Retrieval Artificial Intelligence and Robotics Graphics Organizational Informatics Bioinformatics

ONE MORE way to look at Computing Using Tools – Driving a car – using a computer Maintaining Tools – Fixing a car – fixing/modifying computer systems Creating Tools – Developing NEW SW and HW tools 1-44 MORECTMORECT