Zone of Proximal Development

Lev Vygotsky, a renowned educational psychologist theorized that students learn best when they are simultaneously challenged and provided social resources to support their learning. Instruction is designed to challenge students to create in a new medium while receiving support from an expert instructor and peers.


From the beginning, students are programmers, designing and developing digital artwork as they learn functions and methods. Students are creative coding apprentices.


Consistent to learning scientist Seymour Papert's effective constructionist approach to learning, students learn by doing. Everyone is creating  throughout the entire learning process. Students learn to code primarily by writing functional programs, incorporating new topics as we discuss them in the context of their specific projects.


Students learn to navigate the complex systems of development environments, creating static images, animations, or interactive art and games. While navigating this system, students engage in creative computing, expand spatial skills, make logic-based manipulations, and gain command of a range of mathematical concepts, such as variables, all necessary building blocks of creative computing. They learn to manage complexity and create order within complex systems.

Distributed Learning

The development environments that students learn in are rich in functionality. The program teaches students to exploit the environments' capabilities. Likewise, the program takes advantage of collaborative learning. All students bring unique skills and ways of understanding to workshops and courses. We facilitate distribution of knowledge between people and tools.