230 likes | 247 Views
Explore the early history of computing devices, from ancient counting devices to modern computers. Learn about key milestones, such as Charles Babbage's contributions, the invention of vacuum tubes and transistors, and the development of high-level languages. Understand how different types of programs and languages have shaped the field of computing.
E N D
Business Programming I Fall – 2000 By Jim Payne
Links: Early History of Computers • Virginia Tech – History of Computing • Virtual Museum of the United Kingdom • Smithsonian Museum - Computers Jim Payne - University of Tulsa
History of Computing Devices • Ancient Counting Devices notches, knots, pebbles, stone counting tablets • Napier’s Bones and Gunter’s Slide Rule • Charles Babbage – Grandfather of Computing • Hollerith’s Tabulating Machine • Howard Aiken’s – Harvard - MARK I Jim Payne - University of Tulsa
The Electronic Revolution • John Atanasoff and Clifford Berry - @ Iowa State University – The ABC Machine (1st fully electronic computer) Father of Modern Computing • The ENIAC – Mauchly / Eckert • VonNeumann’s Contributions • The UNIVAC - Remember 1951, 1952, 1954 Jim Payne - University of Tulsa
Electronic Computers • Generations of Computers • First Generation – Vacuum Tubes 1950’s • Second Generation – Transistors 1959 • Third Generation - Integrated Circuits 1964 • Ted Hoff, Mazor, and Fagin develop the Intel 4004 microprocessor “Computer on a Chip” It could process 60,000 instructions per second - $300 • Fourth Generation - LSIC’s Large Scale Integrated Circuits 1971 Jim Payne - University of Tulsa
Types of Programs • Operating Systems • Windows, System 8, Unix • Utility Programs • Scandisk, Sorting, Virus Scanner • Application Programs • MS-Word, MS-Excel, Payroll Program in COBOL Jim Payne - University of Tulsa
Types of Languages • Machine Languages • 1100000110101100010110100010101010 • Assembler Languages INP A MPY B STA C OUT C • High Level Languages • FORTRAN, COBOL, PASCAL, C, JAVA, VISUAL BASIC Jim Payne - University of Tulsa
History of Languages • Charles Babbage – 1833 • Difference Engine • Analytical Engine • Babbage’s Model Link: Babbage biography Difference Engine Jim Payne - University of Tulsa
OUTPUT INPUT Babbage’s Model PRIMARY MEMORY CONTROL UNIT ARITHMETIC UNIT PROBLEM: ANSWER = A + B * C Jim Payne - University of Tulsa
PRIMARY MEMORY CONTROL UNIT ANSWER A,B,C ARITHMETIC UNIT A = 3 B = 4 C = 2 ANSWER = 14 or 11 ? PROBLEM: ANSWER = A + B * C Babbage’s Model Jim Payne - University of Tulsa
Order of Operations Rules • If parentheses are present, resolve them first (then or otherwise) • Precedence Rules: • Exponentiation First • Multiplication & Division Equal Precedence • Addition & Subtraction Equal Precedence • (items of equal precedence – left to right) Jim Payne - University of Tulsa
Mem: A 3 B 4 C 2 CU: AU: PROBLEM: ANSWER = A + B * C Babbage’s Model 3,4,2 INP A,B,C Jim Payne - University of Tulsa
B 4 C 2 Mem: A 3 CU: 3,4,2 AU: PROBLEM: ANSWER = A + B * C Babbage’s Model LDA B 4 Jim Payne - University of Tulsa
MPY C B 4 C 2 8 Mem: A 3 CU: 3,4,2 MPY C AU: 4 PROBLEM: ANSWER = A + B * C Babbage’s Model 4 Jim Payne - University of Tulsa
ADD A B 4 C 2 8 Mem: A 3 CU: 3,4,2 ADD A AU: 11 PROBLEM: ANSWER = A + B * C Babbage’s Model 8 Jim Payne - University of Tulsa
A 3 Mem: B 4 C 2 D 11 CU: 3,4,2 AU: 11 Babbage’s Model STA D Jim Payne - University of Tulsa PROBLEM: ANSWER = A + B * C
A 3 Mem: B 4 C 2 D 11 CU: 3,4,2 AU: PROBLEM: ANSWER = A + B * C Babbage’s Model 11 OUT D Jim Payne - University of Tulsa
INPUTS: Problem: A + B * C Inputs: A,B,C Program: INP A,B,C LDA B MPY C ADD A STA D OUT D ACCUMULATOR: OUTPUT: 3,4,2 4 8 11 11
Contribution by Babbage’sAssistant Augusta Ada - Countess of Lovelace (Lord Byron’s daughter) Link to biography She suggested that if they could ever get the Difference Engine or the Analytical Engine to work for three values of A,B, and C then a simple GOTO statement could cause the “program” to work over and over. “LOOPING” For this contribution, Ada of Lovelace is often called the world’s 1st Programmer. Jim Payne - University of Tulsa
INPUTS: Problem: A + B * C Inputs: A,B,C Program: INP A,B,C LDA B MPY C ADD A STA D OUT D ACCUMULATOR: OUTPUT: 5,5,4 5 20 25 25
INPUTS: ACCUMULATOR: OUTPUT: Problem: (A + B) * C Inputs: A,B,C 5,5,4 Program: INP A,B,C LDA A ADD B MPY C STA D OUT D 5 10 40 40
INPUTS: ACCUMULATOR: OUTPUT: Problem: (A + 2) – (B+C) Inputs: A,B,C 7,3,4 Program: LDA A ADC 2 STA T1 LDA B ADD C STA T2 LDA T1 SUB T2 STA D OUT D 7 9 3 7 9 2 2
Go TU ! Jim Payne - University of Tulsa