Degree in Design and Creation of Interactive Products La Salle Campus Barcelona

Bachelor in Design and Creation of Interactive Products - Minor in Video Games

Creative programming

Description: 
Creative Programming explores the use of code as a medium for artistic and interactive expression. Through JavaScript and the p5.js library, students learn to create generative visuals, animations, reactive pieces, experimental interfaces and hybrid projects combining sound, video, data or camera input. Processing is introduced as a historical reference for software art, connecting the origins of creative coding with current practices. The course focuses on practice, experimentation and the development of a personal visual language, culminating in a final project presented publicly in showcase format.
Type Subject
Tercer - Obligatoria
Semester
First
Course
3
Credits
6.00

Titular Professors

Previous Knowledge

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.

Objectives

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.

Contents

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.

Methodology

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.

Evaluation

- 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 Criteria

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.

Basic Bibliography

- 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/

Additional Material

- 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.