Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Processing : an introduction to programming
Nyhoff J., Nyhoff L., Chapman & Hall/CRC, Boca Raton, FL, 2017. 576 pp. Type: Book (978-1-482255-95-9)
Date Reviewed: Feb 28 2018

Technology advances haven’t been kind to computer science educators. Getting youngsters excited about programming, a foundational element of a computer science curriculum, is becoming increasingly difficult. When I was a pupil, the ability to program allowed me to get my hands on the school’s computer, a Zenith Z-89, which was normally locked in a room and was carted around for the needs of specific courses. Nowadays, it’s difficult for kids to avoid being near several computers, each thousands of times more capable than the 2-MHz central processing unit (CPU), 48 kB of RAM Zenith. This abundance of computing power and the associated marvelous applications of it mean that educators need to travel several extra miles in order to get youngsters excited about the marvels of computing.

The Processing programming language and its interactive development environment offer plenty of opportunities to awe pupils and students. Designed to bring the communities of electronic arts, visual design, and new media art in touch with programming, Processing does away with the ceremony and boilerplate of general-purpose programming frameworks, allowing its users to dive straight into exciting projects based on graphics, 3D rendering, animation, sound, and communication. Although the language’s syntax is based on Java, code can easily run as standalone statements without requiring the creation of a class or even a function. More advanced uses require splitting the code into a setup and a drawing function, but again these are run and looped over automatically. Thus, a “Hello World” or an ellipse-drawing program can be written in a single line.

Processing: an introduction to programming is a textbook that aims to teach programming to novices by means of examples and exercises written in the Processing language. After the obligatory “Hello World” example, the text dives straight into graphics, introducing functions to draw shapes in various styles and colors. The rest of the book continues in a more traditional style discussing types, expressions, variables, built-in functions, control flow, subroutines, functions, arrays, and objects. Each chapter ends with a summary (which often reads like the chapter’s table of contents) and many exercises. The book introduces programming following the “objects-last” rather than the “objects-first” approach, which the authors claim provides a much gentler introduction to programming. (Empirical evidence suggests the two approaches have similar learning outcomes [1]; modern approaches tend to favor objects-first [2].)

The writing is clear and follows a slow pace suitable for students without prior programming experience, covering the material in more than 500 pages. Diagrams are liberally used to explain how values move between expressions and variables, to illustrate which statements are executed, and to annotate the presented code. Although the text is sprinkled with examples that take advantage of Processing’s graphics capabilities, far too many others appear dated, and could have come straight out of a 1970s textbook for programming in BASIC. In general, the treatment could have benefited a lot from a more imaginative, adventurous, and edgy exploitation of Processing. Such a book would surely motivate today’s computing students, but it remains to be written.

More reviews about this item: Amazon

Reviewer:  D. Spinellis Review #: CR145889 (1805-0191)
1) Ehlert, A.; Schulte, C. Empirical comparison of objects-first and objects-later. In Proc. of the 5th International Workshop on Computing Education Research. ACM, 2009, 15–26.
2) Kölling, M.; Rosenberg, J. Guidelines for teaching object orientation with Java. ACM SIGCSE Bulletin. 33, 3 (2001), 33–36.
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
General (D.1.0 )
 
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