William Kahan - numerical analysis Robert E. Kahn - TCP/IP Avinash Kak - digital image processing Daniel Mopati Kapeng - web designing principles Alan Kay - Dynabook, Smalltalk, overlapping windows Richard Karp - NP-completeness Narendra Karmarkar - Karmarkar's algorithm Marek Karpinski - NP optimization problems John George Kemeny - BASIC Ken Kennedy - compiling for parallel and vector machines Brian Kernighan - Unix, the 'k' in AWK Carl Kesselman - grid computing Gregor Kiczales - CLOS, reflection (computer science), aspect-oriented programming Stephen Cole Kleene - Kleene closure, recursion theory Leonard Kleinrock - ARPANET, queueing theory, packet switching, hierarchical routing Donald Knuth - The Art of Computer Programming, MIX/MMIX, TeX, literate programming Andrew Koenig - C++ Michael Kölling - BlueJ Janet L. Kolodner - case-based reasoning David Korn - Korn shell Kees Koster - ALGOL 68 John Koza - genetic programming Andrey Nikolaevich Kolmogorov - algorithmic complexity theory Robert Kowalski - logic programming John Krogstie - SEQUAL framework Joseph Kruskal - Kruskal's algorithm Thomas E. Kurtz - BASIC