2 Chapter Goals Describe the history of computer hardware and software Describe the changing role of the computer userDistinguish between systems programmers and applications programmersDistinguish between computing as a tool and computing as a disciplineList the basic components of a computer systemUnderstand what a Computer Program isList the Programming Life-Cycle Phases25
3 Computing SystemsHardware The physical elements of a computing system (printer, circuit boards, wires, keyboard…)Software The programs that provide the instructions for a computer to execute3
4 Early History of Computing AbacusAn early device to record numeric valuesBlaise PascalMechanical device to add, subtract, divide & multiplyJoseph JacquardJacquard’s Loom, the punched cardCharles BabbageAnalytical Engine6
5 Early History of Computing Ada LovelaceFirst ProgrammerAlan TuringTuring Machine, Artificial Intelligence TestingHarvard Mark I, ENIAC, UNIVAC IEarly computers launch new era in mathematics, physics, engineering and economics7
6 First Generation Hardware (1951-1959) Vacuum TubesLarge, not very reliable, generated a lot of heatMagnetic DrumMemory device that rotated under a read/write headCard Readers Magnetic Tape DrivesSequential auxiliary storage devices8
7 Second Generation Hardware (1959-1965) TransistorReplaced vacuum tube, fast, small, durable, cheapMagnetic CoresReplaced magnetic drums, information available instantlyMagnetic DisksReplaced magnetic tape, data can be accessed directly9
8 Third Generation Hardware (1965-1971) Integrated CircuitsReplaced circuit boards, smaller, cheaper, faster, more reliable.TransistorsNow used for memory constructionTerminalAn input/output device with a keyboard and screen10
9 Fourth Generation Hardware (1971-?) Large-scale IntegrationGreat advances in chip technologyPCs, the Commercial Market, WorkstationsPersonal Computers were developed as new companies like Apple and Atari came into being. Workstations emerged.11
10 Parallel Computing and Networking Computers rely on interconnected central processing units that increase processing speed.NetworkingARPANET and LANs Internet12
11 First Generation Software (1951-1959) Machine LanguageComputer programs were written in binary (1s and 0s)Assembly Languages and translatorsPrograms were written in artificial programming languages and were then translated into machine languageProgrammer ChangesProgrammers divide into application programmers and systems programmers13
12 Second Generation Software (1959-1965) High Level LanguagesUse English-like statements and make programming easier.Fortran, COBOL, Lisp are examples.High-LevelLanguagesAssembly LanguageMachineLanguage14
13 Third Generation Software (1965-1971) Systems Softwareutility programs,language translators,and the operating system, which decides whichprograms to run and when.Separation between Users and HardwareComputer programmers began to write programs to be used by people who did not know how to program15
15 Fourth Generation Software (1971-1989) Structured ProgrammingPascal, C, C++New Application Software for UsersSpreadsheets, word processors, database management systems17
16 Fifth Generation Software (1990- present) MicrosoftThe Windows operating system, and other Microsoft application programs dominate the marketObject-Oriented DesignBased on a hierarchy of data objects (i.e. Java)World Wide WebAllows easy global communication through the InternetNew UsersToday’s user needs no computer knowledge18
17 Applications Programmer Domain-Specific Programs Computing as a ToolProgrammer / UserSystems Programmer(builds tools)Applications Programmer(uses tools)Domain-Specific ProgramsUser with NoComputer Background20
18 Computing as a Discipline What can be (efficiently) automated?Four Necessary SkillsAlgorithmic ThinkingRepresentationProgrammingDesign21
19 Computing as a Discipline What do you think?Is Computer Science a mathematical, scientific, or engineering discipline?22
20 Systems Areas of Computer Science Algorithms and Data StructuresProgramming LanguagesArchitectureOperating SystemsSoftware Methodology and EngineeringHuman-Computer Communication23
21 Application Areas of Computer Science Numerical and Symbolic ComputationDatabases and Information RetrievalArtificial Intelligence and RoboticsGraphicsOrganizational InformaticsBioinformatics24
23 Memory Unitis an ordered sequence of storage cells, each capable of holding a piece of informationeach cell has its own unique addressthe information held can be input data, computed values, or your program instructions.
25 RAM and ROM RAM stands for Random Access Memory Inherent in the idea of being able to access each location is the ability to change the contents of each locationROM stands for Read Only MemoryThe contents in locations in ROM cannot be changedRAM is volatile, ROM is notThis means that RAM does not retain its bit configuration when the power is turned off, but ROM does
26 Secondary Storage Devices Because most of main memory is volatile and limited, it is essential that there be other types of storage devices where programs and data can be stored when they are no longer being processedSecondary storage devices can be installed within the computer box at the factory or added later as needed
27 Magnetic TapeThe first truly mass auxiliary storage device was the magnetic tape drive
28 Magnetic DisksA read/write head travels across a spinning magnetic disk, retrieving or recording data
29 Compact DisksA CD drive uses a laser to read information stored optically on a plastic diskCD-ROM is Read-Only MemoryDVD stands for Digital Versatile Disk
30 Peripheralsare input, output, or auxiliary storage devices attached to a computerInput Devices include keyboard and mouse.Output Devices include printers, video display, LCD screens.Auxiliary/Secondary Storage Devices include disk drives, scanners, CD-ROM and DVD-ROM drives, modems, sound cards, speakers, and digital cameras.
31 Central Processing Unit has 2 components to execute program instructionsArithmetic/Logic Unit performs arithmetic operations, and makes logical comparisons.Control Unit controls the order in which your program instructions are executed.
32 Flow of InformationThe parts are connected to one another by a collection of wires called a bus
33 The Fetch-Execute Cycle Fetch the next instructionDecode the instructionGet data if neededExecute the instruction
Your consent to our cookies if you continue to use this website.