Second Edition
Think Java is an introduction to computer science and programming intended for people with little or no experience. The goal is to help students learn to design and implement object-oriented solutions to non-trivial problems.
This book is free to read online and available for purchase in print and electronic formats.
Are you using this book in a class? We'd like to know about it! Please consider filling out this short survey.
** Free HTML Version**: Read online at GitHub Pages
** Purchase Options** (affiliate links):
- Bookshop.org - Support independent bookstores
- Amazon - Kindle and paperback editions
Note: Most readers won't need to build from source. The free HTML version is available online.
- LaTeX distribution (texlive-latex-extra, texlive-fonts-recommended on Linux)
- Python 3.6+ for conversion scripts
- Quarto for HTML generation
# PDF version (LaTeX)
make pdf
# HTML version (Quarto)
make html
# Legacy HTML versions
make hevea # static HTML
make trinket # interactive versionThinkJava2/
βββ quarto/ # Quarto book project
β βββ _quarto.yml # Book configuration
β βββ split_book.py # LaTeX to QMD converter
β βββ convert.py # LaTeX command converter
β βββ custom.css # Custom styling
βββ book/ # Generated Quarto output
βββ code/ # Example Java programs
βββ figs/ # Source figures (xfig, dia)
βββ ch*.tex # Chapter source files
βββ app*.tex # Appendix source files
βββ thinkjava2.tex # Main LaTeX file
βββ Makefile # Build automation
Copyright (c) 2020 Allen B. Downey and Chris Mayfield.
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. See LICENSE for details.