Introduction

 

Thank you for purchasing Classic Computer Science Problems in Java. Java has been one of the most popular programming languages in the world for around two decades. It is arguably the dominant language in the enterprise space, higher education, and Android app development. In this book I hope to take you beyond using Java as a means to an end. Instead, I hope to bring you to a place where you are thinking about Java as a tool for computational problem solving. The problems in this intermediate book will help seasoned programmers refresh themselves on ideas from their CS education while learning some advanced features of the language. Students using Java in school and self-taught programmers will accelerate their CS education by learning generally applicable problem-solving techniques. This book covers such a diversity of problems that there is truly something for everyone.

This book is not an introduction to Java. There are numerous excellent books from Manning and other publishers in that vein. Instead, this book assumes that you are already an intermediate or advanced Java programmer. Although this book uses features from a fairly recent version of Java (Java 11), mastery of every facet of the latest version of Java is not assumed. In fact, the book’s content was created with the assumption that it would serve as learning material to help readers achieve such mastery. On the other hand, this book is not appropriate for readers completely new to Java.

Who should read this book

How this book is organized: A roadmap

About the code

Other online resources