Skip to content

    Read more about Think Java: How To Think Like a Computer Scientist - 2e

    Think Java: How To Think Like a Computer Scientist - 2e

    (8 reviews)

    Chris Mayfield, James Madison University

    Allen Downey, Franklin W. Olin College of Engineering

    Copyright Year:

    ISBN 13: 9781491929568

    Publisher: Green Tea Press

    Language: English

    Formats Available

    Conditions of Use

    Attribution-NonCommercial-ShareAlike Attribution-NonCommercial-ShareAlike


    Learn more about reviews.

    Reviewed by Jeffrey LaMarche, Special Purpose Instructor, Radford University on 1/13/22

    The book covers most topics that I would expect in a CS1 level course. One topic that is strangely missing is working with text files, which is something that can lead to more interesting beginning programs. The chapters themselves are fairly... read more

    Reviewed by Peter Morgan, Adjunct Professor, Bunker Hill Community College on 6/27/20

    The book is appropriate for a first semester Computer Science course, although it does not present every detail that a Computer Science professor may wish to cover in a first semester programming course. The instructor should plan to fill in... read more

    Reviews prior to 2020 are for a previous edition.

    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 Computer Programming
    • 2 Variables and Operators
    • 3 Input and output
    • 4 Methods and Testing
    • 5 Conditionals and logic
    • 6 Loops and Strings
    • 7 Arrays and References
    • 8 Recursive Methods
    • 9 Immutable Objects
    • 10 Mutable Objects
    • 11 Designing Classes
    • 12 Arrays of Objects
    • 13 Objects of Arrays
    • 14 Extending Classes
    • 15 Arrays of Arrays
    • 16 Reusing Classes
    • 17 Advanced Topics
    • A Tools
    • B Javadoc
    • C Graphics
    • D Debugging

    Ancillary Material

    • Green Tea Press
    • About the Book

      Think Java is a hands-on introduction to computer science and programming used by many universities and high schools around the world. Its conciseness, emphasis on vocabulary, and informal tone make it particularly appealing for readers with little or no experience. The book starts with the most basic programming concepts and gradually works its way to advanced object-oriented techniques.

      In this fully updated and expanded edition, authors Allen Downey and Chris Mayfield introduce programming as a means for solving interesting problems. Each chapter presents material for one week of a college course and includes exercises to help you practice what you’ve learned. Along the way, you’ll see nearly every topic required for the AP Computer Science A exam and Java SE Programmer I certification.

      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.

      Contribute to this Page

      Suggest an edit to this book record