Learning to program is essential to the education of every student -- in the sciences, engineering, and far beyond. As students learn to create useful applications, they also take the first steps towards understanding the computer sciences' massive impact on the modern world. Using Java, this book aims to teach programming to anyone who needs or want to learn it, in a scientific context. Princeton University's Robert Sedgewick and Kevin Wayne teach essential skills for computational problem-solving that are applicable in many modern computing environments. Fully updated to reflect Java 8 and Java's modern 64-bit memory model, this edition teaches through important examples from science, mathematics, engineering, and commercial computing. Each chapter contains questions and answers, exercises, creative exercises, and a compelling, classroom-tested case study -- all reflecting the authors' 20+ years of experience teaching introductory programming and computer science at Princeton. Coverage includes: Elements of programming: conditionals, loops, arrays, I/O, and more Functions and modules: static methods, libraries, clients, and recursion Object-oriented programming: creating and designing data types Algorithms and data structures: performance, sorts, searches, stacks, queues, and symbol tables Like all of Sedgewick and Wayne's books, Introduction to Programming in Java, Second Edition is supported by an extensive website, including libraries for programming with graphics and sound, as well as hundreds of Java programs and real-world data sets. These resources enable readers to work with interesting and engaging examples from the very beginning, helping them discover that programming is a natural, satisfying, and creative experience.
Author: Robert Sedgewick