Computer ScienceScience & MathematicsEconomics & FinanceBusiness & ManagementPolitics & GovernmentHistoryPhilosophy

Think Java

How to Think Like a Computer Scientist

by Allen Downey, Chris Mayfield

Think Java

Subscribe to new books via dBooks.org telegram channel

Join
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
Tools
Appendix B
Javadoc
Appendix C
Graphics
Appendix D
Debugging
Index
 
About the Authors
 

Book Details

Title
Think Java
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

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...
JavaScript: The First 20 Years
How a sidekick scripting language for Java, created at Netscape in a ten-day hack, ships first as a de facto Web standard and eventually becomes the world's most widely used programming language. This paper tells the story of the creation, design, evolution, and standardization of the JavaScript language over the period of 1995-2015. But the s...
Java Everywhere Again with DukeScript
For many years, Java Swing enabled developers to write applications that could run on any operating system. That all came to an end with the arrival of smart phones, tablets, and embedded computers. In the enterprise, the desktop dominated for many years. In the meantime, however, almost every IT project includes plans for a future where the app...
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...