0% found this document useful (0 votes)
18 views56 pages

Building Java Programs: A Back To Basics Approach 4Th Edition (Ebook PDF

The document provides information about various eBooks available for download at ebookluna.com, focusing on programming books such as 'Building Java Programs: A Back to Basics Approach' in its 4th and 5th editions. It highlights features of the books, including problem-solving focus, algorithmic thinking, and a layered approach to teaching Java. Additionally, it mentions supplemental resources like MyProgrammingLab and instructional videos to enhance learning.

Uploaded by

vukoassefa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views56 pages

Building Java Programs: A Back To Basics Approach 4Th Edition (Ebook PDF

The document provides information about various eBooks available for download at ebookluna.com, focusing on programming books such as 'Building Java Programs: A Back to Basics Approach' in its 4th and 5th editions. It highlights features of the books, including problem-solving focus, algorithmic thinking, and a layered approach to teaching Java. Additionally, it mentions supplemental resources like MyProgrammingLab and instructional videos to enhance learning.

Uploaded by

vukoassefa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 56

Read Anytime Anywhere Easy Ebook Downloads at ebookluna.

com

Building Java Programs: A Back to Basics Approach


4th Edition (eBook PDF)

https://ebookluna.com/product/building-java-programs-a-back-
to-basics-approach-4th-edition-ebook-pdf/

OR CLICK HERE

DOWLOAD EBOOK

Visit and Get More Ebook Downloads Instantly at https://ebookluna.com


Instant digital products (PDF, ePub, MOBI) available
Download now and explore formats that suit you...

(eBook PDF) Building Java Programs: A Back to Basics


Approach 5th Edition

https://ebookluna.com/product/ebook-pdf-building-java-programs-a-back-
to-basics-approach-5th-edition/

ebookluna.com

Building Java Programs: A Back to Basics Approach 4th


Edition Stuart Reges - eBook PDF

https://ebookluna.com/download/building-java-programs-a-back-to-
basics-approach-ebook-pdf/

ebookluna.com

(eBook PDF) Building Java Programs: A Back to Basics


Approach 4th Edition by Stuart Reges

https://ebookluna.com/product/ebook-pdf-building-java-programs-a-back-
to-basics-approach-4th-edition-by-stuart-reges/

ebookluna.com

Building Java Programs - A Back to Basics Approach 5th


Edition Stuart Reges - eBook PDF

https://ebookluna.com/download/building-java-programs-a-back-to-
basics-approach-ebook-pdf-2/

ebookluna.com
(eBook PDF) Building Python Programs 1st Edition

https://ebookluna.com/product/ebook-pdf-building-python-programs-1st-
edition/

ebookluna.com

Java: A Beginner's Guide: Create, Compile, and Run Java


Programs Today 9th Edition Herbert Schildt - eBook PDF

https://ebookluna.com/download/java-a-beginners-guide-create-compile-
and-run-java-programs-today-ebook-pdf/

ebookluna.com

(eBook PDF) Introduction to Programming with Java: A


Problem Solving Approach 3rd Edition

https://ebookluna.com/product/ebook-pdf-introduction-to-programming-
with-java-a-problem-solving-approach-3rd-edition/

ebookluna.com

(eBook PDF) Organizational Behavior: A Skill-Building


Approach 2nd Edition

https://ebookluna.com/product/ebook-pdf-organizational-behavior-a-
skill-building-approach-2nd-edition/

ebookluna.com

(eBook PDF) A Small Scale Approach to Organic Laboratory


Techniques 4th Edition

https://ebookluna.com/product/ebook-pdf-a-small-scale-approach-to-
organic-laboratory-techniques-4th-edition/

ebookluna.com
images as two-dimensional arrays of pixel values. This extra coverage
will be particularly helpful for students taking an AP/CS A course
because of the heavy emphasis on two-dimensional arrays on the AP
exam.

Expanded self-checks and programming exercises. Many chapters have


received new self-check problems and programming exercises. There
are roughly fifty total problems and exercises per chapter, all of which
have been class-tested with real students and have solutions provided for
instructors on our web site.

Since the publication of our third edition, Java 8 has been released. This new
version supports a style of programming known as functional programming
that is gaining in popularity because of its ability to simply express complex
algorithms that are more easily executed in parallel on machines with
multiple processors. ACM and IEEE have released new guidelines for
undergraduate computer science curricula, including a strong
recommendation to cover functional programming concepts.

We have added a new Chapter 19 that covers most of the functional concepts
from the new curriculum guidelines. The focus is on concepts, not on
language features. As a result, it provides an introduction to several new Java
8 constructs but not a comprehensive coverage of all new language features.
This provides flexibility to instructors since functional programming features
can be covered as an advanced independent topic, incorporated along the
way, or skipped entirely. Instructors can choose to start covering functional
constructs along with traditional constructs as early as Chapter 6. See the
dependency chart at the end of this section.

The following features have been retained from previous editions:

Focus on problem solving. Many textbooks focus on language details


when they introduce new constructs. We focus instead on problem
solving. What new problems can be solved with each construct? What
pitfalls are novices likely to encounter along the way? What are the most
common ways to use a new construct?

Emphasis on algorithmic thinking. Our procedural approach allows us to


emphasize algorithmic problem solving: breaking a large problem into
smaller problems, using pseudocode to refine an algorithm, and
grappling with the challenge of expressing a large program
algorithmically.

Layered approach. Programming in Java involves many concepts that


are difficult to learn all at once. Teaching Java to a novice is like trying
to build a house of cards. Each new card has to be placed carefully. If
the process is rushed and you try to place too many cards at once, the
entire structure collapses. We teach new concepts gradually, layer by
layer, allowing students to expand their understanding at a manageable
pace.

Case studies. We end most chapters with a significant case study that
shows students how to develop a complex program in stages and how to
test it as it is being developed. This structure allows us to demonstrate
each new programming construct in a rich context that can't be achieved
with short code examples. Several of the case studies were expanded
and improved in the second edition.

Utility as a CS1+CS2 textbook. In recent editions, we added chapters


that extend the coverage of the book to cover all of the topics from our
second course in computer science, making the book usable for a two-
course sequence. Chapters 12–19 explore recursion, searching and
sorting, stacks and queues, collection implementation, linked lists,
binary trees, hash tables, heaps, and more. Chapter 12 also received a
section on recursive backtracking, a powerful technique for exploring a
set of possibilities for solving problems such as 8 Queens and Sudoku.

Layers and Dependencies


Many introductory computer science books are language-oriented, but the
early chapters of our book are layered. For example, Java has many control
structures (including for-loops, while-loops, and if/else-statements), and
many books include all of these control structures in a single chapter. While
that might make sense to someone who already knows how to program, it can
be overwhelming for a novice who is learning how to program. We find that
it is much more effective to spread these control structures into different
chapters so that students learn one structure at a time rather than trying to
learn them all at once.

The following table shows how the layered approach works in the first six
chapters:

Control Programming
Chapter Data Input/Output
Flow Techniques
procedural
1 methods String literals println, print
decomposition
definite variables, local variables, class
2 loops expressions, constants,
(for) int, double pseudocode
console input, 2D
return
3 using objects parameters graphics
values
(optional)
conditional char pre/post conditions, printf
4
(if/else) throwing exceptions
indefinite
assertions, robust
5 loops boolean
programs
(while)
token/line-based file
6 Scanner file I/O
processing

Chapters 1–6 are designed to be worked through in order, with greater


flexibility of study then beginning in Chapter 7. Chapter 6 may be skipped,
although the case study in Chapter 7 involves reading from a file, a topic that
is covered in Chapter 6.

The following is a dependency chart for the book:


Supplements
http://www.buildingjavaprograms.com/

Answers to all self-check problems appear on our web site and are accessible
to anyone. Our web site has the following additional resources for students:

Online-only supplemental chapters, such as a chapter on creating


Graphical User Interfaces

Source code and data files for all case studies and other complete
program examples

The DrawingPanel class used in the optional graphics Supplement 3G

Our web site has the following additional resources for teachers:

PowerPoint slides suitable for lectures

Solutions to exercises and programming projects, along with homework


specification documents for many projects

Sample exams and solution keys

Additional lab exercises and programming exercises with solution keys

Closed lab creation tools to produce lab handouts with the instructor's
choice of problems integrated with the textbook

To access protected instructor resources, contact us at


authors@buildingjavaprograms.com. The same materials are also available at
http://www.pearsonhighered.com/cs-resources. To receive a password for this
site or to ask other questions related to resources, contact your Pearson sales
representative.

MyProgrammingLab
MyProgrammingLab is an online practice and assessment tool that helps
students fully grasp the logic, semantics, and syntax of programming.
Through practice exercises and immediate, personalized feedback,
MyProgrammingLab improves the programming competence of beginning
students who often struggle with basic concepts and paradigms of popular
high-level programming languages. A self-study and homework tool, the
MyProgrammingLab course consists of hundreds of small practice exercises
organized around the structure of this textbook. For students, the system
automatically detects errors in the logic and syntax of code submissions and
offers targeted hints that enable students to figure out what went wrong, and
why. For instructors, a comprehensive grade book tracks correct and
incorrect answers and stores the code inputted by students for review.

For a full demonstration, to see feedback from instructors and students, or to


adopt MyProgrammingLab for your course, visit the following web site:
http://www.myprogramminglab.com/

VideoNotes

We have recorded a series of instructional videos to accompany the textbook.


They are available at the following web site: www.pearsonhighered.com/cs-
resources

Roughly 3–4 videos are posted for each chapter. An icon in the margin of the
page indicates when a VideoNote is available for a given topic. In each video,
we spend 5–15 minutes walking through a particular concept or problem,
talking about the challenges and methods necessary to solve it. These videos
make a good supplement to the instruction given in lecture classes and in the
textbook. Your new copy of the textbook has an access code that will allow
you to view the videos.
Acknowledgments
First, we would like to thank the many colleagues, students, and teaching
assistants who have used and commented on early drafts of this text. We
could not have written this book without their input. Special thanks go to
Hélène Martin, who pored over early versions of our first edition chapters to
find errors and to identify rough patches that needed work. We would also
like to thank instructor Benson Limketkai for spending many hours
performing a technical proofread of the second edition.

Second, we would like to thank the talented pool of reviewers who guided us
in the process of creating this textbook:

Greg Anderson, Weber State University

Delroy A. Brinkerhoff, Weber State University

Ed Brunjes, Miramar Community College

Tom Capaul, Eastern Washington University

Tom Cortina, Carnegie Mellon University

Charles Dierbach, Towson University

H.E. Dunsmore, Purdue University

Michael Eckmann, Skidmore College

Mary Anne Egan, Siena College

Leonard J. Garrett, Temple University

Ahmad Ghafarian, North Georgia College & State University

Raj Gill, Anne Arundel Community College


Michael Hostetler, Park University

David Hovemeyer, York College of Pennsylvania

Chenglie Hu, Carroll College

Philip Isenhour, Virginia Polytechnic Institute

Andree Jacobson, University of New Mexico

David C. Kamper, Sr., Northeastern Illinois University

Simon G.M. Koo, University of San Diego

Evan Korth, New York University

Joan Krone, Denison University

John H.E.F. Lasseter, Fairfield University

Eric Matson, Wright State University

Kathryn S. McKinley, University of Texas, Austin

Jerry Mead, Bucknell University

George Medelinskas, Northern Essex Community College

John Neitzke, Truman State University

Dale E. Parson, Kutztown University

Richard E. Pattis, Carnegie Mellon University

Frederick Pratter, Eastern Oregon University

Roger Priebe, University of Texas, Austin

Dehu Qi, Lamar University


John Rager, Amherst College

Amala V.S. Rajan, Middlesex University

Craig Reinhart, California Lutheran University

Mike Scott, University of Texas, Austin

Alexa Sharp, Oberlin College

Tom Stokke, University of North Dakota

Leigh Ann Sudol, Fox Lane High School

Ronald F. Taylor, Wright State University

Andy Ray Terrel, University of Chicago

Scott Thede, DePauw University

Megan Thomas, California State University, Stanislaus

Dwight Tuinstra, SUNY Potsdam

Jeannie Turner, Sayre School

Tammy VanDeGrift, University of Portland

Thomas John VanDrunen, Wheaton College

Neal R. Wagner, University of Texas, San Antonio

Jiangping Wang, Webster University

Yang Wang, Missouri State University

Stephen Weiss, University of North Carolina at Chapel Hill

Laurie Werner, Miami University


Visit https://testbankfan.com
now to explore a rich
collection of testbank or
solution manual and enjoy
exciting offers!
Dianna Xu, Bryn Mawr College

Carol Zander, University of Washington, Bothell

Finally, we would like to thank the great staff at Pearson who helped produce
the book. Michelle Brown, Jeff Holcomb, Maurene Goo, Patty Mahtani,
Nancy Kotary, and Kathleen Kenny did great work preparing the first edition.
Our copy editors and the staff of Aptara Corp, including Heather Sisan, Brian
Baker, Brendan Short, and Rachel Head, caught many errors and improved
the quality of the writing. Marilyn Lloyd and Chelsea Bell served well as
project manager and editorial assistant respectively on prior editions. For
their help with the third edition we would like to thank Kayla Smith-Tarbox,
Production Project Manager, and Jenah Blitz-Stoehr, Computer Science
Editorial Assistant. Mohinder Singh and the staff at Aptara, Inc., were also
very helpful in the final production of the third edition. For their great work
on production of the fourth edition, we thank Louise Capulli and the staff of
Lakeside Editorial Services, along with Carole Snyder at Pearson. Special
thanks go to our lead editor at Pearson, Matt Goldstein, who has believed in
the concept of our book from day one. We couldn't have finished this job
without all of their hard work and support.

Stuart Reges

Marty Stepp
Break through
To Improving results

MyProgammingLab™
Through the power of practice and immediate personalized feedback,
MyProgrammingLab helps improve your students' performance.

Programming Practice
With MyProgrammingLab, your students will gain firs-hand programming
experience in an interactive online environment.

Immediate, Personalized Feedback


MyProgrammingLab automatically detects errors in the logic and syntax of
their code submission and offers targeted hints that enables students to figure
out what went wrong and why.

Graduated Complexity
MyProgrammingLab breaks down programming concepts into short,
understandable sequences of exercises. Within each sequence the level and
sophistication of the exercises increase gradually but steadily.
Dynamic Roster
Students' submissions are stored in a roster that indicates whether the
submission is correct, how many attempts were made, and the actual code
submissions from each attempt.

Pearson eText
The Pearson eText gives students access to their textbook anytime, anywhere

Step-By-Step Videonote Tutorials


These step-by-step video tutorials enhance the programming concepts
presented in select Pearson textbooks.
For more information and titles available with MyProgrammingLab, please
visit www.myprogramminglab.com.

Copyright © 2016 Pearson Education, Inc. or its affiliate(s). All rights


reserved. HELO88173 · 11/15

LOCATION OF VIDEO NOTES IN THE TEXT

www.pearsonhighered.com/cs-resources

Chapter 1 Pages 31, 40


Chapter 2 Pages 65, 74, 89, 97, 110
Chapter 3 Pages 141, 156, 161, 167
Chapter 3G Pages 197, 215
Chapter 4 Pages 243, 251, 278
Chapter 5 Pages 324, 327, 329, 333, 356
Chapter 6 Pages 396, 409, 423
Chapter 7 Pages 458, 465, 484, 505
Chapter 8 Pages 535, 547, 555, 568
Chapter 9 Pages 597, 610, 626
Chapter 10 Pages 672, 677, 686
Chapter 11 Pages 716, 729, 737
Chapter 12 Pages 764, 772, 809
Chapter 13 Pages 834, 837, 843
Chapter 14 Pages 889, 896
Chapter 15 Pages 930, 936, 940
Chapter 16 Pages 972, 979, 992
Chapter 17 Pages 1037, 1038, 1048
Chapter 18 Pages 1073, 1092
Brief Contents
1. Chapter 1 Introduction to Java Programming 1

2. Chapter 2 Primitive Data and Definite Loops 63

3. Chapter 3 Introduction to Parameters and Objects 137

4. Supplement 3G Graphics (Optional) 196

5. Chapter 4 Conditional Execution 238

6. Chapter 5 Program Logic and Indefinite Loops 315

7. Chapter 6 File Processing 387

8. Chapter 7 Arrays 443

9. Chapter 8 Classes 530

10. Chapter 9 Inheritance and Interfaces 587

11. Chapter 10 ArrayLists 662

12. Chapter 11 Java Collections Framework 715

13. Chapter 12 Recursion 754

14. Chapter 13 Searching and Sorting 832

15. Chapter 14 Stacks and Queues 884

16. Chapter 15 Implementing a Collection Class 922

17. Chapter 16 Linked Lists 965

18. Chapter 17 Binary Trees 1017


Random documents with unrelated
content Scribd suggests to you:
back
back
back
back
back
back
back
back
back
back
back
back
back
back
back
back
back
back
back
back
back
back
back
back
back
back
back
back
back
back
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookluna.com

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy