1 / 52

Introduction to Computing & Programming

Introduction to Computing & Programming. Outline. History of Computer Systems Computer Systems Computer Hardware Computer Software Programming Languages. History of Computer Systems. History of Computer Systems. 1822 – The Difference Engine

jkittel
Download Presentation

Introduction to Computing & Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Computing & Programming

  2. Outline • History of Computer Systems • Computer Systems • Computer Hardware • Computer Software • Programming Languages

  3. History of Computer Systems

  4. 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).

  5. First Generation Computers 1944 – MARK1 • by Howard Aiken • an electromechanical computer. (thefirst realization of Babbage’s Analytical Engine). 1945 –1st Computer with Stored Program • by John von Neumann • 1st 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

  6. 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 40ft. x 20ft. 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.

  7. 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!

  8. DEC PDP-8 Classic Data General SuperNOVA Packard Bell PB250 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.

  9. Intel 4004 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.

  10. 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.

  11. Computer Systems

  12. 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

  13. Computer Hardware

  14. 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

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

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

  17. 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)

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

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

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

  21. 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

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

  23. 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 • Computers are digital, represent data in bit patterns • Bit • shorthand for Binary digIT • a digit that can only consists of 2 values: 0 & 1 • Byte • Each memory location has 8 bits = 1 byte

  24. 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

  25. Computer Memory Basics

  26. 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 throughother items first • More common in secondary memory

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

  28. 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

  29. 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

  30. 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

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

  32. Input Devices • Keyboard • Mouse / trackball • Touch screens • Scanners • Webcam • Joystick • Microphone

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

  34. Output Devices • Monitors • Printers • Plotters • Voice Output Devices

  35. Computer Software

  36. 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

  37. + = Input Software Fundamentals

  38. Software Fundamentals • Systems Software • Instructions that manage the systems resources • Application Software • Instructions that perform specific user tasks Computer Software Systems Software Application Software

  39. 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

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

  41. 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 UNIX Linux DOS Macintosh OS VMS

  42. 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

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

  44. Programming Languages

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

  46. Programming Languages • Machine Language(first generation) • The computer’s ‘native language’ • Composed of binary digits (0s, 1s) • 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

  47. 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, QuickBasic • Compiler - translates the entire program at once • Interpreter - translates and executes one source program statement at a time

  48. 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

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

  50. 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

More Related