algol adi shamir alan kay alan perlis alan turing allen newell amir pnueli analysis of algorithms andrew yao artificial intelligence association for computing machinery automated theorem proving automatic programming bob kahn butler lampson calculus of communicating systems carnegie institute of technology carnegie mellon university charles bachman communication complexity compatible time-sharing system compiler computational complexity theory computer architecture computer graphics computer network computer program computer science computer security cryptography dana scott database dennis ritchie denotational semantics donald knuth douglas engelbart edward feigenbaum exception handling female floating point formal verification fred brooks google herbert simon ibm internet internetworking ivan sutherland john backus john cocke john hopcroft joseph sifakis juris hartmanis ken thompson kristen nygaard laureate leonard adleman linear algebra manuel blum marvin minsky mathematics model checking modula multics np-complete news release niklaus wirth nobel prize numerical analysis object-oriented programming object-oriented programming language ole-johan dahl operating system operational semantics parsing peter naur programming language pseudorandom number generator public-key cryptography rand raj reddy relational database richard hamming richard karp robert floyd robert tarjan robin milner ron rivest semantics sketchpad smalltalk software engineering stephen cook temporal logic the art of computer programming theory theory of computation time-sharing transaction processing type inference type safety united kingdom unix vint cerf wikimedia commons william kahan word processor workstation