There are a number of individuals who have made contributions to this book. Many students at Brown University and Johns Hopkins University have used pre-publication versions of chapters of this text, and their experiences and responses have helped shape it. There are also a number of collaborators who made specific contributions to the book. Ryan Baker, Edward Bross, Natasha Gelfand, Mark Handy, Matthew Harris, Benoit Hudson, David Jackson, John Kloss, Russell Schwager, Amit Sobti, and Luca Vismara, developed Java code examples and animations. Also, Ryan, Natasha, Mark, Matthew, Benoit, and Luca provided valuable feedback and useful suggestions on drafts of book chapters. Lubomir Bourdev, Mike Demmer, Mark Handy, Michael Horn, and Scott Speigler developed a basic Java tutorial, which ultimately led to Chapter 1, Java Programming.
We are grateful to all our former teaching assistants who helped us in developing exercises, programming assignments, and algorithm animation systems, and in particular to James Baker, Stina Bridgeman, Robert Cohen, Yi-Jen Chiang, Ashim Garg, Jeff Achter, Benjamin Boer, Lubomir Bourdev, Bryan Cantrill, Jody Fanto, Michael Horn, Jovanna Ignatowicz, Seth Padowitz, Michael Shapiro, and Galina Shubina.
There have been a number of friends and colleagues whose comments have lead to improvements in the text. We are particularly thankful to Karen Goodrich, Art Moorshead, and Scott Smith for their insightful comments. We are also truly indebted to the outside reviewers and readers for their copious comments, emails, and constructive criticism, which were extremely useful in writing the second edition. We specifically thank the following reviewers for their comments and suggestions: Divy Agarwal, University of California, Santa Barbara; Bobby Blumofe, University of Texas, Austin; Michael Clancy, University of California, Berkeley; Larry Davis, University of Maryland; Scott Drysdale, Dartmouth College; Stan Kwasny, Washington University; Ken Slonneger, University of Iowa; C.V. Ravishankar, University of Michigan; Val Tannen, University of Pennsylvania; and Paul Van Arragon, Messiah College.
We are grateful to our editors, Regina Brooks, Paul Crocket, and Bill Zobrist for their enthusiastic support of this project. The production team at Wiley has been great. Many thanks go to Lilian Brady, Monique Calello, Katherine Hepburn, Jay Kirsch, Madelyn Lesure, Charity Robey, Dawn Stanley, Jeri Uzzo, and Jennifer Welter.
The advanced computing environments and excellent technical staff in the Computer Science Departments at Brown and Hopkins gave us a reliable working environment. This manuscript was prepared primarily with LATEX for the text and Adobe FrameMaker and Visio for the figures.
Finally, we would like to warmly thank Isabel Cruz, Karen Goodrich, Giuseppe Di Battista, Franco Preparata, Ioannis Tollis, and our parents for providing advice, encouragement, and support at various stages of the preparation of this book. We also thank them for reminding us that there are things in life beyond writing books.