Content area
Full Text
THREE JAVA-BASED TEXTBOOKS FOR AN INTRODUCTORY PROGRAMMING COURSE
Java Software Solutions: Foundations of Program Design - 2"d Edition
by John Lewis and William Loftus
Addison-Wesley, Reading, MA, 2000, 780 pp.
An Introduction to Object-Oriented Programming with Java - 2nd Edition
by C. Thomas Wu
McGraw-Hill, New York, NY, 2001, 863 pp.
Java Elements: Principles of Programming in Java
by Duane A. Bailey and Duane W. Bailey
McGraw-Hill, New York, NY, 2000, 333 pp.
A cursory glance through the catalogs of the major textbook publishers, or a stroll through the computer section of your local bookstore, underlines the obvious: that the development of Java, a modestly sized language accompanied by a staggeringly large and powerful set of classes, over 2,000 at last count, has triggered a tsunami of textbooks.
Since choosing a textbook is a highly personal decision, and since there are such a large number of good-to-excellent works on the market, I will discuss three texts written for beginning programmers that take different approaches. At least one of these may be appropriate for your needs.
JAVA SOFTWARE SOLUTIONS, by John Lewis and William Loftus, consists of 12 chapters: Computer Systems, Objects and Primitive Data, Program Statements, Writing Classes, Enhancing Classes, Arrays and Vectors, Inheritance, Exceptions and I/O Streams, Graphical User Interfaces, Software Engineering, Recursion, and Data Structures. The book contains 13 appendices which cover aspects of the language, HTML, and describe the main classes (in 150 pages). Supplementary material is also available on Lewis' website.
The book commences with a relatively thorough overview of computer systems - discussing critical background material, such as the difference between hardware and software, computer architecture, the internet and the world wide web, and finally, the essentials of programming. The sections in the chapters are nicely compartmentalized so that, if your students are already cognizant of the basics, they can leap into section 1.4, on Programming, without loss of continuity.
There are two schools of thought regarding object-oriented programming (OOP). Advocates of the objects-first model suggest instructors seize the nettle and provide an early, comprehensive discussion of the topic. Proponents of the imperative-first model recommend postponing an in-depth conversation until the "basics" are understood. While Lewis and Loftus are devoted OOP-fists, they take this latter route. Students are exposed...