COMP 102: Computers and Computing Lecture 1: Introduction!

Similar documents
INFS 214: Introduction to Computing

Introduction To Computers. About the Course

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

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

CS140 Lecture 09a: Brief History of Computing

Evolution of the Computer

Computer History CSCE 101

Charles Babbage, a Mathematics professor from England, is recognized as the Father of the Computer. He was born in 1791, and began designing the

Welcome to COS151! 1.1

You Will Need Floppy Disks for your labs!

Unit 4: Emerging Technologies. A History of Personal Computing by Mrs. Ogletree

HISTORY OF COMPUTERS HISTORY OF COMPUTERS. Mesleki İngilizce - Technical English. Punch Card. Digital Data. II Prof. Dr. Nizamettin AYDIN.

Early Calculating Tools

History of Computing. Slides from NYU and Georgia Tech

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

Part (01) Introduction to Computer

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

CS101 Lecture 29: Brief History of Computing

Describe the layers of a computer system

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

Computers in Engineering COMP 208

Computer Basics. Computer Technology

Overview of a computer

HISTORY OF COMPUTING


CS 1 Notes 1 - Early Computing and 2 - Electronic Computing

Chapter 1. The Big Picture

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

Introduction to Computer Science. What is Computer Science?

EITF20: Computer Architecture Part1.1.1: Introduction

Name: Date: Hour: The abacus (still in use today) is about 5,000 years old. Not a computer.

The Generations of Computers

CHAPTER1 : Part 2 INTRODUCTION & HISTORY OF COMPUTERS. UNIVERSITI TENAGA NASIONAL Generates Professionals

ENG 101 Lesson -6. History of Computers

Lyman Briggs Lecture Series. Group Question. Discussion Questions. Definition of Computer. Definition of Modern Computer. Definition of a Computer

Great Inventions written by Bob Barton

The History of Computers

Machine Architecture and Number Systems

Welcome to COSC Introduction to Computer Science

EVOLUTION OF COMPUTERS. In the early years, before the computer was invented, there are several inventions of counting machines.

SSRVM Content Creation Template

Computer Systems. Hardware, Software and Layers of Abstraction

CSC Operating Systems Fall Lecture - I Introduction. Tevfik Ko!ar. Louisiana State University. August 25 th, Contact Information

COMPUTER HISTORY Compiled by Charles Kim Howard University

Test Bank for Prelude to Programming Chapter 0

Processor: Faster and Faster

Lecture 1 INFORMATICS. The purpose of this course. To help students. Prof. János Fodor. Computer Literate vs. Competent

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

An Incomplete History of Computation

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

Algorithm: Program: Programming: Software: Hardware:

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

CHAPTER 1 Introduction

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

MICROPROCESSOR SYSTEM DESIGN

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

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

Chapter 1: Introduction to Computers

Learning Objectives. In this chapter you will learn about:

Chapter 1: Introduction to Computers. In this chapter you will learn about:

Computer Science 4500 Operating Systems. Welcome! In This Module. Module 1 Introduction, Overview and History

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

Chapter 1 Basic Computer Organization

A (BRIEF) HISTORY OF COMPUTING. By Dane Paschal

A Brief History of Computer Science

Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall

CS Operating Systems (OS) Introduction. Lecture 2 Sept 12, 2018

CHAPTER 1 Introduction

Microprocessors I MICROCOMPUTERS AND MICROPROCESSORS

CS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng.

Monday, January 27, 2014

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

Chapter One. Computers in Context

Introduction to Computer Systems and Operating Systems

ENIAC - background. ENIAC - details. Structure of von Nuemann machine. von Neumann/Turing Computer Architecture

History, Hardware, OS Concepts

Chapter 1. Introduction to Computers in Medicine

THE GENERATIONS OF COMPUTER

Downloaded from

Lecture 1 Introduction to Microprocessors

COMPUTERIZED OFFICE MANAGEMENT

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

Computer science First Class Lecture 1

Let s begin with the very beginning...

Wednesday, January 28, 2018

What You Will Learn Today

History of Computers

Welcome to CSE 4300! Spring 2018

LECTURE -I BASIC CONCEPTS OF COMPUTERS

Chapter 2. Perkembangan Komputer

EECE416 :Microcomputer Fundamentals and Design ( Microcomputer & Microprocessor ) COMPUTER HISTORY

CS 101 INTRODUCTION TO COMPUTING

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

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

Administration Computers Software Algorithms Programming Languages

Computer Evolution. Budditha Hettige. Department of Computer Science

Chapter 1 History & Hardware

HISTORY OF CALCULATION. Evolution of Computation

ABC Atanasoff-Berry Computer

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

Transcription:

COMP 102: Computers and Computing Lecture 1: Introduction! Instructor: Kaleem Siddiqi (siddiqi@cim.mcgill.ca) Class web page: www.cim.mcgill.ca/~siddiqi/102.html

Outline for today What are computers? What is computing? What will this course contain? Interesting success stories from the field of computer science. A brief history of computers and computing. 2

About Me How did I get here? Cathedral and John Connon School, Bombay B. Sc. in Electrical Engineering (Lafayette College) Masters/Ph.D. in Electrical Engineering (Brown University) Prof. at McGill 1998- What else do I teach? Intro to Computer Systems (COMP-273) Fund of Computer Vision (COMP-558) Shape Analysis (COMP-766) What kind of research am I interested in? Computer Vision, Medical Imaging, Artificial Intelligence, Brain Imaging 3

The Shape Analysis Group http://www.cim.mcgill.ca/~siddiqi 4

Am I taking the right course? I want to learn how to program. I want to know how to use Word and Excel. I want to build intelligent robots. I want to design cool Web pages. I want to understand how the human brain works. 5

Goals for the course Discuss interesting facts and ideas related to computers and computing. How computers represent data. How we can give instructions to computers. What problems computers can (or not) solve. Improve your computer-literacy quotient. Explore current applications of computer science and computing. 6

Course Syllabus Part 1: What do we know about computation? Storing information (bits, bytes, memory) Manipulating data (searching, sorting and more) Hiding data (how and why) Computer Systems Examining what problems can be solved and how fast. Part 2: What can we do with computation? Designing simulations Robotics, artificial intelligence Computer vision and imaging Other applications 7

Evaluation method Four assignments (40%) Individual work. Some theory, some application. No formal programming required. Late policy: assignments are due in class on due date, -20% for each day late. In-class midterm examination 1 (30%) In-class midterm examination 2 (30%) 8

Other details about the course Textbook: None required. Office hours: Kaleem Siddiqi: McConnell 420. See web page for day/time. TA: See web page. Course material and announcements available on class website: www.cim.mcgill.ca/~siddiqi/102 9

The ancestors of the computer Counting machines (abacus, etc.) Analog computers to perform astronomical calculations. Intricate mechanical automatons. Why aren t these computers? What s missing? 10

Charles Babbage (1791-1871) Lived in England." He was a polymath (solved problems from Astronomy to Zoology, in particular mathematics, philosophy, engineering). Held Newton s chair at Cambridge. Invented: The cowcatcher, Flat-rate postage, Operations research His design for the analytical engine presaged much of the design of modern digital computers. 11

The Difference Engine Originally a computer was a job description of a person who created numerical tables, e.g. log 2 (x) Babbage had a scheme to automate table creation using finite differences. The Difference Engine No.1 required 25,000 parts, 15 tons, 8 feet high, and was never built. His redesigned Difference Engine No.2 was built in 1990 and actually worked! 12

Difference Engine: Main idea Let s play a game: 0, 1, 2, 3, 4,? 3, 5, 7, 9, 11,? 1, 4, 9, 16, 25,? 1, 3, 6, 10, 15,.? 13

Generating Even Numbers 2 4 6 8 10 12 +2 +2 +2 +2 +2 Instructions: 1. Start with 2. 2. To get the next number, add 2 to the previous one. 14

Generating Squares 1 4 9 16 25 36 3 5 7 9 11 +2 +2 +2 +2 Instructions: 1. Start with 1. 2. Start the increment with 3. 3. To get the next square, add the increment. 4. To get the next increment, add 2 to the previous increment. 15

Naming the sequences The Evens: 2 2 2 4 6 8 10 12 +2 +2 +2 +2 +2 The Squares: 1 3 2 1 4 9 16 25 36 3 5 7 9 1 +2 +2 +2 +2 16

Programming the Different Engine To produce the Evens, we enter 2 2 into the Difference Engine and turn the crank. For the Squares, enter 1 3 2 For the Triangle numbers, enter 1 2 1 17

Why is this programming? There s a way to say what you want to say, in a way the machine understands. Simple operations (in this case, repeated addition) used to build up more complex objects. If I had to characterize Computer Science in 1-word: REDUCTION. 18

Limitations of the Difference Engine It was never built! (Or at least, not until 1990). It was engineered for a very specific task. It can only compute polynomial functions. Some other functions (e.g. log, trig functions) can be approximated by polynomials. To perform very different calculations, we would need to re-build the machine. 19

The Analytical Engine Much more general, with many of the characteristics of the modern-day computers. Input: program and data can be entered through punched cards. Output: through printer, curve plotter and bell. Internal memory. Arithmetical unit, capable of basic mathematical operations. Never built, more of a thought experiment by Babbage. 20

The first programmer: Ada Lovelace (1815-1852) Ada August, Countess of Lovelace Daughter of the writer Lord Byron. Designed many sequences of Babbage s machine s basic operations. Used a number of modern software design elements, e.g. the loop. What s a loop? Repeat an operation until a specified condition is met. 21

1940: First demo of remote computing The Complex Number Calculator. Designed by Bell Telephone Labs. On its own, just a fancy calculator. Noteworthy because calculations were performed remotely (NYC - Darthmouth) using a Teletype connected via phone lines. 22

1944: Room-sized computers Harvard Mark-1. 765,000 component parts: switches, relays, rotating shafts, clutches hundreds of miles of wire Used to produce mathematical tables. Programmable by punched-paper tape. 23

1948: ENIAC The Electronic Numerical Integrator And Computer (ENIAC) First purely electronic digital computer. Built at the University of Pennsylvania to calculate artillery firing tables for the US Army. 80 feet wide, 27 tons, 120,000 pieces. 300 times faster than the Mark 1 at addition. Programmable by rewiring (switches and cables). No memory. 24

1945: von Neumann s stored-program computer Early computers had fixed programs. Key idea is to hold the program in memory as a series of instructions. The control unit (i.e. computer ) treats these instructions in the same way as other data. Allows the program to change (even as it is running.) 25

The Transistor Revolution Early days: computers worked with vacuum tubes. Think of this as an on/off switch. Switch is caused by electrons. So we call this electronics. Vacuum tubes were about size of a modern light bulb. ENIAC had 17,000 vacuum tubes. 1947: engineers at Bell Laboratories invent the transistor. Also an electronic on/off switch. Much smaller, less hot, less expensive. 21 st century: Intel s Core 2 Duo processor (2006): 253 million transistors. 26

Integrated Circuits Integration of large numbers of tiny transistors into a small chip Mass production capability, reliability, and building-block approach to circuit design ensured the rapid adoption of standardized ICs 27

Personal Computing By late 1970 s, price of computer processors was much more affordable. Companies were starting to produce microcomputers. But not clear whether there was a market for personal computers. Computers were still seen as number-crunchers. In early 80 s, hobbyists starting buying machines like Apple II and IBM PC. Two key developments: Graphical User Interfaces ( GUI ) Application software 28

What came next? 1977: There is no reason for any individual to have a computer in his home. Ken Olsen, CEO of Digital Equipment Corporation 2012: How many computers have you used today? 29

Computers and your education 30

Computers and your health http://www.cim.mcgill.ca/~shape/projects.html 31

Computers and your social life 32

Computers and the entertainment industry Godzilla, 1954 Godzilla, 1998 33

Let s start with a few basic concepts What is computing? Take an input e.g. text, numbers, image, sound Calculate for a while e.g. add/subtract, filter/amplify, summarize Produce an output e.g. new text, new numbers, error message Store the results The computer is the machine which allows us to do all of this. We begin the course by trying to understand these different components. 34

Something to think about Define computer science s contribution to the world in one-word: REDUCTION Computer scientists solve problems by reducing them to simpler problems. Use simple operations to build up more complex objects. We are trying to build a machine to do all kinds of different things simply by programming rather than by the addition of extra apparatus," Turing, 1947. We will see this concept arise in a number of instances throughout the semester. 35

Quick quiz What is the Nobel prize of Computer Science? 36

Take-home message Understand how the difference engine works. Understand the link between what we can compute >> polynomials vs full weather prediction and how we compute it >> difference engine vs modern computer with millions of transistors 37

Final comments For the rest of the semester, we explore the current state of computing. Some emphasis on hardware&engineering, more emphasis on the science behind computer science. Coming up next: What is data, and how is it represented? Material and images from these slides was taken from: http://www.cs.rutgers.edu/~mlittman/courses/cs442-06/ http://www.computerhistory.org http://www.columbia.edu http://www.calvin.edu/academic/rit/webbook http://en.wikipedia.org http://www.cs.mcgill.ca/~jpineau/comp102/ 38