Practical Coding in Java

Learn to write and validate your own code

Darren Kessner, PhD

(revised January 9, 2026)

Previous: To the student

About the book

This book is based on notes, demo code, and coding exercises I have written and used over the past 10 years of teaching AP Computer Science A at Marlborough School in Los Angeles. Various versions of this content have been published previously on my class webpages with open source licensing.

In the Computer Science Program at Marlborough, we benefit from using many Free and Open Source Software (FOSS) projects and open educational resources. We use the Processing language and software for our introductory computer programming course. Processing is a simplified version of Java that provides a framework for computer graphics. It is a great language for learning to code, but you can also use more advanced Java concepts (e.g. classes) and you have access to OpenGL graphics programming functionality (e.g. 3D graphics, coordinate transformations, texture mapping). In AP Computer Science, in addition to completing the coding exercises in this book, students work on a sofware project throughout the school year, using the Processing libraries from Java. The project gives the student an opportunity to put into practice all of the concepts we discuss in the book.

About the author

I am a strong proponent of free and open source software, open public data, and open educational resources. I am also an advocate for increasing the diversity of voices in the STEM fields in general, and in software development in particular.

In the classroom I use free and open source software, open public data, and open educational resources.

Darren Kessner, PhD
https://dkessner.github.io


Next: