
analysis of algorithms
    hopcroft
    knuth
    lamport
    pearl
    tarjan

artificial intelligence
    feigenbaum
    mccarthy
    minsky
    newell
    pearl
    reddy
    simon
    valiant

combinatorial algorithms
    karp
    manning

compilers
    allen
    cocke
    perlis

computational complexity
    blum
    cook
    goldwasser
    hartmanis
    micali
    stearns
    valiant

computer architecture
    brooks
    cocke
    thacker
    wilkes

computer hardware
    wilkes

cryptography
    adleman
    blum
    goldwasser
    micali
    rivest
    shamir
    yao

data structures
    hopcroft
    tarjan

databases
    bachman
    codd
    gray
    stonebraker

education
    wilkes

error correcting codes
    hamming

finite automata
    rabin
    scott

graphics
    sutherland

interactive computing
    engelbart

internet communications
    cerf
    kahn

list processing
    newell
    simon

numerical analysis
    kahan
    wilkinson

numerical methods
    hamming

object oriented programming
    dahl
    nygaard

operating systems
    brooks
    liskov
    ritchie
    thompson

personal computing
    kay
    lampson
    thacker

program verification
    dijkstra
    pnueli

programming
    dikjkstra
    knuth
    perlis

programming languages
    hoare
    iverson
    kay
    lamport
    liskov
    milner
    naur
    wirth

proof construction
    lamport
    milner

software
    floyd
    stonebraker

theory
    milner
    rabin
    scott
    stearns
    valiant
    yao

software engineering
    brooks

verification of hardware and software models
    clarke
    emerson
    sifakis

computer systems
    corbato

machine learning
    valiant

parallel computation
    valiant


