Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Processing : creative coding and generative art in Processing (2nd ed.)
Greenberg I., Xu D., Kumar D., Friends of ED, Berkeley, CA, 2013. 472 pp. Type: Book (978-1-430244-64-6)
Date Reviewed: Nov 27 2013

The problem with reviewing a book for novices on a subject one is familiar with is that it is very difficult to put yourself in the position of the intended reader. I found it nearly impossible to read and review this book while ignoring or suppressing the knowledge I have. I could only read and review it as someone who has been programming in Processing and Java for many years. With that being said, I tried my best to see the book through the eyes of a beginner and was pleasantly surprised by what I saw.

The authors introduce not only the Processing environment, but also the general basics of programming. They use the paradigm of “creative coding” to teach the fundamentals of how to program. Creative coding is based on “intuitive, expressive, and organic algorithmic development, with an iterative leap-before-you-look style.” As such, the teaching emphasizes learning by doing. The reader first learns to code by copying the examples, and then going back through the code to understand what she has just done. There isn’t space in this review to address whether or not this is an appropriate pedagogy, but it certainly is an engaging way to teach programming.

The book contains four main sections. The first, chapters 1 to 4, gently introduces basic programming concepts along with the Processing environment. Things are kept as simple as possible, but within a few pages, the reader is writing simple programs. The initial programming examples may appear simple, but they provide the foundation for later, more interesting examples. The second section, chapters 5 to 8, introduces core concepts in computer science, such as arrays, sorting, and recursion. Throughout these chapters, and in fact, throughout the book, there are numerous helpful examples with full source code. The examples are simple enough for beginners to follow, but at the same time provide a starting point for the keen reader to expand from. This hints at one of the strengths of this book: although it aims to lead novices through the often-difficult landscape of learning to program, it also provides opportunities for more adept readers to take the ideas and run with them. As the chapters go on, and as new concepts are introduced, the examples get more and more interesting. This has the added benefit of engaging the readers and motivating them to carry on reading and learning.

The third section, chapters 9 and 10, introduces more advanced “creative” concepts such as image processing and digital painting. Again, thorough examples make these chapters useful and interesting. The final section, and indeed the final chapter, serves as a springboard to new areas such as pure Java coding, JavaScript, and Android programming. Although the chapter is very brief, it contains just enough information to point the reader in the right direction.

This book is aimed at novice programmers, and I am sure they will greatly benefit from it. More than that, they will enjoy learning programming through the creative coding paradigm. In the introduction, the authors state that this book is designed to be a primary text for introductory courses on computing. Although this has proven successful on the authors’ own National Science Foundation (NSF) TUES-funded project, the approach is heavily dependent on adopting the creative coding pedagogy. In teaching environments where that’s not appropriate, this book would not be useful. That being said, the authors introduce programming concepts in a visual and easy-to-follow way. The flattened learning curve and liberal use of examples will make the book accessible to technical and non-technical readers alike. I think the highest compliment that I can pay to the authors is that even though I found the material basic and familiar, I still thoroughly enjoyed reading it and trying the examples. I highly recommend it.

More reviews about this item: Amazon

Reviewer:  Harry Strange Review #: CR141764 (1402-0109)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
General (D.1.0 )
 
 
Animation (I.3.7 ... )
 
 
Java (D.3.2 ... )
 
 
Applications (I.3.8 )
 
 
Image Processing And Computer Vision (I.4 )
 
Would you recommend this review?
yes
no
Other reviews under "General": Date
Problems in programming
Vitek A., Tvrdy I., Reinhardt R., Mohar B. (ed), Martinec M., Dolenc T., Batagelj V. (ed), John Wiley & Sons, Inc., New York, NY, 1991. Type: Book (9780471930174)
Aug 1 1992
KNOs: KNowledge acquisition, dissemination, and manipulation Objects
Tsichritzis D., Fiume E., Gibbs S., Nierstrasz O. ACM Transactions on Information Systems 5(1): 96-112, 1987. Type: Article
Nov 1 1987
Programmer perceptions of productivity and programming tools
Hanson S. (ed), Rosinski R. Communications of the ACM 28(2): 180-189, 1985. Type: Article
Jul 1 1985
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy