Computing Concepts with
by Cay Horstmann,
San Jose State University
Other Books / New Editions by Cay Horstmann
While this book remains traditional in outlook, it uses modern techniques in three ways.
First, this book uses a strategic subset of the Java language. Java has many advantages as a teaching language. It has simpler and more consistent syntax than C or C++. The runtime environment is very strict about enforcing array bounds and valid refer
ences. However, Java has many more features than C or Pascal, and an introductory programming course cannot cover them all. This book makes no mention of labeled loops, multithreading, inner classes or reflection and discusses exceptions and interfaces
only peripherally. Furthermore, Java has some features that stand in the
way of learning to program, such as poor text input and lack of formatted text output. This book uses a small utility library to overcome these limitations.
No book can teach all of Java to beginners in a single semester. This book purposefully omits or minimizes a number of programming constructs that I felt are not essential to mastering fundamental programming concepts.
In many cases, the book uses one particular language construct or library function but explains alternatives as "advanced topics". Instructors and students should feel free to use those constructs in their own programs if they prefer them. It has, howev
er, been my experience that many students are grateful for the "keep it simple" approach. This is particularly true in the domain of graphics. Students can use the code in this book to build graphical programs without having to master coordinate transfo
rmations or event handling.