Assignments | Course Home | Documentation | Lab Hours/Tutoring | Schedule | Submit

Saint Louis University

Computer Science 144
Introduction to Computer Science: Multimedia

Michael Goldwasser

Spring 2015

Dept. of Math & Computer Science


The Processing Language and

Processing Cheat Sheets

In terms of quick references, there are several condensed "cheat sheets" online with an overview of basic commands and usage. I find the following two quite useful:

In addition to the materials at the official website, there is another website, which is effectively the YouTube for Processing. Even more exciting, in the spirit of open-source code, viewers can examine the code behind all sketches posted to this site. That can be a great way to learn (although please make sure to respect our policy on Academic Integrity).

Some amusing sketches:

For future use this semester, I've created our own Classroom on openprocessing. This can serve as a way for us to share our collective portfolio.

Java vs. JavaScript modes

Code written in the Processing language is actually executed by first translating that code to other more traditional languages. Historically, Processing was developed to be translated to Java code and run through a Java virtual machine. Java is a very popular language, and also one that for many years was the dominant language for publishing software, known as Applets, which could run in web browsers.

In recent years, browsers have put more limits on the use of Java Applets for the sake of security, and new standards have been developed for running interactive software within a broswer. A more popular language for web design these days is JavaScript (ironically, not at all related to Java). Processing sketches that are exported and published as JavaScript will tend to be far more universaly accessible.

The Processing Development Environment still uses "Java mode" as the default. But it now includes an option of installing "JavaScript mode" (see the pulldown menu near the top-right of the Processing window). If the mode is not already installed, select "add mode" to find it.

There may occassionally be some differences in intermediate and advanced features between the Java and JavaScript ports of Processing, but we are unlikely to see those in this course, so we expect most Processing scripts to be valid, without change, in either mode.

With that said, my recommendation is that we do all development within Java mode, and that we switch to JavaScript mode only if we want to export the project to share with others.

Common colors

Here is a link to a long list of common colors and their RGB and hex codes

Our Department's Computing Resources

In addition to our classroom in Ritter 316, the Department of Mathematics and Computer Science maintains a Linux system (named turing) for student use, and a walk-in lab in Ritter 121 of Linux workstations. Although we will not rely directly on that system for our day-to-day activities, an account will be created for all students in this class and you are welcome to use that system to work on your projects. Another feature of our system is that we have a web server and all students can host web-content from their account. This might provide us with yet another way to share our projects with others (although we'll likely use our OpenProcessing classroom as our first choice).

More information about our computing resources can be found at We also offer this very brief guide to using Linux.

Drop-in Tutoring Hours

Our department employees many junior/senior computer science majors to help out with students in introductory courses. They might not be familiar with the Processing language, but they should be eager to help. Our department web page maintains a current list of the available times and locations.

As stated in the section on Academic Integrity, these tutors are an acceptable resource for help, yet you should still document both the source of the help as well as the extent, if significant.

Michael Goldwasser
CSCI 144, Spring 2015
Last modified: Wednesday, 04 February 2015
Assignments | Course Home | Documentation | Lab Hours/Tutoring | Schedule | Submit