Learning Processing

A Beginner's Guide to Programming Images, Animation, and Interaction


  • Daniel Shiffman, Tisch School of the Arts, New York University, New York, NY, USA

This book teaches the basic building blocks of programming needed to create cutting-edge graphics applications including interactive art, live video processing, and data visualization.

A unique lab-style manual, this book gives graphic and web designers, artists, illustrators, and anyone interested in learning to code a jumpstart on working with the Processing programming environment by providing instruction on the basic principles of the language, followed by careful explanations of advanced techniques.

From algorithmic design to data visualization, to computer vision and 3D graphics, this book teaches object-oriented programming from the ground up within the fascinating context of interactive visual media and creative coding. It is also supported by a companion website (learningprocessing.com), which includes all examples running in the browser using HTML5 canvas and p5.js, downloadable versions of all source code, answers to select chapter exercises, and over twenty hours of companion video lessons.


View full description


Graphic designers and visual artists without programming background who want to learn programming. Students in college and graduate courses in interactive media or visual computing, and for self-study.


Book information

  • Published: August 2015
  • ISBN: 978-0-12-394443-6

Table of Contents

Lesson 1: The BeginningChapter 1: PixelsChapter 2: ProcessingChapter 3: InteractionLesson 2: Everything You Need to KnowChapter 4: VariablesChapter 5: ConditionalsChapter 6: LoopsLesson 3: OrganizationChapter 7: FunctionsChapter 8: ObjectsLesson 4: More of the SameChapter 9: ArraysLesson 5: Putting It all TogetherChapter 10: AlgorithmsChapter 11: DebuggingChapter 12: LibrariesLesson 6: The World Revolves Around YouChapter 13: MathematicsChapter 14: Translation and Rotation (in 3D!)Lesson 7: Pixels Under MicroscopeChapter 15: ImagesChapter 16: Video Lesson 8: The Outside WorldChapter 17: TextChapter 18: Data InputChapter 19: Data StreamsLesson 9: Making NoiseChapter 20: SoundChapter 21: ExportingLesson 10: Beyond ProcessingChapter 22: Advanced Object-Oriented ProgrammingChapter 23: JavaAppendix: Common ErrorsIndexwww.learningprocessing.com