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
1
Chapter 2
Variables and Operators
15
Chapter 3
Input and Output
29
Chapter 4
Methods and Testing
45
Chapter 5
Conditionals and Logic
63
Chapter 6
Loops and Strings
79
Chapter 7
Arrays and References
95
Chapter 8
Recursive Methods
111
Chapter 9
Immutable Objects
129
Chapter 10
Mutable Objects
147
Chapter 11
Designing Classes
161
Chapter 12
Arrays of Objects
175
Chapter 13
Objects of Arrays
189
Chapter 14
Extending Classes
205
Chapter 15
Arrays of Arrays
219
Chapter 16
Reusing Classes
235
Chapter 17
Advanced Topics
243
Appendix A
Tools
259
Appendix B
Javadoc
271
Appendix C
Graphics
279
Appendix D
Debugging
287
Index
 
299
About the Authors
 
306

Book Details

Subject
Computer Science
Publisher
O'Reilly Media, Green Tea Press
Published
2019
Pages
374
Edition
2
Language
English
ISBN13
9781492072478
ISBN10
1492072478
ISBN13 Digital
9781492072508
ISBN10 Digital
1492072508
PDF Size
3.0 MB
License
CC BY-NC-SA

Related Books

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...
Think Data Structures
If you're a student studying computer science or a software developer preparing for technical interviews, this practical book will help you learn and review some of the most important ideas in software engineering - data structures and algorithms - in a way that's clearer, more concise, and more engaging than other materials. By emphasizing prac...