the Free Java Book Website

Why write a book?


After many years of teaching CS1 in Pascal, C, C++ and eventually Java, I became increasingly unhappy with what I was doing. It was very obvious to me that what I mostly taught, console programming that was similar to what I'd learned in the early 80s, was extremely boring and irrelevant to students. And it's no wonder. The stuff we did in CS1 looked nothing like the computer applications the student grew up with. They deserved better.

Enter the ACM Java libary. This library made it possible to teach simple graphics and arcade game programming to students with no prior programming experience. But the students are still learning real coding and real Java. I enjoy the class much more, and it is obvious that the students do also. So I decided to write a book and make it available for free on the web.

Currently this book is in development. Chapters 1 through 12 are written, but some are not quite complete. In particular I need to write more assignments. Additional chapters and the appendixes will eventually be available - when I get to it.


Principles of the This Approach

  • use the ACM Java Library to provide beginner level access to console and graphics operations
  • use Standard Java for everything else
  • immerse the students immediately in graphics & animation
  • get to beginning arcade games (Pong, etc.) by the 6th week
  • teach traditional CS1 topics almost entirely in this problem domain

Benefits of the This Approach

  • real Java programming, all the time
  • natural progression to objects
  • minimal knowledge of specialized techniques
  • flexible problem domain and infinite number of varying assignments
  • increased student motivation and interest
  • opportunities for visual creativity
  • often students will go well beyond the minimal requirements of an assignment
  • CS1 has become a draw to the major instead of just a gatekeeper

Faculty interested in teaching with the Free Java Book

  • the book is very usable now but there will be a substantial edit this spring
  • I'll give you all the support I possibly can
  • you are encouraged to suggest edits, point out errors, pass along new assignments, etc. I can certainly use the help!
  • please be kind enough to drop me an email letting me know you are using the book

Distribution of the FJB


The Free Java Book is available at no cost for educational use. You may print, copy and distribute it, in whole or in part, at a cost not to exceed 5 cents per page to faculty, staff and students of any educational institution. All copyright notices must remain in place. Contact me with questions.


Daniel L. Schuster