code and design experiences for beginners

Why Java?

There are so many languages! Why Java? Java is an excellent starter language. It is very popular, well-documented, and has been in use since 1995. With some experience Java code begins to feel approachable because it has observable and consistent rules, conventions, and patterns. It is a strictly typed language, meaning it requires 'strict' approaches to handling data. This constraint can prevent ambiguity and lend supportive boundaries to the learning process. Keep in mind coding mistakes become useable error messages. Error messages are immediate feedback mechanisms and excellent learning tools.

Why Processing?

The Java series uses Processing, a Java library (a constrained extension of the core Java language) that was created to teach non-programmers the fundamentals of programming. Processing is popular, well-documented, and has been in use since 2001. Processing is an entire learning ecosystem: it is code, it is a coding environment where learners type the code (called an Integrated Development Environment or IDE), and it is a committed community of learners, educators, and contributors.

Learning Pathway

The Java experience includes: 01 Visual Design Elements, 02 Visual Design Principles, 03 Visual Design Color Systems, 04 Motion Design, 05 Pattern Design, 06 User Event Design, 07 Text and Image Content, 08 Modular and Reusable Code Design. Each unit provides samples that integrate code concepts and design concepts. Beginners should go in order. Users of Processing do not need any experience with code and do not need any experience with web markup. Processing is totally self-contained and is an excellent coding experience for absolute beginners.

Download the editor

The Java approach requires Processing and the Processing IDE. Processing is available for Linux, Mac OS X, and Windows.

The editor, learning environment, features...

Once you download Processing you will be able to open, study, and manipulate the codexdesign example files. Find more information about the Processing environment here: