1. Many answers are acceptable. a)Alan Turing - model of general purpose computer (Turing machine), formalization of algorithms and computation, made many advance in Cryptanalysis, introduced a design for the stored program computer. b) Seymour Cray - Credited as the "father of supercomputing" and designed many supercomputers and is credited with creating the HPC industry c) Grace Hopper - Found the first computer bug -- a moth, and developed Cobol. d) John von Neumann - developed the von Neumann architecture, which is a design for an electronic computer that consists of an ALU, Control Unit with a program counter and instruction register, memory to store both data and instructions, mass storage, and I/O; he also consulted on the EDVAC and ENIAC projects, which some of the first modern computers. e) Douglas Engelbart - Helped to developed first computer mouse, hypertext, and precursors to the first GUI f) Charles Babbage - Father of modern computing, developed the Analytical Engine (first "programmable computer"), Difference engine, cryptography (broke several ciphers), invented the pilot - metal frame attached to front of locomotives to clear tracks of obstacles, many others 2. Performance of C1 is 1/11 for P1, 1/1.2 for P2 Performance of C2 is 1/12 for P1 and 1/33 for P2 1/11 / 1/12 = 1.0909 --> C1 is 1.0909 times as fast as C2 for program P1 1/1.2 / 1/33 = 33/1.2 = 27.5 --> C1 is 27.5 times as fast as C2 for program P2 3. Many answers are acceptable. The minimal requirement is to have a method that accepts a character array and to include at least the wordCount method in a similar manner as to what is presented below. int wordCount(char [] cArray) { boolean onWord = false; int count = 0; for(int i = 0; i < cArray.length; i++) { if(!onWord && cArray[i] != ' ') { onWord = true; count++; } else if(cArray[i] == ' ') onWord = false; } return count; } 4. Any reasonable answers were acceptable. Plotting for capacities axis should be done on a logarithmic scale. See the file containing the graphs for an example. 5. 175,000 instructions * 5 cycles/instr + 1 cycle/instr * 175,000 instr = 1,050,000 cycles 1,050,000 cycles / 2,000,000,000 cycles/sec = 105/200,000 = .000525s = 5.25e-4s