Objects First with Java: A Practical Introduction provides the following features to facilitate learning
NEW! Introduces Java 8 in functional programming, the fastest adopted new Java language ever.
- NEW! The functional approach is integrated with previous editions’ “old-style” techniques, emphasizing that functional constructs are most prominent when working with collections of objects using the traditional approach of loops and explicit iteration, and reinforcing the importance of mastering both.
- NEW! Functionally oriented material is presented at strategic points throughout the text where it can relate to problems addressed by specific constructs.
- Java was chosen for both its popularity, its ease as an introductory teaching language, and its clean implementation of most important object-oriented concepts. There is also tons of good quality support material on Java available to students.
- Java language details are only covered in enough depth to place the focus on object-oriented programming.
UPDATED! Flexible organization makes the book adaptable for different course lengths and levels
- The text can be read in sequence, covering the full scope of material, or by skipping advanced sections, enabling the reader to gain a solid understanding of object orientation.
- NEW! Chapters and sections covering new material are clearly marked as “advanced”, and structured in a manner that they can be safely skipped upon first reading.
- Chapters progress with increasing complexity. While the first few chapters are written for students with no programming experience, later chapters are suitable for more advanced or professional programmers. Programmers who wish to learn object orientation will benefit from the text as well.
Completely integrated use of the BlueJ Java development environment
- BlueJ is currently being developed and maintained by the Computing Education Research Group at the University of Kent in Canterbury, explicitly as an environment for teaching introductory object-oriented programming. It is better suited to introductory teaching because of its:
- Simple interface. Beginner students can typically use the BlueJ environment 20 minutes after instruction.
- Support of Important Teaching Tools, including visualization of class structure.
- User Ability to directly create objects of any class and then to interact with their methods offers direct experimentation with projects.
- “Objects First” Approach, which textbook writers have been desiring for many years.
Iterative style and a project-driven approach
- Repeated important topics, both within and across chapters, allow students to gradually build a more advanced understanding of difficult concepts throughout.
- Discussion of numerous programming projects and exercises are approached by first presenting a goal and a problem. Students analyze the problem to determine its solution, and language constructs are introduced as necessary solutions.
- Projects are designed as open-ended problems so that further extensions and improvements can be made as the student progresses.
Pedagogical features enhance student learning
- Hooks are pointers, often in the form of questions that raise a topic and give references to an appendix or outside material. They allow the reader to choose to explore the topic in further detail.
- Chapter Questions suggest discussion material related to the topic but not discussed in the book.
- At least two discussion examples in each chapter are projects discussed in detail to illustrate the important concepts of each chapter through an iterative approach. Each concept is revisited in a different context after it is introduced.
- Example projects illustrate the different variety of contexts in which concepts can be applied.
- Chapter Headings are general as to reflect the book’s unique structure along fundamental software development tasks, rather than particular Java language constructs.
- NEW! Chapter 5 presents the first advanced section (a section that can be skipped if time is short) and introduces functional programming constructs. The functional constructs present an alternative to the imperative collection processing discussed in Chapter 4. The same problems can be solved without these techniques, but functional constructs open some more elegant ways to achieve our goals. This chapter gives an introduction to the functional approach in general, and introduces a few of Java’s language constructs.
- NEW! Chapter 7 concentrates on one specific – but very special – type of collection: arrays. Arrays processing and the associated types of loops are discussed in detail.
- Copyright 2017
- Dimensions: 7-3/8" x 9-1/8"
- Pages: 672
- Edition: 6th
- ISBN-10: 0-13-447736-7
- ISBN-13: 978-0-13-447736-7
A Modern Approach to Functional Programming
Objects First with Java: A Practical Introduction is an introduction to object-oriented programming for beginners. The main focus of the book is general object-oriented and programming concepts from a software engineering perspective.
The first chapters are written for readers with no programming experience with later chapters being more suitable for advanced or professional programmers. The Java programming language and BlueJ—the Java development environment — are the two tools used throughout the book. BlueJ's clear visualization of classes and objects means that readers can immediately appreciate the differences between them and gain a much better understanding of the nature of an object than they would from simply reading source code. Unlike traditional textbooks, the chapters are not ordered by language features but by software development concepts.
The Sixth Edition goes beyond just adding the new language constructs of Java 8. The book’s exploration of this new language demonstrates a renaissance of functional ideas in modern programming. While functional programming isn’t new in principle, it’s seen a boost in popularity based on the current computer hardware available and the changing nature of projects programmers wish to tackle. Functional language constructs make it possible to efficiently automate currency, make use of multiple cores without much effort on the side of the programmer, are both more elegant and readable, and offer great potential in solving the issue of parallel hardware. Functional programming has become an essential part of the field, and Objects First with Java gives students a basic understanding of an area they’ll need to master in order to succeed in the future.
Table of Contents
Part 1: Foundations of object orientation
1. Objects and classes
2. Understanding class definitions
3. Object interaction
4. Grouping objects
5. Functional Processing of Collections (Advanced)
6. More-sophisticated behavior
7. Fixed-size collections – arrays
8. Designing classes
9. Well-behaved objects
Part 2: Application structures
10. Improving structure with inheritance
11. More about inheritance
12. Further abstraction techniques
13. Building graphical user interfaces
14. Handling errors
15. Designing applications
16. A case study
A Working with a BlueJ project
B Java data types
D Java control structures
E Running Java without BlueJ
F Using the debugger
G Unit unit-testing tools
H Teamwork tools
J Program style guide
K Important library classes