CS1001 Lecture 3. Overview Computer Science; Algorithms Computer Science; Algorithms Multidisciplinary Heritage Multidisciplinary Heritage Evolution of.

Slides:



Advertisements
Similar presentations
Chapter 2: Data Manipulation
Advertisements

Chapter 2 Data Manipulation Dr. Farzana Rahman Assistant Professor Department of Computer Science James Madison University 1 Some sldes are adapted from.
Introduction to Computer Programming Nai-Wei Lin Department of Computer Science and Information Engineering National Chung Cheng University.
Computer Science It’s more than programming Eric Lantz.
Chapter 1: An Introduction to Computer Science Invitation to Computer Science, Java Version, Third Edition.
The father of computing history: Charles Babbage by Anja Jentzsch
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Computer Science: An Overview Tenth Edition by J. Glenn Brookshear Chapter.
1 CS1001 Lecture Overview Java Programming Java Programming Midterm Review Midterm Review.
CSC 200 Spring 2006 Instructor: Matt Kayala. What is a “Computer”? We all use them for all kinds of tasks: –Games –Word Processing Good at repetitive.
Chapter 2.2 Machine Language.
1. By the end of this lecture you should be able … To describe in general terms how computers function To describe the fetch-execute cycle To explain.
CS 104 Introduction to Computer Science and Graphics Problems History of Computer 09/05/2008 Yang Song (Prepared by Yang Song and Suresh Solaimuthu)
Chapter 1: An Introduction to Computer Science Invitation to Computer Science, C++ Version, Fourth Edition --slides rearranged by Shannon Steinfadt for.
Some of these slides are based on material from the ACM Computing Curricula 2005.
Chapter 0: Introduction
More Basics of CPU Design Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University.
Evolution of Computers
Chapter 1 An Introduction to Computer Science
Computer Structure.
1.1 1 Introduction Foundations of Computer Science  Cengage Learning.
CREATION OF THE COMPUTER & THE GRAND IDEAS OF COMPUTER SCIENCE
CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department.
Wilhelm Schickhard (1623) Astronomer and mathematician Automatically add, subtract, multiply, and divide Blaise Pascal (1642) Mathematician Mass produced.
CIS 197 Computers in Society Professor John Peterson Philosophy Week!
CCSE251 Introduction to Computer Organization
CS 1308 Computer Literacy and the Internet Computer Systems Organization.
CPU Computer Hardware Organization (How does the computer look from inside?) Register file ALU PC System bus Memory bus Main memory Bus interface I/O bridge.
Computer Systems Organization CS 1428 Foundations of Computer Science.
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.
© 2007 Pearson Addison-Wesley. All rights reserved 0-1 Spring(2007) Instructor: Qiong Cheng © 2007 Pearson Addison-Wesley. All rights reserved.
Software Basics. Some Pioneers Charles Babbage Analytical Engine Countess Ada Lovelace First Programmer ? John Von Neumann storing instructions in memory.
Lecture 1 Introduction to Computing Machinery. Colossus Joseph Marie Jacquard Charles Babbage Augusta Ada Countess of Lovelace.
Chapter 1 Introduction.
The Central Processing Unit (CPU) and the Machine Cycle.
Module : Algorithmic state machines. Machine language Machine language is built up from discrete statements or instructions. On the processing architecture,
29 September 2015Birkbeck College, U. London1 Introduction to Computer Systems Lecturer: Steve Maybank Department of Computer Science and Information Systems.
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.
Chapter 2 Data Manipulation. © 2005 Pearson Addison-Wesley. All rights reserved 2-2 Chapter 2: Data Manipulation 2.1 Computer Architecture 2.2 Machine.
Stored Programs In today’s lesson, we will look at: what we mean by a stored program computer how computers store and run programs what we mean by the.
LECTURE#2 INTRODUCTION TO COMPUTERS, HISTORY AND APPLICATIONS INSTRUCTOR: M. MATEEN YAQOOB.
CS 1308 Computer Literacy and the Internet. Objectives In this chapter, you will learn about:  The components of a computer system  Putting all the.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Data Manipulation Brookshear, J.G. (2012) Computer Science: an Overview.
CS 1428 Foundations of Computer Science I. Two Main Components  Hardware  Physical media that uses electrical current to process instructions.  Software.
Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.
Introduction to Computing BBA-I/BSCS-I Instructor: M. Mateen Yaqoob.
Von Neumann Computers Article Authors: Rudolf Eigenman & David Lilja
Chapter 2: Data Manipulation
Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.
Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.
© 2015 Pearson Education Limited 2015 Quiz in last 15 minutes Midterm 1 is next Sunday Assignment 1 due today at 4pm Assignment 2 will be up today; due.
CSCI 161: Introduction to Programming
Chapter 0: Introduction
Chapter 1: An Overview of Computers and Programming Languages
Chapter 1 The Big Picture
Computer Organization and Architecture
IT253: Computer Organization
History And Development Of Computer
Foundations of Computer Science
Figure 8.1 Architecture of a Simple Computer System.
Introduction to Computing Machinery
Chapter 0: Introduction
MARIE: An Introduction to a Simple Computer
Figure 8.1 Architecture of a Simple Computer System.
MARIE: An Introduction to a Simple Computer
Presentation transcript:

CS1001 Lecture 3

Overview Computer Science; Algorithms Computer Science; Algorithms Multidisciplinary Heritage Multidisciplinary Heritage Evolution of Machine Architecture Evolution of Machine Architecture Modern Machine Architecture Modern Machine Architecture Some Simulators Some Simulators Homework 1 Homework 1

Goals Define Computer Science; what things are part of computer science? Define Computer Science; what things are part of computer science? Define “Algorithm” Define “Algorithm” Understand origins of Mechanical Computing Understand origins of Mechanical Computing How did mechanical computing influence modern computer architecture? How did mechanical computing influence modern computer architecture?

Goals (2) Understand the components of modern machine architecture Understand the components of modern machine architecture Examine some basic assembly languages Examine some basic assembly languages Learn how to codify solutions using a given set of actions Learn how to codify solutions using a given set of actions

Assignments Brookshear, Ch 2 (Read) Brookshear, Ch 2 (Read) Read linked documents on these slides (slides will be posted in courseworks) Read linked documents on these slides (slides will be posted in courseworks) Check your and courseworks ( Check your and courseworks (

What is an Algorithm? “An ordered set of unambiguous, executable steps that define a terminating activity” “An ordered set of unambiguous, executable steps that define a terminating activity”

Pythagoras The natural world and whole number ratios The natural world and whole number ratios Credited with “discovering” irrational numbers, but that’s up for debate Credited with “discovering” irrational numbers, but that’s up for debate

Pascal Many contributions to mathematics Many contributions to mathematics A primitive adder, like an odomoter, called the “Pascaline” A primitive adder, like an odomoter, called the “Pascaline” Economics limited its appeal (too expensive) Economics limited its appeal (too expensive)

Gottfried Wilhelm von Leibniz 1666 as Dissertatio de arte combinatoria (Dissertation on the combinatorial art) 1666 as Dissertatio de arte combinatoria (Dissertation on the combinatorial art) (Mozart/Dice Games) (Mozart/Dice Games) Machine below: business success; add, subtract, mult, divide. There was a primitive “language” for programming this device (setting wheel positions) Machine below: business success; add, subtract, mult, divide. There was a primitive “language” for programming this device (setting wheel positions)

Charles Babbage Designed a machine (Difference Engine) capable of performing a calculation many times over (useful for limits, logs, etc) Designed a machine (Difference Engine) capable of performing a calculation many times over (useful for limits, logs, etc) Steam Powered; only capable of performing one type of operation without changing the gears on the machine Steam Powered; only capable of performing one type of operation without changing the gears on the machine

Charles Babbage (2) Analytical Engine – A generic machine (never built) that was capable of reading instructions from punched cards. Analytical Engine – A generic machine (never built) that was capable of reading instructions from punched cards. This is the basis of the modern instruction set/execution architecture This is the basis of the modern instruction set/execution architecture Ada Lovelace is credited with designing the language for the analytical engine Ada Lovelace is credited with designing the language for the analytical engine

Foundations of CS (To be continued) David Hilbert – Infinity, is mathematics consistent? David Hilbert – Infinity, is mathematics consistent? Kurt Goedel – No formal system is consistent Kurt Goedel – No formal system is consistent Alan Turing – Demonstrated a real problem in a formal system that no machine could solve Alan Turing – Demonstrated a real problem in a formal system that no machine could solve Turing Machines Turing Machines

The Von Neumann Architecture The “Shared Program Technique” The “Shared Program Technique” –Hardware need not be fixed to solve any problem. Given a simple hardware design, one can program that hardware to accomplish any task “Conditional Control Transfer” “Conditional Control Transfer” –Any program can be written with simple IF/THEN decisions plus Jumps (GOTOs)

Modern Systems Memory (a program is data) to store volatile information Memory (a program is data) to store volatile information Hardware that reads the program and manipulates associated data (or itself, like a virus) Hardware that reads the program and manipulates associated data (or itself, like a virus) Critical idea: A program is data Critical idea: A program is data

Figure 2.8: The machine cycle

Figure 2.1: CPU and main memory connected via a bus

Figure 2.4: The architecture of the machine described in Appendix C

Figure 2.5: The composition of an instruction for the machine in Appendix C

Figure 2.6: Decoding the instruction 35A7

Figure 2.10: The program from Figure 2.7 stored in main memory ready for execution

Figure 2.11: Performing the fetch step of the machine cycle (continued)

Figure 2.11: Performing the fetch step of the machine cycle

A simple instruction set MOVR MOVR MOVL MOVL MOVU MOVU LABEL LABEL GOTO GOTO

Simulators Modern Architectures Modern Architectures –Intel –Apple/Motorola Power –ARM –Simulation/Emulation

Homework The challenge – expressing a process using a fixed number of operations The challenge – expressing a process using a fixed number of operations The problem: The problem: Two creatures (C1 and C2) are to be parachuted onto random locations on an infinite line. When they land, their parachutes detach and remain where they are. The robots may be programmed from the following instruction set: Go left one unit (MOVL ) Go right one unit (MOVR ) Label(LABEL ) Skip next instruction unless there is a parachute here (SKIPPAR) Go to label(GOTO ) Each instruction takes one cycle to execute. Program the robots to collide.