Professor Brian W. Kernighan, who earned his master’s and doctoral degrees in electrical engineering from Princeton, joined the computer science department in 2000. Before returning to Princeton, he worked for 30 years at the Computing Science Research Center of Bell Laboratories, where he was head of the Computing Structures Research Department from 1981 to 2000. Professor Kernighan was a member of the editorial board for Software―Practice & Experience, 1990-2009, and has been the adviser for the Addison-Wesley series on Professional Computing since 1990. His research Interests include software tools, application-oriented languages, programming methodology, user interfaces and technology education. He was elected to the National Academy of Engineering in 2002. He received the USENIX Association Lifetime Achievement Award in 1997. He was the Acting Faculty Director of the Center for Digital Humanities for the Fall of 2016.
- “The Elements of Programming Style.” (With P. J. Plauger). McGraw-Hill, 1974; 2nd edition, 1978.
- “Software Tools.” (With P. J. Plauger). Addison-Wesley, 1976.
- “The C Programming Language.” (With D. M. Ritchie). Prentice-Hall, 1978; 2nd edition, 1988.
- “Software Tools in Pascal.” (With P. J. Plauger). Addison-Wesley, 1981.
- “The UNIX Programming Environment.” (With R. Pike). Prentice-Hall, 1984.
- “The AWK Programming Language.” (With A. V. Aho and P. J. Weinberger). Addison-Wesley, 1988.
- "The Practice of Programming." (With R. Pike), Addison-Wesley, 1998.
- "AMPL: A Modeling Language for Mathematical Programming." (With D. Gay and R. Fourer), Cengage, 2nd edition, 2002.
- "D is for Digital.", Createspace, 2011.
- “The Go Programming Language.” (With A. A. A. Donovan), Addison-Wesley, 2015.