W1005 Intro to CS and Programming in MATLAB. Brief History of Compu?ng. Fall 2014 Instructor: Ilia Vovsha. hip://www.cs.columbia.

Similar documents
CSSE232 Computer Architecture. Introduc5on

CSE 1310: Introduction Mariottini UT Arlington

Problem Solving and Program Design - Chapter 1. Cory L. Strope

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

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

Chapter 1. The Big Picture

Computer Basics 1/6/16. Computer Organization. Computer systems consist of hardware and software.

Elements of Computers and Programming Dr. William C. Bulko. What is a Computer?

Agenda. General Organiza/on and architecture Structural/func/onal view of a computer Evolu/on/brief history of computer.

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

CSCE150A. Administrivia. Overview. Hardware. Software. Example. Program. Pseudocode. Flowchart. Control Structures. Hello World Program CSCE150A

Computer Science & Engineering 150A Problem Solving Using Computers

! Learn how to think like a computer scientist. ! Learn problem solving. ! Read and write code. ! Understand object oriented programming

CSE Opera*ng System Principles

Chapter 1: Why Program? Main Hardware Component Categories 8/23/2014. Main Hardware Component Categories: Why Program?

Computers in Engineering COMP 208. Computer Structure. Computer Architecture. Computer Structure Michael A. Hawker

Lecture 1: CS2400 Introduction to Computer Science

Objec0ves. Gain understanding of what IDA Pro is and what it can do. Expose students to the tool GUI

CS64 Computer Organization

Virtualization. Introduction. Why we interested? 11/28/15. Virtualiza5on provide an abstract environment to run applica5ons.

Topics. Hardware and Software. Introduction. Main Memory. The CPU 9/21/2014. Introduction to Computers and Programming

Chapter 1: Introduction to Computers and Programming

Computer is an electronic machine that can receive, store, transform and output data of all kinds (image, text, numeric, graphics and sound).

Machine Architecture and Number Systems

Welcome to COS151! 1.1

Administration Computers Software Algorithms Programming Languages

Chapter 1: An Overview of Computers and Programming Languages. Objectives. Objectives (cont d.) Introduction

CSE Opera+ng System Principles

Introduction to Basis and Practice in Programming

CHAPTER 1 Introduction to Computers and Java

Instructors: Randy H. Katz David A. PaHerson hhp://inst.eecs.berkeley.edu/~cs61c/fa10. Fall Lecture #1. Agenda

C H A P T E R 1. Introduction to Computers and Programming

Programming: detailed instructions which tell the computer hardware what to do aka software Computer Science: the study NOT of computers, but of what

Welcome to COSC Introduction to Computer Science

Solve only 2 out of 3 questions

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

Introduc)on to Compu)ng. Heng Sovannarith

Welcome to CS 449: Introduc3on to System So6ware. Instructor: Wonsun Ahn

Chapter 1: Introduction to Computers and Java

8/23/2014. Chapter Topics. Introduction. Java History. Why Program? Java Applications and Applets. Chapter 1: Introduction to Computers and Java

Agenda. Old School CS61c. Agenda. New School CS61c 8/26/10. CS 61C: Great Ideas in Computer Architecture (Machine Structures)

Chapter 1 Introduction to Computers and Programming

Programs are: CMPSCI 105/119/120: Programming, Flowchar<ng, and Running Program Flowcharts

Programming 1. Lecture 1 COP 3014 Fall August 28, 2017

Principles of Programming Languages

Compiler Optimization Intermediate Representation

CS1100 Introduction to Programming

Chapter 1: Why Program? Computers and Programming. Why Program?

CS 105 Review Questions #3

Computer Principles and Components 1

CSC 121 Computers and Scientific Thinking

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

Chapter1 Overview of computers

Software. Software. Software. Program Language. Programs written for the ENIAC

CS Computer Architecture

CS 61C: Great Ideas in Computer Architecture Direct- Mapped Caches. Increasing distance from processor, decreasing speed.

Fundamentals of Programming Session 1

CS6200 Informa.on Retrieval. David Smith College of Computer and Informa.on Science Northeastern University

Week 0: Intro to Computers and Programming. 1.1 Why Program? 1.2 Computer Systems: Hardware and Software. Hardware Components

An Introduc+on to Computers and Java CSC 121 Spring 2017 Howard Rosenthal

Test Bank for Prelude to Programming Chapter 0

Operating Systems CS3502 Spring 2018

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

Computers in Engineering COMP 208

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

Figure 1-1. A multilevel machine.

A Review of Chapter 5 and. CSc 2010 Spring 2012 Instructor: Qian Hu

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

Fundamentals of Programming (Python) Basic Concepts. Ali Taheri Sharif University of Technology Spring 2018

Introduction to Computer Systems and Operating Systems

Computer Components 1 CSC1103- Nouf AlJaffan Saturday, 02 February 2013

High-Level Synthesis Creating Custom Circuits from High-Level Code

1) How many gigabytes make a terabyte? A) 10 B) 100 C) 1000 D) 1024 E) 512

Introduction To Computers. About the Course

UNIT V: CENTRAL PROCESSING UNIT

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

Ms. Minerva A. Lagarde

Computer Basics. Computer Technology

Programming 1 - Honors

COS 318: Operating Systems. Overview. Andy Bavier Computer Science Department Princeton University

Computer System. Rui Wang, Assistant professor Dept. of Information and Communication Tongji University.

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

c. Compiler d. Program 9. To maximize a window means a. Fill it to capacity b. Expand it to fit the desktop c. Put only like files inside d.

COMPUTER BASICS LECTURER: ATHENA TOUMBOURI

CS 101 INTRODUCTION TO COMPUTING

Welcome to Computer Organization and Design Logic

The Programming Process Summer 2010 Margaret Reid-Miller

Basic Concepts Of Information Technology (IT)

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

Search Engines. Informa1on Retrieval in Prac1ce. Annotations by Michael L. Nelson

Artificial Intelligence in the World. Prof. Levy Fromm Institute Spring Session, 2017

FPGA for Dummies. Introduc)on to Programmable Logic

Welcome to Computer Organization and Design Logic CS 64: Computer Organization and Design Logic Lecture #1 Winter 2018

COMPUTER SYSTEM. COMPUTER SYSTEM IB DP Computer science Standard Level ICS3U. COMPUTER SYSTEM IB DP Computer science Standard Level ICS3U

History of Java. Java was originally developed by Sun Microsystems star:ng in This language was ini:ally called Oak Renamed Java in 1995

Principles of Programming Languages. Lecture Outline

Describe the layers of a computer system

COMP163. Introduction to Computer Programming. Introduction and Overview of the Hardware

Welcome to Solving Problems with Computers I

Introduction to Computers and Programming Languages. CS 180 Sunil Prabhakar Department of Computer Science Purdue University

Transcription:

W1005 Intro to CS and Programming in MATLAB Brief History of Compu?ng Fall 2014 Instructor: Ilia Vovsha hip://www.cs.columbia.edu/~vovsha/w1005

Computer Philosophy Computer is a (electronic digital) device for performing computa?on Requires a list of instruc?ons (program) wriien in special language (programming language) Computers can t think (despite the popular sci- fi myth) If you tell me precisely what is that a machine cannot do, then I can always make a machine which will do just that John Von Neumann (1948) 2

Milestones 14 th Century: Abacus 1837: analy?cal engine descrip?on (Charles Babbage) Before 1935: person performs computa?ons 1936: principles of modern computers (Turing Machines, Alan Turing) 1935 1945: first digital machines (Iowa State, Colossus ) 1946: Electronic- Numeric- Integrator- and Computer (ENIAC), first electronic large scale, general- purpose computer (UPENN) 1946: Von Neumann architecture (stored- program computer, basis of modern architecture) 3

Milestones 1951: the advent of microprogramming 1960-70s: early supercomputers, integrated circuits, microprocessors, mainframes and?me- sharing 1980s: personal computers, hardware cost reduc?on 4

Hardware Components 1. Memory (main, secondary, storage media) 2. Central Processing Unit (CPU) 3. Input devices (mouse, keyboard) 4. Output devices (monitor, printer) 5. Network connec?on 5

Anatomy of Memory Computer memory is a sequence of storage loca?ons (cells) Each cell has a unique address (posi?on in memory) Cell contents store data or program instruc?ons A cell is a group of bytes (single characters) Bytes are composed from groups of binary digits (bits = 0/1) Retrieve and store values from/to cell using electronic signal 6

Main & Secondary Memory Two types of main memory: Random Access Memory (RAM): temporary, vola?le, fast, limited but can be increased Read Only Memory (ROM): permanent, can t write/store info, fixed amount Secondary: Semi- permanent data storage through tapes/disks Disks are organized into files 7

CPU Two roles: 1. Coordinate opera?ons 2. Arithme?c/logical opera?ons on data Typical opera?ons: Retrieve instruc?ons Decode instruc?ons Process data Store results CPU memory: high- speed loca?ons called registers 8

Networks Connect mul?ple devices to share resources Local Area Network (LAN): large computer (server) shares resources between many computers Wide Area Network (WAN): network over large geographic area World Wide Web (WWW): developed by CERN, (1989), effec?ve and uniform system of accessing informa?on on the internet Web browser: program with a user interface to navigate the web 9

Solware Opera?ng System: Controls interac?on between user and hardware/solware Manages resources Stored in ROM and par?ally loaded (boo?ng) into RAM Command line (UNIX) or graphical (Windows, Mac OS) interface Applica?on Programs: Accomplish specific tasks Must be compa?ble with OS and hardware 10

Programming Languages Language for wri?ng instruc?ons to machines Machine language: binary instruc?ons, explicit, low- level opera?ons Assembly language: user- friendly representa?ons of machine instruc?ons 3 rd genera@on languages: higher- level nota?on (Fortran, Lisp) Object oriented languages: abstrac?on (C++, Java) Scrip@ng languages: highest level, gluing together computa?ons, shorter programs (Perl, Python, MATLAB) High- level language: User- friendly, easy to use, built- in func?ons (+) Slower, less control (- ) 11

Compilers Compiler: program that translates code into machine language Reads input source file (lexical analysis) Scans file to check for syntax errors i.e. proper grammar (syntax analysis) Checks file for seman?c consistency (seman@c analysis) Converts code to machine language (code generator) Op?mizes code (code op@mizer) Large programs are olen compiled in pieces Target machine code can be linked to other files/libraries (linker) Puts together all of the files (loader) à ready for execu?on Execu?ng a program: CPU examines each program instruc?on in memory and sends out signals to carry it out 12

Solware Development Method 1. Specify the problem 2. Analyze the problem 3. Design algorithm 4. Implement algorithm 5. Test & Verify code 6. Maintain & Update solware 13