Cay S. Horstmann
http://horstmann.com | mailto:cay@horstmann.com
Education
- Ph.D. Mathematics, University of Michigan, Ann Arbor, 1987
- Diplom Mathematics and Computer Science, Christian Albrechts Universität Kiel, Germany, 1981
- M.S. Computer Science, Syracuse University, 1980
Employment
- 2019-present, Professor, PFH Göttingen, Germany
- 2018, Visiting Professor, Freie Universität Berlin, Germany
- 2014-2015, Visiting Professor, Haute École d'Ingénierie et Gestion du Canton de Vaud, Switzerland
- 2010-2011, Visiting Professor, Ho Chi Minh City University of Technology, Vietnam
- 1999-2000 and 2004-2005, Visiting Professor, Inter-University Institute of Macau
- 1997-2000, Vice President and Chief Technology Officer, Preview Systems Inc.
- 1987-2019, Professor of Computer Science, Department of Computer Science, San Jose State University
- 1986-1996, President, Horstmann Software Design Corporation
Professional Activities and Recognitions
- Oracle Java Community Lifetime Achievement award, 2023
- ACM Distinguished Member for educational contributions to computing, 2017
- Associate Editor of the ACM Transactions on Computing Education, 2007-2021
- Designer of the Udacity CS1/Java course 2013
- Reviewer for the JavaOne conference, 2007-2017
- Invited contributor to “Architecture of Open Source Applications”, 2011
- Invited contributor to “97 Things Every Programmer Should Know”, 2010
- Elected Java Champions Member, 2005
- Member of the Development Committee for the College Board Advanced Placement Computer Science Examination, 2004 - 2008
- Member of the Ad-Hoc Committee on the Future of the Advanced Placement Computer Science Examination, 2000
- Columnist for C++ Report and Java Report
Books
- JavaScript for the Impatient, Addison-Wesley 2020
- Core Java for the Impatient, Addison-Wesley 2015-2022 (3 editions)
- Java 8 for the Really Impatient, Addison-Wesley 2014
- Core Java, with Gary Cornell, Sun Microsystems Press 1996-2021 (12 editions)
- Big Java, John Wiley & Sons 2001 - 2015 (6 editions)
- Brief Java (formerly Java Concepts/Computing Concepts with Java Essentials), John Wiley & Sons 1997 - 2015 (8 editions)
- Big Java Late Objects, John Wiley & Sons 2013-2016 (2 editions)
- Java Concepts Late Objects, John Wiley & Sons 2011-2016 (3 editions)
- Python for Everyone, with Rance Necaise, John Wiley & Sons 2012-2019 (3 editions)
- Scala for the Impatient, Addison-Wesley 2011-2023 (3 editions)
- Big C++, John Wiley & Sons, 2004-2017 (3 editions)
- Brief C++ (formerly C++ for Everyone), John Wiley & Sons 2009-2017 (3 editions)
- Core JavaServer Faces, with David Geary, Sun Microsystems Press, 2004-2010 (3 editions)
- Object-Oriented Design & Patterns, John Wiley & Sons, 2003 - 2006 (2 editions)
- AP Study Guide for Computing Concepts with Java Essentials, with Fran Trees, John Wiley & Sons 2003
- Computing Concepts with C++ Essentials, John Wiley & Sons 1996 - 2004 (3 editions)
- Practical Object-Oriented Development with C++ and Java , John Wiley & Sons 1997
- Mastering Object-Oriented Design with C++, John Wiley & Sons 1995
- Mastering C++, John Wiley & Sons 1991 - 1995 (2 editions)
Software
- Codecheck, a “convention over configuration” service for grading of programming assignments, 2012-2021
- Labrat, a program for automatic program grading, Wiley, 2006
- GridWorld, an environment for teaching CS1 concepts, 2005-2006
- Violet, a simple UML editor for students, 2002-2005
- ChiWriter, a scientific/multilingual word processor, 1986-1996
- Safe STL, a safe version of the C++ Standard Template Library, 1995
Patents
- US 6,009,401: Relicensing of electronically purchased software
- US 6,009,525: Multi-tier electronic software distribution
- US 6,044,469: Software publisher or distributor configurable software security mechanism
- US 6,055,503: Software program self-modification
- US 6,243,692: Secure electronic software packaging using setup-external unlocking module (with M. Floyd)
- US 6,285,985: Advertising-subsidized and advertising-enabled software
- US 6,334,214: Try/buy wrapping of installation-ready software for electronic distribution
- US 6,363,356: Referrer-based system for try/buy electronic software distribution