Currently used at many colleges, universities, and high schools, this hands-on introduction to computer science is ideal for people with little or no programming experience. The goal of this concise book is not just to teach you Java, but to help you think like a computer scientist. You’ll learn how to program—a useful skill by itself—but you’ll also discover how to use programming as a means to an end.
Authors Allen Downey and Chris Mayfield start with the most basic concepts and gradually move into topics that are more complex, such as recursion and object-oriented programming. Each brief chapter covers the material for one week of a college course and includes exercises to help you practice what you’ve learned.
Learn one concept at a time: tackle complex topics in a series of small steps with examples
Understand how to formulate problems, think creatively about solutions, and write programs clearly and accurately
Determine which development techniques work best for you, and practice the important skill of debugging
Learn relationships among input and output, decisions and loops, classes and methods, strings and arrays
Work on exercises involving word games, graphics, puzzles, and playing cards
Allen B. Downey is a Professor of Computer Science at Olin College of Engineering. He has taught at Wellesley College, Colby College, and U.C. Berkeley. He has a Ph.D. in Computer Science from U.C. Berkeley and Master’s and Bachelor’s degrees from MIT.
Chris Mayfield is an Assistant Professor of Computer Science at James Madison University, with a research focus on CS education and professional development. He has a Ph.D. in Computer Science from Purdue University and Bachelor's degrees in CS and German from the University of Utah.
The animal on the cover of Think Java is a red-tailed black cockatoo (Calyptorhynchus banksii), also known as Banks' black cockatoo after an 18th-century English botanist. It is a large bird native to Australia, found in many habitats such as forests, open plains, or riverlands, often nesting in eucalyptus trees.
As suggested by their name, these birds have black plumage, though only males have vivid red panels on their tails. They are typically around 2 feet in length and weigh between 1–2 pounds. Like other cockatoo species, the red-tailed black cockatoo has a large curved beak, the ability to raise a feathered crest on its head, and feet with 2 toes facing forward and two facing backward. This allows them to grab and manipulate objects with one foot while gripping a branch with the other. Interestingly, the vast majority of cockatoos are left-footed.
The diet of the red-tailed black cockatoo is primarily made of up of eucalyptus seeds, though it will also eat nuts, fruits, insects, and various grains. They are very noisy birds, and will flock in large groups near plentiful food sources. However, this species is typically very shy around humans.
Due to their reliance on trees for shelter and food, the red-tailed black cockatoo is sensitive to deforestation, which threatens some populations in southeastern Australia. In addition, while Australia requires a special license to keep and breed these birds, they are still affected by illegal smuggling for the pet trade—they can have long lifespans in captivity and are in high demand.
Many of the animals on O'Reilly covers are endangered; all of them are important to the world. To learn more about how you can help, go to animals.oreilly.com.
The cover image is from Wood's Illustrated Natural History. The cover fonts are URW Typewriter and Guardian Sans. The text font is Adobe Minion Pro; the heading font is Adobe Myriad Condensed; and the code font is Dalton Maag's Ubuntu Mono.
For amateur programers, the book is easy to follow and teaches fundamental principles of programming not only applicable to Java (I've mostly used Python and R). The exercises are helpful and applies the principles taught in the book. I might have missed it, but I did not see the solutions. Since nearly all programming tasks can be solved in several ways, it would be nice to see the solutions of the author.
Bottom Line Yes, I would recommend this to a friend