Think Java: How To Think Like a Computer Scientist

(5 reviews)


Chris Mayfield, James Madison University
Allen Downey, Franklin W. Olin College of Engineering

Pub Date: 2016

ISBN 13: 978-1-4919295-6-8

Publisher: Green Tea Press

Read This Book

Conditions of Use



  All reviews are licensed under a CC BY-ND license.

Learn more about reviews.


Reviewed by Isabela Hidalgo, Instructor I, University of South Florida, on 3/28/2018.

Concepts are presented individually, in a fundamentals-first approach, with examples that are simple for students who are learning to program for the … read more



Reviewed by Vijayalakshmi Ramasamy, Visiting Assistant Professor, Miami University, on 2/2/2018.

“Think Java” intends to provide all the topics needed for the beginners to learn Java programming. The vocabulary, comprehensive index, a variety of … read more



Reviewed by Debra Duke, Instructor, Virginia Commonwealth University, on 2/9/2017.

The textbook covers all of topics for a post-secondary introduction to programming course in Java (CS1). The topics are presented in a "late objects" … read more



Reviewed by Siva Jasthi, Adjunct Faculty, Metropolitan State University, on 8/22/2016.

It has covered the topics that are expected to be covered in a beginning programming course. However, the structure and arrangement of the material … read more



Reviewed by Bradford Armitage, Adjunct Professor, Metropolitan State University, on 8/22/2016.

The book does a great job on providing fundamental programming concepts in a manner that will make it easy for Students to grasp. Materials are … read more


Table of Contents

1. The way of the program
2. Variables and operators
3. Input and output
4. Void methods
5. Conditionals and logic
6. Value methods
7. Loops
8. Arrays
9. Strings and things
10. Objects
11. Classes
12. Arrays of objects
13. Objects of arrays
14. Objects of objects
A. Development tools
B. Java 2D graphics
C. Debugging

About the Book

Think Java is an introduction to computer science and programming intended for readers with little or no experience. We start with the most basic concepts and are careful to define all terms when they are first used. The book presents each new idea in a logical progression. Larger topics, like recursion and objectoriented programming, are divided into smaller examples and introduced over the course of several chapters.

This book is intentionally concise. Each chapter is 12–14 pages and covers the material for one week of a college course. It is not meant to be a comprehensive presentation of Java, but rather, an initial exposure to programming constructs and techniques. We begin with small problems and basic algorithms and work up to object-oriented design. In the vocabulary of computer science pedagogy, this book uses the “objects late” approach.

About the Contributors


Chris Mayfield, PhD, is an Assistant Professor of Computer Science at James Madison University. His research focuses on CS education and professional development, particularly in K-12 schools. Over the past several years, he has taught introductory CS courses using POGIL and the flipped classroom. 

Allen Downey is an American computer scientist, Professor of Computer Science at the Franklin W. Olin College of Engineering and writer of free textbooks.

Downey received in 1989 his BS and in 1990 his MA, both in Civil Engineering from the Massachusetts Institute of Technology, and his PhD in Computer Science from the University of California at Berkeley in 1997.

He started his career as Research Fellow in the San Diego Supercomputer Center in 1995. In 1997 he became Assistant Professor of Computer Science at Colby College, and in 2000 at Wellesley College. He was Research Fellow at Boston University in 2002 and Professor of Computer Science at the Franklin W. Olin College of Engineering since 2003. In 2009-2010 he was also Visiting Scientist at Google Inc.