Welcome to our short course on Processing. I'm really enthused that we are going to learn Processing as a visual coding experience together. I have worked a lot with various visual coding frameworks over the years and they keep getting better and better. Processing really raised the bar when it was introduced and I have seen other frameworks exploding in their effectiveness ever since Processing suggested a highly appropriate way to do things.

For those of you who already know me, you'll know I always like to point out how what you are learning is relevant to other technological phenomena besides the immediate technology we are exploring (Processing in this case). I am happy to say there are many JavaScript frameworks (and Java libraries) that will be easier for you to understand and work with upon spending time learning and working with Processing. Keep your focus on visual coding as an overall learning objective and you'll get even more out of this class than your ability with the Processing language.

I have been wanting to teach this class for two years now but this is the first time we have enough of you (students) to justify the effort of going forward with the class. As a result, I have prepped for the class three times and as a result have been able to watch how Processing is progressing as a framework. We can learn Processing as a JavaScript syntax or as a Java syntax — both of which I think is highly relevant to your careers. Learning it as JavaScript will be an easier entry point for us so we will start there in class one and continue until it seems appropriate to try our hand at the Java environment.

I have provided us a nice syllabus to attempt together but I will be adjusting it based on how our classes go. That's the benefit you get taking the class with me when I am teaching the course for the first time. Those usually end up being legendary experiences for me and the students. My instincts and preparation for this class could not be better and I know the RISD classroom well having been teaching RISD students for eight years now. We should have a rip roaring good time and learn some very useful stuff.

I will assign homework and a project for the course. The homework is there for you to do and share with me as you see fit. I would like to share examples you come up with during the homework phase each week. We will continue to expand upon all examples we create together or explore together from my or a classmate's work. We have plenty of base examples to start from on the Processing examples page so we will be using that page early and often. If you get good at understanding what each example is teaching you (I will be coaching you heavily in that regard), and you get good at understanding how an API enables you to anticipate extensions upon what you are learning (also another coaching opportunity for me), you should have a really great way of thinking about code within any framework going forward.

So, ideally, you'd visit the Processing API page as often as you visit the examples page. For now, let's just take a look at what Processing suggests it is:
Processing is a programming language, development environment, and online community. Since 2001, Processing has promoted software literacy within the visual arts and visual literacy within technology. Initially created to serve as a software sketchbook and to teach computer programming fundamentals within a visual context, Processing evolved into a development tool for professionals. Today, there are tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning, prototyping, and production.

» Free to download and open source
» Interactive programs with 2D, 3D or PDF output
» OpenGL integration for accelerated 3D
» For GNU/Linux, Mac OS X, and Windows
» Over 100 libraries extend the core software
» Well documented with many books to support learning
Let's start here and see where we head as a group!