Think Java: How to Think Like a Computer Scientist, 2nd Edition

Allen B. Downey

Comprehensive guide to Java programming, computer science principles, and computational thinking. Suitable for beginners, universities, and self-learners.

Technical TutorialsComputer ScienceJava

Introduction

Think Java: How to Think Like a Computer Scientist, 2nd Edition is a comprehensive guide to Java programming, computer science principles, and computational thinking. Written by Allen B. Downey and Chris Mayfield, this book covers fundamental concepts and practical application of Java for aspiring computer scientists and programmers.

screenshot

Highlights

  • Discover one concept at a time: tackle complex topics in a series of small steps with multiple examples
  • Understand how to formulate problems, think creatively about solutions, and develop, test, and debug programs
  • Learn about input and output, decisions and loops, classes and methods, strings and arrays, recursion and polymorphism
  • Determine which program development methods work best for you, and practice the important skill of debugging

Recommendation

Think Java is a free and comprehensive textbook that provides a hands-on introduction to computer science and programming. It is particularly appealing for readers with little or no experience, as it covers fundamental concepts in an informal and approachable manner. The book is suitable for universities, high schools, and self-learners interested in mastering Java programming and computational thinking.

How GetVM Works

Learn by Doing from Your Browser Sidebar

Access from Browser Sidebar

Access from Browser Sidebar

Simply install the browser extension and click to launch GetVM directly from your sidebar.

Select Your Playground

Select Your Playground

Choose your OS, IDE, or app from our playground library and launch it instantly.

Learn and Practice Side-by-Side

Learn and Practice Side-by-Side

Practice within the VM while following tutorials or videos side-by-side. Save your work with Pro for easy continuity.

Explore Similar Hands-on Tutorials

CS50 Labs | Computer Science Fundamentals | Harvard University

1
University CoursesComputer ScienceProgramming
Explore the intellectual enterprises of computer science and the art of programming with CS50 Labs, Harvard University's renowned introduction to computer science for beginners and experienced learners alike.

Java Programming (CS 1) | Computer Science Fundamentals

1
University CoursesJavaObject-Oriented Programming
Learn the fundamentals of Java programming, including variables, expressions, control structures, arrays, objects, and file I/O. Suitable for students without prior programming experience.

Data Structures (Into Java)

9
Technical TutorialsAlgorithmData StructuresJava
Comprehensive guide to understanding and implementing data structures using Java, covering arrays, linked lists, stacks, queues, trees, and more.

The Great Tree List Recursion Problem

9
Technical TutorialsAlgorithmCJava
Explore the intricacies of data structures, recursion, and programming with The Great Tree List Recursion Problem, a comprehensive guide to binary trees and circular doubly linked lists.

Compiler Design: Theory, Tools, and Examples, Java Edition

11
Technical TutorialsCompilerJava
Comprehensive guide to compiler design theory and tools, with practical Java examples. Covers lexical analysis, parsing, code generation, and optimization.

Basic Computer Architecture

5
Technical TutorialsCompilerComputer EngineeringComputer Science
Explore the fundamental concepts of computer architecture with this comprehensive book, now available under a Creative Commons license.

Foundations of Data Science

5
Technical TutorialsComputer ScienceData Science
Dive into the core principles and techniques of data science with this comprehensive course by renowned experts. Gain a strong foundation in algorithms, machine learning, and more.

High-Dimensional Data Analysis with Low-Dimensional Models: Principles, Computation, and Applications

10
Technical TutorialsComputer ScienceData ScienceMathematics
Comprehensive exploration of high-dimensional data analysis, covering real-world applications in medical imaging, computer vision, and more. Valuable resource for researchers and practitioners.

Pointers And Memory | Computer Programming, Memory Management

16
Technical TutorialsCComputer ScienceProgramming
Comprehensive guide to understanding pointers, memory allocation, and optimization techniques for computer science students and software developers.