B.S., Computer Engineering, Case Western Reserve University, 1975
M.S., Computer Science, Yale University, 1976
Ph.D., Computer Science, University of California, Berkeley, 1980
Computer science education, programming languages, software engineering, theoretical computer science
My original research area was theoretical computer science, with a focus on automata and formal languages. I was later a member of the team that built Mothra, a pioneering software testing system based on the idea of program mutation.
For the last thirty years, my specialty has been programming languages. I have written three books about languages: C Programming: A Modern Approach, Java Programming: From the Beginning, and Modula-2: A Complete Guide. The first edition of C Programming: A Modern Approach, published in 1996, went through 17 printings before being replaced by the second edition in 2008. C Programming: A Modern Approach is widely used by universities in North America and abroad and has been translated into Chinese, Italian, and Polish.
I also have a strong interest in computer science education. My 1997 paper, “The Case for Java as a First Language,” was one of the first to argue that Java should become the primary language for teaching introductory programming. In 2008, I obtained funding from the Institute for Personal Robots in Education to introduce personal robots into CSc 2010 (Introduction to Computer Science).
K. N. King, The case for Java as a first language, Proceedings of the 35th Annual ACM Southeast Conference (April 1997), 124–131.
K. N. King, Java Programming: From the Beginning, W. W. Norton, 2000.
K. N. King, C Programming: A Modern Approach, Second Edition, W. W. Norton, 2008.
S. Markham and K. N. King, Using personal robots in CS1: experiences, outcomes, and attitudinal influences, Proceedings of the 15th Annual Conference on Innovation and Technology in Computer Science Education (June 2010).