[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
Skip header Section
Java: an introduction to computer science and programmingDecember 1998
Publisher:
  • Prentice-Hall, Inc.
  • Division of Simon and Schuster One Lake Street Upper Saddle River, NJ
  • United States
ISBN:978-0-13-287426-7
Published:01 December 1998
Pages:
726
Skip Bibliometrics Section
Reflects downloads up to 18 Dec 2024Bibliometrics
Abstract

No abstract available.

Cited By

  1. ACM
    Wick M, Stevenson D and Phillips A (2004). Seven design rules for teaching students sound encapsulation and abstraction of object properties and member data, ACM SIGCSE Bulletin, 36:1, (100-104), Online publication date: 1-Mar-2004.
  2. ACM
    Roberts E (2004). The dream of a common language, ACM SIGCSE Bulletin, 36:1, (115-119), Online publication date: 1-Mar-2004.
  3. ACM
    Frens J (2004). Taming the tiger, ACM SIGCSE Bulletin, 36:1, (151-155), Online publication date: 1-Mar-2004.
  4. ACM
    Wick M, Stevenson D and Phillips A Seven design rules for teaching students sound encapsulation and abstraction of object properties and member data Proceedings of the 35th SIGCSE technical symposium on Computer science education, (100-104)
  5. ACM
    Roberts E The dream of a common language Proceedings of the 35th SIGCSE technical symposium on Computer science education, (115-119)
  6. ACM
    Frens J Taming the tiger Proceedings of the 35th SIGCSE technical symposium on Computer science education, (151-155)
  7. ACM
    Roberts E An overview of MiniJava Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education, (1-5)
  8. ACM
    Koffman E and Wolz U A simple java package for GUI-like interactivity Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education, (11-15)
  9. ACM
    Roberts E (2001). An overview of MiniJava, ACM SIGCSE Bulletin, 33:1, (1-5), Online publication date: 1-Mar-2001.
  10. ACM
    Koffman E and Wolz U (2001). A simple java package for GUI-like interactivity, ACM SIGCSE Bulletin, 33:1, (11-15), Online publication date: 1-Mar-2001.
  11. Tuttle S (2001). iYO quiero Java!, Journal of Computing Sciences in Colleges, 17:2, (34-45), Online publication date: 1-Dec-2001.
Contributors
  • University of California, San Diego

Reviews

Ann E. Fleury

“Until you calm a student's fears about language details, it is often impossible to get her or his attention to discuss bigger issues” (p. viii). This statement from the “Preface for Instructors” foreshadows this text's exceptional clarity. The text comes with a CD that contains a student-friendly class, SavitchIn, which allows simple input to be handled simply and allows the text's sample programs to be run. “Gotcha” sections in every chapter explain the nonintuitive issues with which student programmers must cope when learning Java. Ample self-test exercises and programming exercises are also included. The first six chapters are fundamental and are best covered in order. Chapter 1 provides just enough information about hardware and software to allow the introduction of Java programming. Chapter 2 introduces primitive types, arithmetic, strings, and simple input and output. Chapter 3 introduces branching and looping. Chapter 4 introduces objects and the classes, methods, and variables that are needed to create them. Chapter 5 uses objects in programs. Chapter 6 introduces inheritance. Starting with chapter 7, Savitch carefully presents alternate paths through the text. Chapter 7 introduces event-driven programming using the Abstract Window Toolkit (AWT) and includes a case study, developing a GUI adding machine. Chapter 8 covers exception handling, providing the clearest coverage of the topic that I have seen. Chapter 9 covers stream and file input and output in enough detail to give students the background needed to read and understand the input class, SavitchIn, provided with the text. Chapter 10 covers one-dimensional arrays, and chapter 11 covers multidimensional arrays and vectors. Chapter 12 introduces recursion and uses it to discuss binary search. Chapter 13 introduces applets and enough HTML to enable readers to use applets. A strength of the text is that it frequently includes full programs when illustrating concepts. Color effectively marks the sections of the programs that are of greatest current interest. Post-it–style notes call attention to things to notice (and things to ignore temporarily) in the code. In particular, they are used to alert the reader that an improved version of a program is coming later. Design tactics are successfully integrated into the text. The text takes a relaxed attitude toward pseudocode, treating it as a mixture of English and Java, and uses whichever is easiest to express the current portion of the algorithm. The AWT for GUI design is introduced early and used as an introduction to object-oriented design and programming. GUIs are not used heavily later in the text because, as the author points out, AWT code clutters the sample programs. However, GUIs are a required part of some later exercises. Numerous details show that the author is aware of the real difficulties experienced by real students. The looping chapter includes warnings about the declarations of counter variables, off-by-one errors, and infinite loops. The input/output chapter specifically states that “input” refers to movement into a running program, not into a file. The author knows when to provide a detailed explanation and when to tell students to temporarily think of a line or two of code as one difficult-to-spell operation. The differences between primitives as parameters and objects as parameters are clearly explained, with references to memory addresses when necessary. The advisability of writing methods to test objects for equality is also clearly explained. The author reminds students not to confuse the three ways that square brackets are used with an array name. He discusses the need to remember to use “new” to create each individual array entry in an array of objects. He also explicitly points out the need to move back and forth between thinking of an array as a collection of variables and thinking of it as a large composite object. In short, the text covers the appropriate topics for a first course in Java programming and computer science with a clarity that will be appreciated by both faculty and students. If you are teaching such a course, I recommend that you consider this text.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Please enable JavaScript to view thecomments powered by Disqus.

Recommendations