For introductory Computer Science courses using Java (CS1with Java), and other introductory programming courses in departments of Computer Science, Computer Engineering, Computer Information Systems, Management Information Systems, Information Technology, and Business.
Trusted authors Savitch and Carrano examine problem solving and programming techniques with Java. Students are introduced to object-oriented programming and important concepts such as design, testing and debugging, programming style, interfaces inheritance, and exception handling. The Java coverage is a concise, accessible introduction that covers key language features. Objects are covered thoroughly and early in the text, with an emphasis on application programs over applets. Revised throughout for enhanced clarity, the Fifth Edition has been entirely redesigned with a more accessible feel.
Supplements available on the Companion Web site
VideoNotes: Pearson's new visual tool designed for teaching students key programming concepts and techniques. These short step-by-step videos demonstrate how to solve problems from design through coding. VideoNotes allow for self-paced instruction with easy navigation including the ability to select, play, rewind, fast-forward, and stop within each VideoNote exercise. Margin icons in your textbook let you know when a VideoNotes video is available for a particular concept or homework problem.
Chapter 1 Introduction to Computers and Java
Chapter 2 Basic Computation
Chapter 3 Flow of Control: Branching
Chapter 4 Flow of Control: Loops
Chapter 5 Defining Classes and Methods
Chapter 6 More About Objects and Methods
Chapter 7 Arrays
Chapter 8 Polymorphism and Inheritance
Chapter 9 Exception Handling
Chapter 10 Streams and File I/O
Chapter 11 Recursion
Chapter 12 Dynamic Data Structures and Generics
Chapter 13 Window Interfaces Using Swing
Chapter 14 Applets and HTML
Chapter 15 More Swing
Appendix 1 Getting and Installing Java
Appendix 2 Running Applets
Appendix 3 Protected and Package Modifiers
Appendix 4 The DecimalFormat Class
Appendix 5 The Iterator Interface
Appendix 6 Cloning
Appendix 7 Javadoc
Appendix 8 The JOptionPane Class
Appendix 9 Differences between C++ and Java
Flexibility – The authors provide flexibility charts in the preface to enable the ordering of chapters and sections based on professor need.
Early Graphics – Optional graphics sections at the end of most chapters make it possible to cover GUI programming from the start of the course.
Coverage of problem-solving and programming techniques - Includes numerous case studies and programming tips to foster the development of problem solving skills.
Support for learning Java syntax - Extensive pedagogy throughout the text to aid with the learning of Java syntax issues.
Object-Oriented and Traditional Techniques – Although students are exposed to using classes in Chapters 1 and
2, the defining of objects is delayed until Chapter 5. All of the basic information about objects and classes, including inheritance, is presented by the end of Chapter 8.
Language Details and Sample Code – Gives complete explanations of Java language features and lots of sample code.
Self-Test questions - Are throughout the text to provide reinforcement. These questions have a wide range of difficulty levels; some require only a one-word answer, whereas others require the reader to write an entire, but short program.
Fully class-tested - Much of the material and many of the methods of presentation were revised in response to this
Student Resources - The source code from the book, code for extra programming examples, and links to download
locations for Java compilers and programming environments are provided on the book’s website: http://www.prenhall.com/savitch
Instructor’s Resource Guide - A chapter-by-chapter guide that contains numerous teaching hints, quiz questions with solutions, and solutions to many exercises and programming projects.
Frank M. Carrano
is Professor Emeritus of Computer Science at the University of Rhode Island. He received his Ph.D. degree in Computer Science from Syracuse University in 1969. His interests include data structures, computer science education, social issues in computing, and numerical computation. Professor Carrano is particularly interested in the design and delivery of undergraduate courses in computer science. He has authored several well-known computer science textbooks for undergraduates.
Walter Savitch received his Ph.D. degree in Mathematics from the University of California at Berkeley in 1969. Since that time he has been on the faculty at the University of California at San Diego and is currently a Professor of Computer Science and director of the Interdisciplinary Ph.D. Program in Cognitive Science. Professor Savitch’s research areas include complexity theory, formal language theory, computational linguistics, and the development of computer science education materials. In addition to writing numerous research articles and involvement in other editorial projects, he has written a number of well-known computer science textbooks, including Pascal, Ada, and C++ CS1 and CS2 textbooks.