An Animated Introduction To Computer Science
With Processing And Java

Thomas C. O'Connell


DRAFT 2024


Copyright © 2016, 2024 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 skills required of computer scientists.

Acknowledgements

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 after you get comfortable writing code in Java with Processing.

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 is a very early draft of the book. Many parts of this draft are poorly worded, unorganized, missing, or lead to nowhere, and my formatting is pretty lame at times. I am putting the book online in its far from finished form for the benefit (or detriment) of my current students. I based this book on Processing 3. I do not know if all of the sketches are compatible with the latest version of Processing.

If you happen upon this book and have comments or suggestions, please email me.

Known issues

Back To Top