CMPF144 FUNDAMENTALS OF COMPUTING THEORY An Introduction to Computer Science.

Slides:



Advertisements
Similar presentations
11 Copyright © 2010 Pearson Education, Inc. Publishing as Prentice Hall.
Advertisements

Lecture 1 “History and Evolution of Computers” Informatics.
History of Computing -- Soujanya. Contents Definition Abacus(600 B.C) Cardboard Calculator First Calculator Difference Engine(1822) Well-Known Early Computers.
CSCI-235 Micro-Computers in Science Course Information & Introduction.
Chapter Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing Describe.
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
Computer Architecture CPSC 321 Andreas Klappenecker.
Computer History Presented by Frank H. Osborne, Ph. D. © 2005 Bio 2900 Computer Applications in Biology.
Appendix The Continuing Story of the Computer Age.
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 CSE1301 Computer Programming: Lecture 34 Introduction to the History of 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.
History of IT.
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,
Some of these slides are based on material from the ACM Computing Curricula 2005.
KEYBOARD – an input device used to type data.
Evolution of Computers
Chapter 1 An Introduction to Computer Science
History of 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.
Chapter 01 Nell Dale & John Lewis.
R.D.D. HIGH SCHOOL, BONAIGARH
© Prentice-Hall, Inc Definition  Computer - An electronic device that has the ability to store, retrieve, and process data and can be programmed with.
CSCI Milestones in Computer Development Fall 2007.
Fall, 2006Computer Strtucture1 Computer Structure Nathan Friedman Fall, 2006.
History of Computers Abacus – 1100 BC
Wilhelm Schickhard (1623) Astronomer and mathematician Automatically add, subtract, multiply, and divide Blaise Pascal (1642) Mathematician Mass produced.
The History of Computers
CCSE251 Introduction to Computer Organization
-The trade of goods -The expansion of commerce -Evolution of tools for calculations A sumerian clay tablet.
CS 1410 Intro to Computer Tecnology Computers and History1.

© Prentice-Hall, Inc Definition  Computer - An electronic device that has the ability to store, retrieve, and process data and can be programmed with.
ITGS Chapter 1: Computer history and basics. Slide 1.
Chapter 0 Introduction Yonsei University 1 st Semester, 2012 Sanghyun Park.
Chapter 1 The Big Picture.
1.1 The Computer Revolution. Computer Revolution Early calculating machines Mechanical devices used to add and subtract By Babylonian (Iraq) 5000 years.
HISTORY OF COMPUTER SCIENCE A LESSON BY MATT SMITH.
Microprocessor Fundamentals Week 1 Mount Druitt College of TAFE Dept. Electrical Engineering 2008.
1 History of Computers (Excerpts from CMPE3). 2 The History of Computers The history of computers is interesting (or should be if you are in this class)
From the abacus to microprocessors Exploring the Digital Domain The History of Digital Computers.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
CMSC 120: Visualizing Information 1/29/08 Introduction to Computing.
Computer Science What is Computer Science? Algorithm Design and Analysis Organization and Architecture Artificial Intelligence Databases Operating Systems.
History of the computer and the internet. Marie(: Fifth.
CSCI 161 Class 1 Martin van Bommel.
COMP 268 Computer Organization and Assembly Language A Brief History of Computing Architecture.
History of Computers.
Chapter 1 Introduction.
History of Computing. Where did it start? Abucus 500 B.C. The abacus was first used by the Babylonians as an aid to simple arithmetic at sometime around.
History of Computers! Claire Bromm March 28 th, 2012.
History of Computer Wyatt Feiling Did you know... The first idea for a computer was in the early 1800s Charles Babbage is the man who is credited with.
Computer History How did we get here?.
Why build a computer? u Computers were developed to mechanize mathematical computations. u Two definitions:  A computer is “a programmable electronic.
Who invented the computer?
Introduction to Computing BBA-I/BSCS-I Instructor: M. Mateen Yaqoob.
History of Computers March 26, 2012Greer Potadle.
A BRIEF HISTORY OF COMPUTERS, THE INTERNET AND THE UNIVERSE By L. Gillett Webmaster MMC.
The four generations of digital Computer 1. The first generation computers 2. The second generation computers 3. The third generation computers 4. The.
Information Age “An in depth look at the exciting history of the Calculator and Computer”
History of Computers Past and Present.
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.
The History of Computer Science
Computer Science and Programming: Brief History
CSCI 161: Introduction to Programming
Chapter 0: Introduction
Chapter 1 The Big Picture
methods and simple tools e.g., abacus
Presentation transcript:

CMPF144 FUNDAMENTALS OF COMPUTING THEORY An Introduction to Computer Science

Module 1CMPF144 Fundamentals of Computing TheorySlide 2 Agenda Section 1 - A bit of Formalisation Section 2 – a bit of history Section 3 - the emergence of electronics

Module 1CMPF144 Fundamentals of Computing TheorySlide 3 Module 1 Section 1 A Bit of Formalisation

Module 1CMPF144 Fundamentals of Computing TheorySlide 4 Computer Science: Few Definitions 1. Computer Science (CS) is the study of Computation and Information processing, in hardware and in software. 2. Computer Science, the study of computers, including their design, operation, and use in processing information.

Module 1CMPF144 Fundamentals of Computing TheorySlide 5 Computer Science Defined: Aspects Computer science combines both theoretical and practical aspects of engineering, electronics, information theory, mathematics, logic, and human behavior (NOT only programming). Aspects of computer science range from programming and computer architecture to artificial intelligence and robotics.

Module 1CMPF144 Fundamentals of Computing TheorySlide 6 Computational Models 1. The Turing machine Model: Stores characters on an infinitely long tape. One square, (representing an instruction/formula), being scanned at any given time, (by a read/write head), and executed.

Module 1CMPF144 Fundamentals of Computing TheorySlide 7 Computational Models Continued.. 2. Recursive Functions Model: uses functions and function composition to operate on numbers. The lambda calculus, one of the topics covered under Algorithmic Analysis, uses a similar approach. Others, including Markov Algorithms and Post Systems, use grammar-like rules to operate on character strings.

Module 1CMPF144 Fundamentals of Computing TheorySlide 8 Fundamental Principle of CS The Church-Turing thesis: “all known kinds of general computing devices are essentially equivalent in what they can do, although they vary in time and space efficiency” This thesis is sometimes treated as the fundamental principle of computer science.

Module 1CMPF144 Fundamentals of Computing TheorySlide 9 von Neumann Machine 1. Todays Sequential Computers are named after von Neumann computers or Turing machines 2. They resemble most real computers in use today. 3. They do one small, deterministic task at a time. The Deterministic tasks done during an Instruction Cycle are:  “FETCH and EXECUTE a SIMPLE DIRECTIVE “  We know this as an INSTRUCTION).

Module 1CMPF144 Fundamentals of Computing TheorySlide 10 Other Types of Computers Some are practical like: parallel machines Some are theoretical like: Random Machines Oracle and Quantum machines.

Module 1CMPF144 Fundamentals of Computing TheorySlide 11 CS Study Spectrum 1. What programs can and cannot do ? Computability and Artificial Intelligence 2. How programs should efficiently perform specific tasks? Algorithms 3. How programs should store and retrieve specific kinds of information? Data Structures 4. How programs and people should communicate with each other? user interfaces programming languages

Module 1CMPF144 Fundamentals of Computing TheorySlide 12 First Exercise Students are grouped into several groups Category A identifies 5 items 'that can be solved using computers' Category B identifies 5 items 'that cannot be solved using computers' Category C identifies 5 items 'that can eventually be solved; not so sure; in any case difficult; we don't know‘ Students discuss in class the items identified

Module 1CMPF144 Fundamentals of Computing TheorySlide 13 Up to 1900 Section 2 A Bit of History: Up to 1900

Module 1CMPF144 Fundamentals of Computing TheorySlide 14 Up to 1900 Theoretical computing began with Pascal and Babbage in the 1800's. Antikythera mechanism built in 87 B.C A device for astronomical calculations Abacus: Ancient Babylonia Al-Khawrizmi: (around 800 AD) wrote 'Al-jabr wa'l muqabala' (Al-jabr --> Algebra) one of the greatest mathematicians ever

Module 1CMPF144 Fundamentals of Computing TheorySlide 15 Up to 1900 Napier, John ( ) invented logarithms and first to use decimal to represent fraction numbers In 1641 the French mathematician and philosopher Blasé Pascal built a mechanical adding machine

Module 1CMPF144 Fundamentals of Computing TheorySlide 16 Up to 1900 Continued.. Gottfried Wilhelm Leibniz ( ). He made a machine similar to Pascal but Leibniz also advocated use of the binary system for doing calculations. Charles Babbage ( ) The Difference Engine The Analytical Engine; Supposed to calculate tables for x 2 + x + 41 Ada Augusta Byron, Countess of Lovelace ( ), Sometimes is called the ‘first’ programmer, ADA language is named after her.

Module 1CMPF144 Fundamentals of Computing TheorySlide 17 Up to 1900 Continued.. George Boole ( ) Formulated a mathematical form of logic (Boolean Logic) Herman Hollerith ( ) Invented ‘punched card’ for the machine (like programming tool)

Module 1CMPF144 Fundamentals of Computing TheorySlide onwards.. David Hilbert Questions: 1. Is mathematics complete? 2. Is mathematics consistent? 3. Is mathematics decidable? (Entscheidungsproblem. )

Module 1CMPF144 Fundamentals of Computing TheorySlide to 1940s , Kurt Gödel answered two of Hilbert's questions: That every sufficiently powerful formal system is either inconsistent or incomplete. If an axiom system is consistent, this consistency cannot be proved within itself.

Module 1CMPF144 Fundamentals of Computing TheorySlide to 1940s.. Hilberts 3 rd question remained open, with 'provable' substituted for 'true'. In 1936, Alan Turing provided a solution to Hilbert's Entscheidungsproblem by constructing a formal model of a computer “The Turing machine” that there were problems such a machine could not solve. One such problem is the so-called "halting problem": given a Pascal program, does it halt on all inputs?

Module 1CMPF144 Fundamentals of Computing TheorySlide 21 From 1900 Onwards Section 3 Electronics Finds Its Way into Computation

Module 1CMPF144 Fundamentals of Computing TheorySlide 22 Electronic Computers.. Alan Turing: “COLOSSUS” A Computing device breaking ENIGMA Code Howard H. Aiken : “Mark I” An electromechanical computer in 1944, with the assistance of IBM. John Vincent Atanasoff and Clifford Berry An electronic computer for solving systems of linear equations. It never worked properly !

Module 1CMPF144 Fundamentals of Computing TheorySlide Onwards … John William Mauchly with J. Presper Eckert, Jr. :” ENIAC” A general-purpose electronic computer originally intended for artillery calculations Von Neumann's report: “EDVAC” "First Draft of a Report on the EDVAC“ A very influential report that contains many of the ideas still used in most modern digital computers, including a merge-sort routine. Eckert and Mauchly went on to build UNIVAC.

Module 1CMPF144 Fundamentals of Computing TheorySlide to Konrad Zuse: “Z3” The first operational, general-purpose, programcontrolled calculator (1941) F. C. Williams and others: “MARK 1” Manchester University built the Manchester Mark I, one version of which was working as early as June This machine is sometimes called the first stored-program digital computer.

Module 1CMPF144 Fundamentals of Computing TheorySlide 25 Konrad Zuse – Z1 and Z3 Zuse1 ('Z1'): first electro-mechanical computer, Berlin, based on rotating metal plates Zuse3 ('Z3'): first electrical computer, Berlin, , based on relays Freely programmable Programs were stored on punch tape reader - not in memory Memory was used to store variables

Module 1CMPF144 Fundamentals of Computing TheorySlide 26 Z3 - Architecture

Module 1CMPF144 Fundamentals of Computing TheorySlide 27 Z3 - Details Implementation: 600 relays numeric unit, 1600 relays storage unit Frequency: 5-10 Hertz Numeric unit: Floating point unit, 16 steps for multiplication, 3 steps for addition, 18 steps division Speed: Multiplication 3 sec, division 3 sec, addition 0.7 sec Input: Decimal keyboard with 20 digits, automatic binary coding Output: With lamps, 4 decimal digits with decimal point Word length: 22 Bit, floating point: mantissa, exponent and sign Number of relays: 2000 Memory: 1400 relays, 64 words of 22 bit Consumption: Approx watts Weight: Approx kg

Module 1CMPF144 Fundamentals of Computing TheorySlide 28 Invention of Transistors John Bardeen, Walter Brattain and William Shockley: 1947 Invented the Transistor Transistors started the era of 2nd Generation Computers. Transformed the computer. Made Microprocessor revolution possible. For this discovery they won the 1956 Nobel Prize inphysics.

Module 1CMPF144 Fundamentals of Computing TheorySlide Onwards: Jay Forrester : 1949 Invented magnetic core memory Grace Murray Hopper : “Compiler” The notion of a compiler, at Remington Rand, in John Backus and others: “FORTRAN” The first FORTRAN compiler ( April 1957 ) John McCarthy : “LISP, 1958” Alan Perlis, John Backus, Peter Naur and others: Around 1959, “Algol”

Module 1CMPF144 Fundamentals of Computing TheorySlide 30 Integrated Circuits and … Jack Kilby (Texas Instruments) Robert Noyce (Fairchild Semiconductor) invented the integrated circuit in In the 1960's, computer science came into its own as a discipline. In fact, the term was coined by George Forsythe, a numerical analyst. The first computer science department was formed at Purdue University in 1962

Module 1CMPF144 Fundamentals of Computing TheorySlide 31 Integrated Circuits and … The first person to receive a Ph. D. from a computer science department was Richard Wexelblat, at the University of Pennsylvania, in December Operating systems saw major advances. Fred Brooks at IBM designed System/360: A line of different computers (“family”) with the same architecture and instruction set, from small machine to top-of-the-line. Edsger Dijkstra at Eindhoven: Designed the THE multiprogramming system.

Module 1CMPF144 Fundamentals of Computing TheorySlide 32 The Internet … At the end 1960s, ARPAnet, a precursor to today's Internet, began to be constructed. Unix, a very influential operating system, was developed at Bell Laboratories by Ken Thompson (b. 1943) and Dennis Ritchie (b. 1941). Brian Kernighan and Ritchie together developed C, an influential programming language. Other new programming languages, such as Pascal (invented by Niklaus Wirth) and Ada (developed by a team led by Jean Ichbiah), arose.

Module 1CMPF144 Fundamentals of Computing TheorySlide 33 CISC, RISC and beyond.. The first RISC architecture development was begun by John Cocke in 1975 The rise of the Supercomputer: “ 1970s” Seymour Cray designed the CRAY-1, which was first shipped in March It could perform 160 million operations in a second. The Cray XMP came out in Cray Research was taken over by Silicon Graphics.

Module 1CMPF144 Fundamentals of Computing TheorySlide 34 The Fastest Computer (Top 500 ) Date: Nov 2005

Module 1CMPF144 Fundamentals of Computing TheorySlide 35 PCs and Internet 1980 decade also saw the rise of the personal computer, thanks to Steve Wozniak and Steve Jobs, founders of Apple Computer. The first computer viruses are developed c onward we the explosion of Internet that brought computers into the home of millions throughout the world

Module 1CMPF144 Fundamentals of Computing TheorySlide 36 Exercise Turing Test : A test based on written conversation to decide whether the entity in the next room/other side is a human or computer You are required to find Turing Test or chatterBox on the Internet and perform the test (you can visit this website to find list of test available) [ ] Based on your observation, explain how do you determine whether the entity is human or computer by stating your reasons. Submit your answer together with the extract of the conversation between you and that entity on the (24 th April 2006) during lecture.