Introduction to Computing Programming Outline History of Computer

  • Slides: 52
Download presentation
Introduction to Computing & Programming

Introduction to Computing & Programming

Outline § History of Computer Systems § Computer Hardware § Computer Software § Programming

Outline § History of Computer Systems § Computer Hardware § Computer Software § Programming Languages

History of Computer Systems

History of Computer Systems

History of Computer Systems 1822 –The Difference Engine • by Charles Babbage - father

History of Computer Systems 1822 –The Difference Engine • by Charles Babbage - father of today’s computer • first programmable computer • mechanically calculated mathematical tables. 1890 - Hollerith Tabulating Machine • by Herman Hollerith • used punched cards to help compile the U. S. Census. • Hollerith formed his own company which later become International Business Machines (IBM).

First Generation Computers 1944 – MARK 1 • by Howard Aiken • an electromechanical

First Generation Computers 1944 – MARK 1 • by Howard Aiken • an electromechanical computer. (the first realization of Babbage’s Analytical Engine). 1945 – 1 st Computer with Stored Program • by John von Neumann • 1 st computer which used the concept of a stored program. • The stored program used a single memory area to store both data and instructions (programs). • Prior to this computer, the instructions and data were stored in separate areas of the computer. • predecessor to modern-day computer systems. vacuum tube

First Generation Computers 1946 – ENIAC (Electronic Integrator & Computer ) • by John

First Generation Computers 1946 – ENIAC (Electronic Integrator & Computer ) • by John Mauchley & J. Eckert • First large scale computer • 2 stories high, large enough to fill a 40 ft. x 20 ft. room • Could do approximately 5, 000 calculations per second. • Later, Mauchley & Eckert built and marketed the UNIVAC - the first commercially available computer designed for both scientific and business applications.

Second Generation Computers 1958 – The IBM 7090 • • introduced by IBM smaller

Second Generation Computers 1958 – The IBM 7090 • • introduced by IBM smaller and less expensive more reliable than their predecessors. Second Generation computers also used new techniques for storing data Magnetic core memory!

Third Generation Computers • In the first and second generation computers, 1 tube and

Third Generation Computers • In the first and second generation computers, 1 tube and 1 transistor represented 1 circuit. • In third generation computers, integrated circuits (IC) is used. • 1 tiny silicon chip could hold hundreds of circuits computers became smaller and faster. • IBM 360 (1964) - one of the first large mainframe computers using IC’s. Packard Bell PB 250 DEC PDP-8 Classic Data General Super. NOVA

Fourth Generation Computers • use Very Large Integrated Scale Circuits (VLSI) on silicon chips.

Fourth Generation Computers • use Very Large Integrated Scale Circuits (VLSI) on silicon chips. • many thousands circuits could be put on the new chip. • IBM 370 - first model of a fourth generation computer. • Intel developed the first microprocessor using VLSI technology in 1971. Intel 4004

Fifth Generation Computers • Have begun but still in progress. • Artificial intelligence (AI)

Fifth Generation Computers • Have begun but still in progress. • Artificial intelligence (AI) is the key characteristic. will come close to bridging the gap between computing and thinking. • Many desired features have been developed such as modern input/output devices such as voice, pen and pointers, which may soon replace keyboards. • AI mechanisms are currently being used in a variety of computer-based machines washing machines, automobiles, robots, vision processing, etc.

Computer Systems

Computer Systems

Overview § 3 main classes of computers: § PCs (Personal Computer) • Relatively small

Overview § 3 main classes of computers: § PCs (Personal Computer) • Relatively small used by one person at a time § Workstation • Larger and more powerful than a PC § Mainframe • Still larger • Requires support staff • Shared by multiple users

Computer Hardware

Computer Hardware

Overview § The hardware components of computer system: § CPU (central processing unit) §

Overview § The hardware components of computer system: § CPU (central processing unit) § Memory (primary and secondary storage) § Input devices • Allows communication to the computer § Output devices • Allows communication to the user

Overview The CPU Input Devices Control ALU Unit Registers Primary Storage Secondary Storage Output

Overview The CPU Input Devices Control ALU Unit Registers Primary Storage Secondary Storage Output Devices

The CPU § A microprocessor (chip) that executes instructions to perform processing tasks. §

The CPU § A microprocessor (chip) that executes instructions to perform processing tasks. § Component parts are: § Control Unit § Arithmetic-Logic Unit § Registers

The CPU § Control Unit § § Access program instructions Decode (interpret) instructions Control

The CPU § Control Unit § § Access program instructions Decode (interpret) instructions Control flow of data throughout system Data flows through paths called buses (data, address, control)

The CPU § Arithmetic-Logic Unit § Perform computations on data § Perform comparisons on

The CPU § Arithmetic-Logic Unit § Perform computations on data § Perform comparisons on data The CPU Control ALU Unit Registers Primary Storage

The CPU § Registers § High speed storage areas § Hold data and instructions

The CPU § Registers § High speed storage areas § Hold data and instructions The CPU Control ALU Unit Registers Primary Storage

The CPU § Machine Instruction Cycle Control Unit 2. Decodes instruction 1. instruction fetched

The CPU § Machine Instruction Cycle Control Unit 2. Decodes instruction 1. instruction fetched from primary storage ALU 3. Performs calculation & comparison 4. result is stored in primary storage Primary Storage

The CPU § Computer performance - measured by the number of Machine Instruction Cycles

The CPU § Computer performance - measured by the number of Machine Instruction Cycles performed per second. § Factors affecting this performance include: § § Clock Speed Word Length Bus Width Line Width § Smaller, faster, cheaper, more powerful chips with each generation

Computer Memory The CPU Input Devices Control ALU Unit Registers Primary Storage Secondary Storage

Computer Memory The CPU Input Devices Control ALU Unit Registers Primary Storage Secondary Storage Output Devices

Computer Memory Basics § Computers are digital, represent data in bit patterns § Bit

Computer Memory Basics § Computers are digital, represent data in bit patterns § Bit § shorthand for Binary dig. IT § a digit that can only consists of 2 values: 0 & 1 § Byte § Each memory location has 8 bits = 1 byte Unit ------kilobyte megabyte gigabyte terabyte petabyte exabyte Number of bytes ------------210 bytes 220 bytes 230 bytes 240 bytes 250 bytes 260 bytes Approximation ---------103 bytes 106 bytes 109 bytes 1012 bytes 1015 bytes 1018 bytes

Computer Memory Basics § Address § Number that identifies a memory location § Used

Computer Memory Basics § Address § Number that identifies a memory location § Used to find data when needed § Some data is too large for a single byte § Most integers and real numbers are too large § Address refers to the first byte § Next few consecutive bytes can store the additional bits for larger data

Computer Memory Basics

Computer Memory Basics

Computer Memory Basics § Memory Access § Random Access • Usually called RAM •

Computer Memory Basics § Memory Access § Random Access • Usually called RAM • Computer can directly access any memory location § Sequential Access • Data is generally found by searching through other items first • More common in secondary memory

Primary Storage (Main Memory) § A temporary storage area that holds 3 things: 1.

Primary Storage (Main Memory) § A temporary storage area that holds 3 things: 1. information you are working with 2. the application software you are using 3. the operating system software § memory capacity , performance of the system .

Primary Storage (Main Memory) § Types of Primary Storage § Registers – part of

Primary Storage (Main Memory) § Types of Primary Storage § Registers – part of the CPU; very fast; limited capacity § Random Access Memory (RAM) – memory chips on motherboard; general storage of program instructions and data § Cache Memory – faster than RAM; provide intermediate storage between secondary storage and RAM § Read-only Memory (ROM) – chips storing permanent instructions needed by computer

Secondary Storage § Secondary memory § Stores instructions and data between sessions § A

Secondary Storage § Secondary memory § Stores instructions and data between sessions § A file stores data or instructions in secondary memory § § Huge storage capacity Cheaper than Primary Storage Slower than Primary Storage Magnetic and optical storage media

Secondary Storage § Types of secondary storage media: § Magnetic tape • Cheap, slow,

Secondary Storage § Types of secondary storage media: § Magnetic tape • Cheap, slow, sequential access: good for backup § Magnetic Disk • Floppy – slow, easily shared with other computers • Hard disk – fast, fixed in the computer • Zip drive § Memory Cards and Cartridges § Optical • CD-ROM, CD-RW, DVD, FMD-ROM • Slower than hard disks • Easily shared with other computers

Input Devices The CPU Input Devices Control ALU Unit Registers Primary Storage Secondary Storage

Input Devices The CPU Input Devices Control ALU Unit Registers Primary Storage Secondary Storage Output Devices

Input Devices § § § § Keyboard Mouse / trackball Touch screens Scanners Webcam

Input Devices § § § § Keyboard Mouse / trackball Touch screens Scanners Webcam Joystick Microphone

Output Devices The CPU Input Devices Control ALU Unit Registers Primary Storage Secondary Storage

Output Devices The CPU Input Devices Control ALU Unit Registers Primary Storage Secondary Storage Output Devices

Output Devices v v Monitors Printers Plotters Voice Output Devices

Output Devices v v Monitors Printers Plotters Voice Output Devices

Computer Software

Computer Software

Software Fundamentals § Some basic terms… § Computer programs - sequences of instructions for

Software Fundamentals § Some basic terms… § Computer programs - sequences of instructions for the computer § Data – input to a program § Stored program concept – instructions written in programs are stored and executed by CPU when needed § Programming - process of writing (or coding) programs § Programmers - individuals who perform programming

Software Fundamentals + = Input

Software Fundamentals + = Input

Software Fundamentals § Systems Software Computer Software Systems Software Application Software § Instructions that

Software Fundamentals § Systems Software Computer Software Systems Software Application Software § Instructions that manage the systems resources § Application Software § Instructions that perform specific user tasks

Systems Software § Controls and supports the computer system’s activities § Supports application software

Systems Software § Controls and supports the computer system’s activities § Supports application software by directing the computer’s basic functions § Facilitates program development, testing, and debugging § Is independent of any specific type of application

Systems Software System Control Programs Systems Support Programs § System Control Programs § Control

Systems Software System Control Programs Systems Support Programs § System Control Programs § Control use of all system resources (hardware, software, data); operating system § System Support Programs § Specialized support capabilities

System Control Programs § Operating System (OS) - main system control program § supervises

System Control Programs § Operating System (OS) - main system control program § supervises the overall operation of the computer § allocates computer resources (eg. CPU time and main memory) § allows us to communicate with the computer § responds to user requests § Common OS include: § Windows DOS UNIX Macintosh OS Linux VMS

System Support Programs § Support the operations, management, and users of a computer system

System Support Programs § Support the operations, management, and users of a computer system § Examples: § System Utilities • Perform common tasks: sorting records, creating directories and subdirectories, restoring accidentally erased files, locating stored files, managing memory usage etc. § Performance monitors • monitor job processing • produce statistical reports on system resource usage

Application Software § Programs performing specific information processing activities and user functionality § Examples:

Application Software § Programs performing specific information processing activities and user functionality § Examples: v v v Spreadsheets Data management Word processing Desktop publishing Graphics v v Multimedia Communication Speech-recognition Groupware

Programming Languages

Programming Languages

Overview § Various programming languages enable people to tell computers what to do §

Overview § Various programming languages enable people to tell computers what to do § Foundation for developing applications low-level language high-level language

Programming Languages § Machine Language (first generation) § The computer’s ‘native language’ § Composed

Programming Languages § Machine Language (first generation) § The computer’s ‘native language’ § Composed of binary digits (0 s, 1 s) Eg. 0110 1001 1010 1011 § The only language that computers understand § Assembly Language (second generation) § One-to-one correspondence to machine language § Somewhat more user-friendly than machine language (mnemonic rather than binary digits) Eg. ADD X Y Z § Assembler – program that translates an assembly language program into machine language

Programming Languages § Procedural Languages (third generation) § One instruction translates into many machine

Programming Languages § Procedural Languages (third generation) § One instruction translates into many machine language instructions § Programs describe the computer’s processing step -by-step § Closer to natural language; uses common words rather than abbreviated mnemonics § Examples: C, C++, Java, Fortran, Quick. Basic § Compiler - translates the entire program at once § Interpreter - translates and executes one source program statement at a time

Programming Languages § Nonprocedural Languages (fourth generation) § Allows the user to specify the

Programming Languages § Nonprocedural Languages (fourth generation) § Allows the user to specify the desired result without having to specify the detailed procedures needed for achieving the result § Example: – data base query language - SQL § Can be used by non technical users § Natural Language Programming Languages (fifth generation (intelligent) languages) § Translates natural languages into a structured, machine-readable form § Are extremely complex and experimental

How are Programs Understood by the Computer? § The Language Translation Process Program written

How are Programs Understood by the Computer? § The Language Translation Process Program written in programming language (source code) Translator program êAssembler êCompiler êInterpreter Program written in machine language (object code) Processed By CPU

Current Programming Languages § Object-Oriented Programming Languages (OOP) § based on objects – packaging

Current Programming Languages § Object-Oriented Programming Languages (OOP) § based on objects – packaging data and the instructions about what to do with that data together § Examples: Java, C++ § Visual Programming Languages § Used within a graphical environment § Examples : Visual Basic and Visual C++ § Popular to non technical users

Current Programming Languages § Hypertext Markup Language (HTML) § standard language used in World

Current Programming Languages § Hypertext Markup Language (HTML) § standard language used in World Wide Web § contains text, images, and other types of information such as data files, audio, video, and executable computer programs § Extensible Markup Language (XML) § Improved on web document functionality § Virtual Reality Modeling Language (VRML) § a file format for describing three-dimensional (3 D) interactive worlds and objects § can be used with the World Wide Web

~THE END ~

~THE END ~