An Animated Introduction To Computer Science
With Processing And Java

Thomas C. O'Connell


DRAFT 2026


Copyright © 2016, 2024, 2026 Thomas C. O'Connell, All Rights Reserved

About This Book

I was driving to work one morning a long time ago when I noticed something move on the outside of my windshield in the gap between the wiper blades and the hood of my car. It was furry. It darted. It was a mouse. The mouse scurried back and forth, obviously scared. When I hit the highway, the mouse stood still, looking forward, the wind blowing back its fur. Was it petrified or exhilarated?

I imagine that feeling of being both petrified and exhilarated is the feeling many students have when they take their first computer science course. The course I teach, and for which I am developing this book, is an introduction for students who are considering computer science as a major and for those who are just curious to see what computer science is all about. Although I use Processing in the course, the course is not about programming for the visual arts. Processing makes learning computer science more fun and helps to maximize the exhilaration while minimizing the petrification. With Processing, students can develop visually interesting programs very quickly. Since Processing is just a package added to the widely used programming language Java, students also learn Java and develop the skills required to be computer scientists.

Acknowledgements

One of my former students, Gabe Weintraub, first introduced me to Processing. I became hooked after reading The Nature of Code by Daniel Shiffman. I highly recommend working through The Nature of Code.

The book was formatted from my LATEXnotes using TeX4ht. The animations were done using Processing.js. The website was built based on Laracast videos.

Disclaimer

This book is continually updated. If you happen upon this book and have comments or suggestions, please email me. I based this book on Processing 3. I do not know if all of the sketches are compatible with the latest version of Processing.

Known issues

Back To Top