1 / 19

BACS 287

BACS 287. Basics of Programming. History of Computers. Early “computers” mechanized the calculation process Charles Babbage designed the analytical engine - first with stored memory in early 1800s Herman Hollerith built a punched card tabulating machine in 1880s

stasia
Download Presentation

BACS 287

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. BACS 287 Basics of Programming BACS 287

  2. History of Computers • Early “computers” mechanized the calculation process • Charles Babbage designed the analytical engine - first with stored memory in early 1800s • Herman Hollerith built a punched card tabulating machine in 1880s • None of these were “true” computers BACS 287

  3. History of Computers • First true computers developed during W.W.II • EGNIMA - early 1940s • Colossus - early 1940s • MARK I - 1944 • ENIAC - 1946 • EDVAC, EDSAC - 1949 • UNIVAC I - 1951 BACS 287

  4. 1st Generation Hardware Vacuum tubes Punched cards, Paper tape Magnetic tape available Machine language Millisecond access time 1st Generation Software Machine language Specific to CPU tedious, error prone time consuming 1-to-1 instruction ratio explicit control fast execution (within hardware limitations) Hardware/Software Generations BACS 287

  5. 2nd Generation Hardware Discrete Transistors Punched Cards, paper tape Magnetic tape Assembly language Microsecond access time 2nd Generation Software Assembly language mnemonics symbolic names relocatable code explicit control usually 1-to-1 instruction ratio fast (within hardware limitations) Hardware/Software Generations BACS 287

  6. 3rd Generation Hardware Integrated circuits Magnetic Disk High-level languages (COBOL,Fortran...) > 100 Nanosecond access time 3rd Generation Software High-level languages portable between machines instruction explosion relatively English-like problem specific less control less speed than low level languages Hardware/Software Generations BACS 287

  7. 4th Generation Hardware (...) large scale Integrated circuits Mass Storage devices 4th Generation languages (Easytrieve, Mapper) 1-10 Nanosecond access time 4th Generation Software (...) 4th generation less procedural, more problem oriented graphically oriented built-in code generation facilities less control less speed than low level Hardware/Software Generations BACS 287

  8. Hardware • Hardware are the physical devices that make up a computer system • Hardware systems are “tuned” to work together • There are five basic hardware components in a computer system BACS 287

  9. Hardware Components of a Computer System • Input & Output Devices • Central Processing Unit (CPU) • Primary Storage (RAM) • Secondary Storage (disk) • Communication Devices BACS 287

  10. CPU • The “brains” of the computer • Executes instructions to perform simple functions • Capable of executing only one instruction at a time • Executes instructions in billionths of a second (i.e., nanoseconds) • Composed of several sub-components BACS 287

  11. CPU Sub-Components • Control Unit (CU) • Arithmetic and Logic Unit (ALU) • Registers • Cache memory • Clock • and others... BACS 287

  12. Primary Storage • Random Access Memory (RAM) • Volatile storage • All computer programs must be in RAM before the CPU can execute them • Access time normally measured in nanoseconds (billionth of a second) • Relatively limited amount of RAM in a system BACS 287

  13. Secondary Storage • Hard disks, floppy disks, tape, ... • Non-Volatile storage • Large Capacity -- Relatively Slow • Most rely on moving parts • Access time normally measured in thousandths of a second (milliseconds) • Speed difference between RAM and Disk is tremendous BACS 287

  14. Software • Software is the logical component of a computer system • Software are detailed instructions (procedural logic) that tell the CPU how to solve a problem • There are various levels (types) of software; each has a specific purpose • The three types are 1) operating systems, 2) compilers and interpreters, and 3) application programs BACS 287

  15. Operating System • A program that works directly with the hardware • Provides useful services that application programs need • Usually written in low level languages (e.g., assembler, C) to work on a specific CPU • “Windows” is an operating system BACS 287

  16. Compilers and Interpreters • Utilities to translate English-like source code into executable object code for the CPU • Compilers translate the entire program as a unit and save the results • Interpreters translate one line at a time and discard the results after execution • Visual Basic can be both an interpreter and a compiler. BACS 287

  17. Application Programs • Application programs are software that perform end-user tasks • Normally, high-level and very specific (e.g., spreadsheet, word processor) • You can write applications programs using Visual Basic and other computer languages BACS 287

  18. Where this class fits into the picture • In this class you use a compiler (& interpreter) running under the control of the operating system (on the hardware) to write application programs. • Generally speaking, it is incorrect to say that you are “programming” when you use an application program (like Excel or Access). • Programmers write new applications; they don’t utilize existing packages. BACS 287

  19. Quiz • What is the difference between hardware and software? • What are the 5 components of a “true” computer? • What is the difference between a compiler and an interpreter? • What is the main difference between primary storage and secondary storage? • What is the main difference between 2nd generation and 3rd generation programming languages? BACS 287

More Related