Titular Professors
Basic knowledge of HTML, CSS and JavaScript from previous courses in Interactive Media Programming.
No prior experience with generative art is required, but familiarity with control structures, functions and basic canvas manipulation is recommended.
By the end of the course, students will be able to:
- Create visual and interactive sketches applying fundamental creative coding concepts.
- Use randomness, noise and generative algorithms to produce aesthetic variations.
- Integrate different input sources (mouse, keyboard, sound, camera, external data).
- Develop complete creative projects that combine technique, aesthetics and artistic intent.
- Reflect critically on code as an expressive medium and artistic material.
The contents are structured into five main blocks:
Block 1 ? Fundamentals of generative art: Primitive shapes, color, basic animation, patterns, randomness and control.
Block 2 ? Movement, interaction and time: Velocity, simple physics, input interaction, particles, Perlin noise, sound visualization.
Block 3 ? Emerging complexity and creative algorithms: Recursion, fractals, cellular automata (Conway), L-systems, creative remix of sketches.
Block 4 ? Advanced interactivity and hybrid media: Video and camera, external data and APIs, shaders and generative visual effects.
Block 5 ? Final project and exhibition: Ideation, prototyping, production and public presentation.
The course combines:
- Theory?practice sessions with live demonstrations.
- Short in-class exercises to reinforce concepts.
- Experimental assignments (one per block).
- Laboratory work with incremental development of creative pieces.
- Final project with tutorials and public presentation.
The methodology encourages active learning, personal experimentation and the construction of a creative portfolio.
- Final project ? 40% (minimum grade 5).
- Block activities ? 30% (one per block, minimum grade 5 each).
- Practical exercises ? 15%.
- Portfolio ? 5%.
- Final presentation ? 5%.
- Participation and involvement ? 5%.
Evaluation will consider:
- Correct application of creative programming concepts.
- Formal and technical quality of sketches and projects.
- Creativity and personal exploration.
- Proper use of interaction, visualization and generative algorithms.
- Ability to document and analyze creative processes.
- Participation in class dynamics and feedback sessions.
- D. Shiffman ? The Nature of Code
- C. Reas & B. Fry ? Processing: A Programming Handbook for Visual Designers and Artists
- J. Maeda ? Design by Numbers
- M. Pearson ? Generative Art
- D. Shiffman ? Learning Processing
- p5.js Reference ? https://p5js.org/reference/
- OpenProcessing ? https://openprocessing.org/
- The Coding Train (Daniel Shiffman)
- Example code and materials provided in class.
- Repositories and works by artists such as Vera Molnar, Casey Reas, Zach Lieberman and Golan Levin.