Processing 2 is a programming language, development environment, and online community that promotes software literacy. The tools are open source and free. The language is based on BASIC and Logo, uses a visual context, is used in education, and has been supported by the NSF. There are some very neat graphical examples with the code used to generate the images or animations.