# Code as a Material **Track:** Engaged Learning — the ij8 platform for schools **Framework / surface:** ij8 Studio (platform outreach) **Level:** Technical literacy **In one line:** Real programming — p5.js, three.js, shaders, sound — taught through making, so technical literacy arrives as craft. ## Theory, aesthetics & inspiration On ij8, code is not a separate subject bolted onto the art room. It is one more material, and for many students it becomes the favorite one. The studio generates running sketches in four creative frameworks. p5.js draws and animates in two dimensions. three.js builds navigable three-dimensional scenes. GLSL writes shaders that paint every pixel at once on the graphics card. Tone.js composes music and synthesizes sound in code. A student describes what they want to see or hear, and a complete working sketch appears, running live on the canvas. Then the material becomes teachable. The student can open the code, read it, and change it, with the AI explaining any part they ask about. A gist view distills the algorithm to its essence, so the idea is graspable before the syntax is. Editing is conversational or direct, and both count. Ask for a change in plain language, or type into the code yourself, and the sketch runs again. Sketches are seeded deterministically, so a student's piece reproduces exactly every time they open it, which makes work gradable and genuinely theirs. The engineering under the surface takes teenagers seriously. Generated audio sketches include a click-to-play gate, a stop control, and a limiter to protect hearing. The pipeline itself checks for the gate and the limiter, rather than leaving them to chance. Generated code is validated before it reaches the student, and in the open studio a vision system inspects what the trickiest sketches actually drew. This is technical literacy through making, in a direct line from Processing. That movement taught a generation of artists to code by handing them a canvas instead of a compiler error. The platform's founder wrote early and influential books for that movement, and its lessons are baked in. Start from an outcome a student cares about. Let the concepts arrive as tools for getting it. Name the concept only after the student has seen it work. A loop is how you get a hundred circles. A variable is how the whole sketch changes when one number does. Students who would never enroll in a programming class end up reading code, because the code is the recipe for something they made. And students already bound for computer science learn something their exam courses rarely teach, that programs can be expressive, personal, and beautiful. **Founder question:** Which concept would your students rather see drawn than defined? ## References - [Processing — software for visual arts since 2001](https://processing.org) - [p5.js — JavaScript creative coding](https://p5js.org) - [The ij8 curriculum roadmap](https://tutorials.ij8.ai)