Java Programming, 5E
Y. Daniel Liang
Custom Core and Comprehensive Version
Introduction to Java Programming, 5E, Comprenhensive Version
2
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved. 0-13-148952-6
Custom Core and Comprehensive Version
Custom Core (first course in programming)
fundamentals of programming
These are typical
object-oriented programming CS1 topics, approx.
rudimentary GUI programming 750 pages
exception handling and simple I/O
3
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved. 0-13-148952-6
Ordering Custom Versions
The book is published in a comprehensive version
of twenty-nine chapters and can also be printed in
custom versions with substantial savings for the
students. The first sixteen chapters form the custom
core. You can customize the book by adding new
chapters into the custom core.
4
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved. 0-13-148952-6
Flexible Chapter Ordering
Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5
5
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved. 0-13-148952-6
What is New in the 5E?
Contents The book is completely revised in every detail to
improve clarity, content, presentation, examples, and
Organization
exercises.
Examples and
Case Studies
New chapters
Exercises
JDK 1.5
6
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved. 0-13-148952-6
What is New in the 5E?
Contents Part II, Object-Oriented Programming, is expanded
into five chapters to give a comprehensive introduction
Organization
on OOP and how to use OOP to design programs. New
Examples and organization improves the presentation of object-
Case Studies oriented programming and enables GUI programming
to be covered earlier.
New chapters
Part III, GUI Programming, is expanded into four
Exercises
chapters to introduce GUI programming, event-driven
JDK 1.5
programming, creating user interfaces, and applets.
Advanced GUI features are now covered in Part VII,
Advanced GUI Programming.
7
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved. 0-13-148952-6
What is New in the 5E?
Contents The book provides many new illustrations and uses
short examples to demonstrate concepts and techniques.
Organization
Large examples are presented in case studies with
Examples and overall discussions and thorough line-by-line
Case Studies explanations.
8
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved. 0-13-148952-6
What is New in the 5E?
Contents Chapter 16, Simple Input and Output, is completely
overhauled. It first introduces the File class, then text
Organization
I/O, binary I/O, object I/O, and random access file.
Examples and Small examples are used to demonstrate concepts and
Case Studies techniques. Three cases studies of using various I/O
classes are presented at the end of the chapter.
New chapters
The comprehensive version gives complete coverage
Exercises
on Java collections framework, threads, JavaBeans,
JDK 1.5
advanced GUI components, JDBC, Servlets, JSP,
networking, and RMI.
9
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved. 0-13-148952-6
What is New in the 5E?
Contents Exercises are almost doubled to cover a variety of
problems with simple or complex solutions. The level
Organization
of difficulty is rated easy (no star), moderate (*), hard
Examples and (**), or challenging (***).
Case Studies
New chapters
Exercises
JDK 1.5
10
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved. 0-13-148952-6
What is New in the 5E?
Contents There are already more features in Java than an introductory
course can cover. This edition is not aimed to cover the new
Organization features in JDK 1.5. Nevertheless, some useful features in JDK 1.5
are appropriately introduced to beginners. Specifically,
Examples and New formatted output (System.out.printf) is covered in
Case Studies Ch2.
New chapters New enhanced for loop is covered in Chs 5 and 18.
New Scanner class is covered in Ch7.
Exercises Boxing and unboxing of primitives in Ch9
New static import is covered in Ch11.
JDK 1.5 New generic types is covered in Ch18.
New rmi feature is covered in Ch29.
To enable the courses based on JDK 1.4 to use this book and to
enable instructors to choose JDK 1.5 topics freely, all sections on
JDK 1.5 are marked JDK 1.5 Features and can be skipped.
11
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved. 0-13-148952-6
4E
Added review on
computer basics
5E Custom Core From 4E to 5E
Ch 1 Introduction to Java Ch 1 Introduction to Computers, Programs,
Ch 2 Ch 2
and Java Organizational
Ch 3 Ch 3
Ch 4
Ch 5
Ch 4
Ch 5
Change Summary
Ch 6 Ch 6
Ch 7 Split into two chapters to improve the Ch 7
presentation on OOP Ch 8 Inheritance and Polymorphism
Ch 8 Ch 9 Abstract Classes and Interfaces
Ch 9 Ch 10 Object-Oriented Modeling
Ch 10 Getting Started with Split a long chapter Ch 11 Getting Started with GUI Programming
GUI Programming Ch 12 Event-Driven Programming
Move advanced feature to 5E advance
Ch 11 Ch 13 Creating User Interfaces
Move advanced feature to 5E advance
Ch 12 Ch 14 Applets, Images, and Audio
Added assertion features
Ch 13 Exception Handling Ch 15 Exceptions and Assertions
Ch 16 Simple Input and Output
Ch 14 Internalization
Ch 15 Multithreading
Ch 16 Multimedia
Ch 17 Input and Output 5E Comprehensive
Ch 18 Networking Include all Chapters in the Custom Core
Ch 19 Java Data Structures
Ch 17 Object-Oriented Data Structures
Ch 18 Java Collections Framework
Ch 19 Multithreading
Ch 20 Internationalization
Ch 21 JavaBeans, Bean Events, and MVC
Architecture
Ch 22 Containers, Layout Managers,
and Borders
Brand new chapters Ch 23 Menus, Toolbars, Dialogs, and Internal
Frames
Ch 24 Advanced Swing Components
Ch 25 Java Database Programming
Ch 26 Servlets
Ch 27 JavaServer Pages
Ch 28 Networking
Ch 29 Remote Method Invocation
12
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved. 0-13-148952-6
Fundamental-First Teaching Strategy
A step-by-step approach, first laying a sound
foundation on programming concepts, control
statements, methods, and arrays, then introducing
object-oriented programming, and then moving on
to graphical user interface (GUI), applets, and
finally to exception handling, I/O, data structures,
and other advanced subjects in the comprehensive
version.
13
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved. 0-13-148952-6
Why Fundamental-First ?
From my own experience, confirmed by the
experiences of many colleagues, I have found that
learning basic logic and fundamental programming
techniques like loops is a struggle for most first-year
students. Students who cannot write code in procedural
programming are not able to learn object-oriented
programming. If a student knows how to write loops,
the student will succeed in learning Java. A good
introduction on primitive data types, control
statements, methods, and arrays prepares students
to learn object-oriented programming. Therefore,
this book adopts the fundamentals-first strategy.
14
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved. 0-13-148952-6
Teaching Problem-Solving
This book is not simply about how to program, for it
teaches, as well, how to solve problems using programs.
Applying the concept of abstraction in the design and
implementation of software projects is the key to
developing software. The overriding objective of the
book, therefore, is to teach students to use many levels of
abstraction in solving problems and to see problems in
small and in large. The examples and exercises
throughout the book foster the concept of developing
reusable components and using them to create practical
projects.
15
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved. 0-13-148952-6
No Non-Standard Classes
The book does not use any custom classes for
input. Early chapters use JOptionPane to receive
input and later chapters use GUI to interact with
the user.
16
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved. 0-13-148952-6
Support Material
For Students
Password-Protected Website
Answers to review questions
Solutions to even-numbered programming exercises
Source code for the examples in the book
Self Test on the Website (interactive online, multiple choice, true/false)
Supplements
For Instructors
Password-Protected Website
Slides (Interactive slides)
Access to quiz generator (developed and supported by the author.)
Solutions to all programming exercises
Sample exams
Supplemental exercises
17
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved. 0-13-148952-6
Supplements (Website only)
18
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved. 0-13-148952-6
Instructor Resource Website
Slides (see two samples in the next two slides)
Interactive (run code from the slide, display complete full-color, syntax-
highlighted source code)
average 50 per chapter
Solutions to all programming exercises
Sample exams
Supplemental exercises
Access to customized quiz generator (developed and supported
by the author.) The Website contains a link and the password
to access the customized quiz generator.
19
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved. 0-13-148952-6
Brand New Companion Website
I will build a brand new site at
www.cs.armstrong.edu/liang/intro5e.html
20
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved. 0-13-148952-6