Think Java

How to Think Like a Computer Scientist

by Allen Downey, Chris Mayfield

DescriptionTable of ContentsDetailsHashtagsReport an issue

Book Description

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.

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.

This open book is licensed under a Creative Commons License (CC BY-NC-SA). You can download Think Java ebook for free in PDF format (3.0 MB).

Table of Contents

Chapter 1
Computer Programming
Chapter 2
Variables and Operators
Chapter 3
Input and Output
Chapter 4
Methods and Testing
Chapter 5
Conditionals and Logic
Chapter 6
Loops and Strings
Chapter 7
Arrays and References
Chapter 8
Recursive Methods
Chapter 9
Immutable Objects
Chapter 10
Mutable Objects
Chapter 11
Designing Classes
Chapter 12
Arrays of Objects
Chapter 13
Objects of Arrays
Chapter 14
Extending Classes
Chapter 15
Arrays of Arrays
Chapter 16
Reusing Classes
Chapter 17
Advanced Topics
Appendix A
Appendix B
Appendix C
Appendix D
About the Authors

Book Details

Computer Science
O'Reilly Media, Green Tea Press
ISBN13 Digital
ISBN10 Digital
PDF Size
3.0 MB

Related Books

Deep Learning with JavaScript
Deep learning has transformed the fields of computer vision, image processing, and natural language applications. Thanks to TensorFlow.js, now JavaScript developers can build deep learning apps without relying on Python or R. Deep Learning with JavaScript shows developers how they can bring DL technology to the web. Written by the main authors of t...
Computational Thinking Education
This book offers a comprehensive guide, covering every important aspect of computational thinking education. It provides an in-depth discussion of computational thinking, including the notion of perceiving computational thinking practices as ways of mapping models from the abstraction of data and process structures to natural phenomena. Further, it...
Programming Persistent Memory
Beginning and experienced programmers will use this comprehensive guide to persistent memory programming. You will understand how persistent memory brings together several new software/hardware requirements, and offers great promise for better performance and faster application startup times - a huge leap forward in byte-addressable capacity compar...
Designing Scalable JavaScript Applications
If you've ever written a non-trivial JavaScript application, you know that creating a code base that's easy to maintain and scales well over time is no small feat. The complexity only grows as the project becomes larger. While it's impossible to plan for every change that could possibly happen over the life of a project, you can help future-proof y...
Think Python
If you want to learn how to program, working with Python is an excellent way to start. This hands-on guide takes you through the language a step at a time, beginning with basic programming concepts before moving on to functions, recursion, data structures, and object-oriented design. This second edition and its supporting code have been updated for...
Early Geometrical Thinking in the Environment of Patterns, Mosaics and Isometries
This book discusses the learning and teaching of geometry, with a special focus on kindergarten and primary education. It examines important new trends and developments in research and practice, and emphasizes theoretical, empirical and developmental issues. Further, it discusses various topics, including curriculum studies and implementation, spat...