A Brief History of Computer Science

Similar documents
Welcome to COS151! 1.1

A Brief History of Computer Science. David Greenstein Monta Vista High School, Cupertino, CA

Fundamentals of Digital Computers The mechanical computer age began with the advent of the abacus in 500 B.C by Babylonians. The abacus, which was

Welcome to COSC Introduction to Computer Science

1: History, Generation & Classification. Shobhanjana Kalita, Dept. of CSE, Tezpur University

Computers in Engineering COMP 208. A Brief History. Mechanical Calculators. A Historic Perspective Michael A. Hawker

Computers in Engineering COMP 208

Part (01) Introduction to Computer

Fundamentals of Python: First Programs. Chapter 1: Introduction Modifications by Mr. Dave Clausen

Chapter 1: An Introduction to Computer Science. Invitation to Computer Science, C++ Version, 6-th Edition

Algorithm: Program: Programming: Software: Hardware:

Overview of a computer

Early Calculating Tools

Chapter 1. The Big Picture

Introduction to Computer Systems

Describe the layers of a computer system

PROGRAMMING LANGUAGE PARADIGMS & THE MAIN PRINCIPLES OF OBJECT-ORIENTED PROGRAMMING

You Will Need Floppy Disks for your labs!

Machine Architecture and Number Systems

Chapter 1 History & Hardware

Machine Architecture and Number Systems CMSC104. Von Neumann Machine. Major Computer Components. Schematic Diagram of a Computer. First Computer?

UNIT 1. Variables Binary Math

COURSE OVERVIEW. Introduction to Computer Engineering 2015 Spring by Euiseong Seo

Chapter 01. Introduction 2018/9/17. Chapter Goals. Computing Systems. Computing Systems. Layers of a Computing System. Abstraction

In this chapter, you will learn about: The definition of computer science. Algorithms. Invitation to Computer Science, C++ Version, Third Edition

A (BRIEF) HISTORY OF COMPUTING. By Dane Paschal

Introduction To Computers. About the Course

4. History of computers and applications

8/16/12. Computer Organization. Architecture. Computer Organization. Computer Basics

An Introduction to Computer Science CS 8: Introduction to Computer Science Lecture #2

An Introduction to Computer Science CS 8: Introduction to Computer Science, Winter 2018 Lecture #2

History of Computing. Ahmed Sallam 11/28/2014 1

Angel International School - Manipay 1 st Term Examination November, 2015 ICT

COMS 1003 Fall Introduction to Computer Programming in C. History & Computer Organization. September 15 th

Engineering Problem Solving with C++, Etter/Ingber

Mechanization. A little bit of history. Mechanization. The old dream of mechanical computing. Jordi Cortadella Department of Computer Science

The trusted, student-friendly online reference tool. Name: Date:

I1100 Introduction to Computer Science Semester: 1 Academic Year: 2018/2019 Credits: 3 (30 hours) Dr. Antoun Yaacoub

MICROPROCESSOR SYSTEM DESIGN

Computers Programming Introduction. Iulian Năstac

A little bit of history. Jordi Cortadella Department of Computer Science

History. 3rd Generation- Integrated Circuits, Transistors (Integrated Circuit form) for Memory ( memory is now volatile), Terminal/Keyboard for I/O

Computer Science 1400: Part #1. How We Got Here: In the Beginning (pre-1940) WHAT IS A COMPUTER (REALLY)? WHAT WERE THE FIRST COMPUTERS?

(History of Computers) Lecture # 03 By: M.Nadeem Akhtar. Lecturer. URL:

Chapter 2 HISTORICAL DEVELOPMENT OF COMPUTERS

ALGORITHMS AND PROGRAMMING

Chronological History of the Pre-Computer Developments

The Generations of Computers

CS140 Lecture 09a: Brief History of Computing

Great Inventions written by Bob Barton

This podcast will demonstrate a logical approach as to how a computer adds through logical gates.

HISTORY OF CALCULATION. Evolution of Computation

Wednesday, January 28, 2018

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

HISTORY OF COMPUTING

Monday, January 27, 2014

Sotirios G. Ziavras Department of Electrical and Computer Engineering, New Jersey Institute of Technology, Newark, New Jersey 07102, U.S.A.

ENG 101 Lesson -6. History of Computers

Introduction. Computers, algorithms

7. History of computers and applications

CS1100 Introduction to Programming

History of Computing. Slides from NYU and Georgia Tech

Software and Hardware

CHAPTER 1: Computers and Systems

Computer Systems. Hardware, Software and Layers of Abstraction

Which of the following is not true of FORTRAN?

EEM336 Microprocessors I. Introduction to the Microprocessor and Computer

1.The First Instrument known in the history of computers was. a) Pascal s adding machine b) Napier s bones c) Abacus d) Analytical Engine

CS101 Lecture 29: Brief History of Computing

MECHANICAL COMPUTATION, BABBAGE AND HIS ENGINES

Introduction to Computer Science. What is Computer Science?

COMP 102: Computers and Computing Lecture 1: Introduction!

Lecture 1: CS2400 Introduction to Computer Science

History of Modern Computing Lesson 1

History of Computers

Who Am I? Computer Science 221. Goals for the Course. More About the Course. Administrivia. Other Materials. assignments 25% midterm 25% final 50%

Chapter 1. Introducing the Universal Machine

Notes By: Shailesh Bdr. Pandey, TA, Computer Engineering Department, Nepal Engineering College

Licensed to: ichapters User

Downloaded from

History of Computers. What Is A Computer? Egyptian Numbers. Ancient Tools for Computation. Introduction to Computers

General Concepts. Abstraction Computational Paradigms Implementation Application Domains Influence on Success Influences on Design

Computer Architecture. Prologue. Topics Computer Architecture. Computer Organization. Organization vs. Architecture. History of Computers

Computer Systems. Computer Systems. Wolfgang Schreiner Research Institute for Symbolic Computation (RISC-Linz) Johannes Kepler University

Let s begin with the very beginning...

Computer Science 1000: Part #3. Binary Numbers

Chapter 1. Chapter 3. Introduction to Computers. Computer Software

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 01, SPRING 2013

CHAPTER 1 Introduction

! Ancient computers. ! Today's microprocessors. Memory. ! Stores data and programs. ! 256 "words." (16 bits each) ! Special word for stdin / stdout.

CHAPTER 1 COMPUTER OVERVIEW

Babbage s computer 1830s Boolean logic 1850s. Hollerith s electric tabulator Analog computer 1927 EDVAC 1946 ENIAC

Computer Organization CS 206T

The Building Blocks: Binary Numbers, Boolean Logic, and Gates. Purpose of Chapter. External Representation of Information.

Programming Languages 2nd edition Tucker and Noonan"

Computer Basics 1/24/13. Computer Organization. Computer systems consist of hardware and software.

Introduction. A. Bellaachia Page: 1

The History of Computers. How did this all get started?

Language Translation, History. CS152. Chris Pollett. Sep. 3, 2008.

ECE 6721: Emerging Computing Technologies. Lecture 2: Motivation and History

Transcription:

A Brief History of Computer Science

4700 Hundred years ago Sumerians invented the abacus Sand, lines, pebbles Sexagesimal Base 60 still used today Time, distance How do you count like that?

Side trip Factors of 60 are. 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60 60 is a Superior Highly Composite Number (number theory stuff, more factors than other numbers scaled relative to itself) So What??? With that many factors, fractions are simplified Example: Divide an hour into many even parts

Side trip It is also a Colossally Abundant Number (instead of factors, lots of divisors)

Side trip 1 2 2 6 3 12 4 60 5 120 6 360 7 2520 8 5040 9 55440 10 720720 11 1441440 12 4324320 13 21621600 14 367567200 15 6983776800 3 2 5 2 3 7 2 11 13 2 3 5 17 19

Back on Track 2100 years ago Antikythera mechanism invented Analog computer - what is that?

17 th Century John Napier Logarithms - used for what Blaise Pascal Pascalines for his father

19 th Century Charles Babbage Analytic engine - for what Expandable memory Arithmetic unit Logic unit, loops, conditional branching

19 th Century Augusta Ada King, Countess of Lovelace Father was? Known as Ada Lovelace Translated an Italian Engineer s paper (on the analytic engine) Wrote notes longer than the paper Note G recognized as the world s first algorithm (for computing Bernoulli numbers)

19 th Century George Boole Boolean Algebra aided in modeling computations Joseph Jacquard Loom Punched card Herman Hollerith (Computing-Tabulating-Recording)

20 th Century Before 1920 computers were human beings doing complex calculations for Commerce, Government and Research After 1920 computing machine began to refer to hardware that replaced human computers Mathematicians began analyzing these kinds of machines

20 th Century Church-Turing hypothesis "Mathematical method was 'effective' if it could be set out as a set of instructions that a human could follow with pencil and paper By the late 1940s machines did that

20 th Century Alan Mathison Turing Invented a hypothetical device (model) used to study computing and computers The Turing machine This is really to model computation, not to model computers Computer science is really mostly about computation and understanding it

20 th Century The Universal Turing Machine Can model all Turing machines This is considered by most to be the fundamental theoretical breakthrough in computer science The stored program computer evolved from this notion of a Universal Turing Machine

20 th Century Jon Von Neumann Father of the computer Renaissance guy, polyglot Data and programs can be the same thing and all stored in memory Computers are made up of parts Main memory, accumulator, ALU

End of Part 1 And you still haven t written a single line of code

Hardware & Software HW physical SW not physical Memory binary digits bits a bit can be 0 or 1 byte 8 bits

Hardware

Hardware

Hardware

Hardware 1. User Interface 2. Auxilary Input/Output (I/O) Devices 3. Auxiliary Storage Devices 4. Network Connection 5. Internal Memory 6. Central Processing Unit

Software 1. System Software 1. Operating System 2. Network Operating System 3. Compilers/Interpreters 4. User Interface 2. Applications Software 1. Office (examples) 2. Multimedia 3. Database 4. Everything we write

Counting 1. First, let s count 2. Base 10 0,1,2,3,4,5,6,7,8,9 3. Base 2 0,1 4. Base 5 0,1,2,3,4 5. Base 8 0,1,2,3,4,5,6,7 6. Base 16 0,1,2,3,4,5,6,7,8,9,.

Counting 1. Since a byte is 8 bits. 2. Possible numbers? 3. Negative numbers?

Counting Base 10 decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

Counting Base 10 Base 2 decimal binary 0 0 1 1 2 10 3 11 4 100 5 101 6 110 7 111 8 1000 9 1001 10 1010 11 1011 12 1100 13 1101 14 1110 15 1111 16 10000 17 10001 18 10010 19 10011 20 10100 21 10101 22 10110 23 10111 24 11000 25 11001 26 11010 27 11011 28 11100 29 11101 30 11110 31 11111 32 100000 33 100001 34 100010

Counting Base 10 Base 2 Base 8 decimal binary octal 0 0 0 1 1 1 2 10 2 3 11 3 4 100 4 5 101 5 6 110 6 7 111 7 8 1000 10 9 1001 11 10 1010 12 11 1011 13 12 1100 14 13 1101 15 14 1110 16 15 1111 17 16 10000 20 17 10001 21 18 10010 22 19 10011 23 20 10100 24 21 10101 25 22 10110 26 23 10111 27 24 11000 30 25 11001 31 26 11010 32 27 11011 33 28 11100 34 29 11101 35 30 11110 36 31 11111 37 32 100000 40 33 100001 41 34 100010 42

Counting Base 10 Base 2 Base 8 Base 16 decimal binary octal hexadecimal 0 0 0 0 1 1 1 1 2 10 2 2 3 11 3 3 4 100 4 4 5 101 5 5 6 110 6 6 7 111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F 16 10000 20 10 17 10001 21 11 18 10010 22 12 19 10011 23 13 20 10100 24 14 21 10101 25 15 22 10110 26 16 23 10111 27 17 24 11000 30 18 25 11001 31 19 26 11010 32 1A 27 11011 33 1B 28 11100 34 1C 29 11101 35 1D 30 11110 36 1E 31 11111 37 1F 32 100000 40 20 33 100001 41 21 34 100010 42 22

Characters 1. Need to manipulate more than numbers 2. How do you represent characters? 3. ASCII 8 bits 256 combinations 4. Unicode 16 bits 65,536 combinations

other stuff 1. sound 2. images 3. Video 1. Compression 2. Standards? 4. What else needs to be modeled? 1. Program instructions 5. Memory

Programming Languages 1. 1 st Generation (1940s-1950s) 1. Machine Language 2. 2 nd Generation (1950s-present) 1. Assembly Languages 3. 3 rd Generation (1950s-present) 1. High Level Languages 1. FORTRAN, COBOL, BASIC, C, PL/1 2. Pascal, HAL/S 3. C++, Smalltalk, Python, Java 2. Compiler/Interpreter

SW Development Life Cycle 1. Waterfall model 1. Analysis 2. Design 3. Implementation 4. Integration 5. Deploy/Maintain 2. Agile

Object Oriented Programming

End of Part 2 And you SLACKERS still haven t written a single line of code