Library Home

Think Java: How To Think Like a Computer Scientist cover image

Think Java: How To Think Like a Computer Scientist

(6 reviews)

Chris Mayfield, James Madison University

Allen Downey, Franklin W. Olin College of Engineering

Pub Date: 2016

ISBN 13: 9781491929568

Publisher: Green Tea Press

Language: English

Read this book

Conditions of Use



Learn more about reviews.

Reviewed by George Foster, Adjunct Instructor, University of Mary Washington on 4/30/19

I have used "Think Java" previously as a supplement to my notes in my sections of an introductory programming and problem solving CS1 level course in Java, and intend to do so again, but to emphasize use of the textbook more. The textbook covers... read more


Reviewed by Isabela Hidalgo, Instructor I, University of South Florida on 3/27/18

Concepts are presented individually, in a fundamentals-first approach, with examples that are simple for students who are learning to program for the first time. It does not assume any previous knowledge of programming or college-level math. It... read more


Reviewed by Vijayalakshmi Ramasamy, Visiting Assistant Professor, Miami University on 2/1/18

“Think Java” intends to provide all the topics needed for the beginners to learn Java programming. The vocabulary, comprehensive index, a variety of practice exercises at the end of each chapter, and the links to related material stimulate the... read more


Reviewed by Debra Duke, Instructor, Virginia Commonwealth University on 2/8/17

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" order. Each chapter includes a Vocabulary section that is a glossary of the terms introduced in... read more


Reviewed by Bradford Armitage, Adjunct Professor, Metropolitan State University on 8/21/16

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 organized in a reasonable manner, although the chapter on loops could be presented sooner. Each... read more


Reviewed by Siva Jasthi, Adjunct Faculty, Metropolitan State University on 8/21/16

It has covered the topics that are expected to be covered in a beginning programming course. However, the structure and arrangement of the material is not smooth. Consistency in presentation is missing. read more


Table of Contents

  • Preface
  • 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 intendedfor readers with little or no experience. We start with the most basic conceptsand are careful to define all terms when they are first used. The book presentseach new idea in a logical progression. Larger topics, like recursion and objectorientedprogramming, are divided into smaller examples and introduced overthe course of several chapters.

This book is intentionally concise. Each chapter is 12–14 pages and covers thematerial for one week of a college course. It is not meant to be a comprehensivepresentation of Java, but rather, an initial exposure to programming constructsand techniques. We begin with small problems and basic algorithms and workup 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.