Introduction to Programming in JavaAn Interdisciplinary Approach
Was £45.99, Now £32.19Save: £13.80
Programming skills are indispensable in today’s world, not just for computer science students, but also for anyone in any scientific or technical discipline. Introduction to Programming in Java, Second Edition, by Robert Sedgewick and Kevin Wayne is an accessible, interdisciplinary treatment that emphasizes important and engaging applications, not toy problems. The authors supply the tools needed for students and professionals to learn that programming is a natural, satisfying, and creative experience, and to become conversant with one of the world’s most widely used languages.
This example-driven guide focuses on Java’s most useful features and brings programming to life for every student in the sciences, engineering, and computer science.
- Basic elements of programming: variables, assignment statements, built-in data types, conditionals, loops, arrays, and I/O, including graphics and sound
- Functions, modules, and libraries: organizing programs into components that can be independently debugged, maintained, and reused
- Algorithms and data structures: sort/search algorithms, stacks, queues, and symbol tables
- Applications from applied math, physics, chemistry, biology, and computer science
Drawing on their extensive classroom experience, throughout the text the authors provide Q&As, exercises, and opportunities for creative engagement with the material. Together with the companion materials described below, this book empowers people to pursue a modern approach to teaching and learning programming.
Companion web site (introcs.cs.princeton.edu/java) contains
- Chapter summaries
- Supplementary exercises, some with solutions
- Detailed instructions for installing a Java programming environment
- Program code and test data suitable for easy download
- Detailed creative exercises, projects, and other supplementary materials
Companion studio-produced online videos (informit.com/sedgewick) are available for purchase and provide students and professionals with the opportunity to engage with the material at their own pace and give instructors the opportunity to spend their time with students helping them to succeed on assignments and exams.
Chapter 1: Elements of Programming 1
1.1 Your First Program 2
1.2 Built-in Types of Data 14
1.3 Conditionals and Loops 50
1.4 Arrays 90
1.5 Input and Output 126
1.6 Case Study: Random Web Surfer 170
Chapter 2: Functions and Modules 191
2.1 Defining Functions 192
2.2 Libraries and Clients 226
2.3 Recursion 262
2.4 Case Study: Percolation 300
Chapter 3: Object-Oriented Programming 329
3.1 Using Data Types 330
3.2 Creating Data Types 382
3.3 Designing Data Types 428
3.4 Case Study: N-Body Simulation 478
Chapter 4: Algorithms and Data Structures 493
4.1 Performance 494
4.2 Sorting and Searching 532
4.3 Stacks and Queues 566
4.4 Symbol Tables 624
4.5 Case Study: Small-World Phenomenon 670
- The ideal beginner's introduction to Java programming -- now fully updated for Java 8
- An applications-based approach: learn through meaningful real-world examples from science, mathematics, engineering, and commercial computing
- Focuses on what matters: the important and useful language features you absolutely need to know
- Adds updated coverage of the Java 64-bit memory model, dynamic and functional programming, hashing, and more -- including a brand-new glossary
- Includes question-and-answer sections, exercises, and creative exercises throughout
- From Robert Sedgewick and Kevin Wayne, co-authors of the global best-seller Algorithms and pioneering MOOC instructors who've reached hundreds of thousands of students worldwide
Robert Sedgewick is the William O. Baker Professor of Computer Science at Princeton University, where he was founding chairman of the Department of Computer Science. He has held visiting research positions at Xerox PARC, Institute for Defense Analyses, and INRIA, and served on the board of directors at Adobe Systems. His research interests include analytic combinatorics, design and analysis of algorithms and data structures, and program visualization. He has written seventeen books.
Kevin Wayne is the Phillip Y. Goldman Senior Lecturer in Computer Science at Princeton University, where he has taught since 1998, earning several teaching awards. He is an ACM Distinguished Educator and holds a Ph.D. in operations research and industrial engineering from Cornell University.