After a string of workshops in New York I’m happy to announce that I’ll be doing my first round of private workshops in Europe. (Well, technically Scandinavia, but close enough.)

I’m bringing some Processing love to Norway in the form of a 2-day workshop on Generative Visuals in Processing. The workshop will take place on the weekend of April 13+14, which is only a few weeks away so get in touch if you’re interested in taking part. Details and prices are listed below.

  • Saturday, April 13: Introduction to Processing and Generative Art
    Participants will be introduced to basic Processing syntax through a series of code examples designed to illustrate key Processing and Java concepts, giving a first taste of the power of generative visuals. We will then apply what we’ve learned by designing a generative system from the ground up, applying minor tweaks and code “remixes” to produce a variety of possible outputs.

    Topics: How to describe principles of composition and animation as computational logic. Basic Processing / Java syntax (including object-oriented code.) Practical techniques for generating pseudo-random color palettes and the use of GUI controls to explore possible permutations of a parametric form system. Finally, we will also learn to use Processing to generate professional output for use in print (as PDF vector or ultra-highres raster) or video (Quicktime video in HD and even 4k.)

  • Sunday, April 14: Generative Art, Advanced Topics
    Day #2 will deal with advanced computational techniques and how to describe complex geometry in code. Our test case will be the re-creation of some classic (and not-so-classic) generative algorithms, breaking down the underlying logic and learning some principles of 2D+3D geometry in the process.

    We will see how vectors can be used to describe motion and structures in space, before moving on to useful abstractions like vertex lists and polygon meshes that allow us to use the same principles on a larger scale. And since data is all-important in all things code, one of our test cases will be to read data from a CSV file and find different ways to map it to a visual structure.

    Since computational geometry is traditionally math-heavy an important objective will be to outsource the heavy lifting to a geometry library so we can focus on the fun parts. We’ll be using Modelbuilder to handle most of our computational geometry needs. It defines a code workflow that simplifies common geometry tasks like generating polygon meshes and provides simple solutions to well-known code challenges that tend to come up in project after project.

    Bonus track: A (brief) look at Processing.js and its potential to bring the power of Processing back to the web.

    Topics: 2D and 3D geometry as a product of generative processes, including how to simplify and overcome some common challenges. Practical real-world uses for vectors, vertex lists and other data structures, whether for realtime rendering or 3D printing etc. Parsing data from CSV and finding suitable visual mappings. Advanced parametric modeling: Export/import of parameter data, on-demand realtime model regeneration in response to interactive parameter manipulation. Processing.js and exporting sketches to the web.

Price and booking: NOK 1500 is the regular price for both days, reducted to NOK 1200 for students and artists (that’s approx. EUR 200 / 162). I’m happy to take bookings for only one of the days (at NOK 900 / 750), but be advised that I need to give priority to participants who want to attend both days. Depending on the level of interest I may not be able to confirm single-day bookings until the week of the workshop.

To book your spot on the workshop please email info@mariuswatz.com with your name, address and cell phone #. You will be sent a PayPal URL where you can complete your payment, participation is confirmed once payment is completed.

Dates & times: Saturday and Sunday April 13+14, 10:00-17:00. This includes one hour for lunch (not included) and a possibility of extending somewhat beyond the official end time if so desired. There will be an optional informal social event Saturday evening.

Venue: I am partnering with local superstars Bengler, who have gracefully offered us the use of their offices conveniently located close to the popular Grünerløkka area of Oslo. I will send out an email with directions and a map to confirmed participants the week of the workshop.

Who is it for and how can you prepare

The workshop should be helpful for beginners looking to learn about Processing and “creative code” but also for experienced coders interested in expanding their area of knowledge. A working understanding of code is a definite advantage, but Day #1 is designed to be possible to follow even without previous programming experience. Advanced coders will find the basic syntax easy but should still learn some new helpful techniques dealing with visuals and animation.

Day #2 introduces advanced concepts that are essential to generative systems and “creative code” but which can be a challenge to follow step-by-step in code. The underlying logic and general principles discussed should nevertheless e helpful for anyone interested in how code can be used to explore new types of forms and creative expressions.

Suggested preparations: Read the Introduction and Chapter 1: Vectors sections of Dan Shiffman’s excellent Nature of Code book. You can also read through the sample PDF of Ben Fry & Casey Reas: Learning Processing (better yet, buy it.) The sample PDF will give you an idea of Processing as a tool as well as insight into the basic syntax. Download Processing and run through the examples.

To prepare for Day #2 I suggest you download Modelbuilder-0020 and run the examples included with the library (some of which require ControlP5 to run.) Also see the Modelbuilder collection of sketches on OpenProcessing.org for examples.