Code art: algorithms, generativity and intelligent machines

C++ OpenFrameworks Programming Lab (level 1)

Combining programming, arts and philosophy studies, this course offers a theoretical and practical route to digital art and research in computational aesthetics, through the cross-cutting study of reference cases in art history and computer design and the techno-scientific and philosophical transformations since the 18th century that aim at knowledge and transformation of reality from notions such as dynamic processes, gradients and multiplicities, rather than models based on static objects and fixed definitions.

Our analysis ranges from the patented algorithms in Islamic design and architecture, the pioneers of the analytical machine and the algorithmic and generative computational graphics, the artist automatons, the random, combinatorial poetry and algorithmic music of the early 20th century, the visualization and data mining, the journey from bits to atoms implicit in digital manufacturing and the Internet of Things, examples of non-linear and interactive narratives in the design of Video Games and Virtual Reality, to projects such as Deep Blue, Alexa, SenseTime and other critical cases of Artificial Intelligence and its socio-political assemblages, exploring issues such as the creative autonomy of machines, biases (injustice, prejudice and algorithmic discrimination, the psychological footprint and the influence of algorithms on politics, knowledge, aesthetics and imagination.

We will put ideas into practice by programming in the C++ language using openFrameworks, a free and flexible programming environment that allows artists and researchers to generate their own high performance and scalable software. During the course we will develop practical projects that include creating graphics, animations, multimedia remixes, applications to manipulate raw data, videos, sound, text and images based on interaction via external devices such as mouse, keyboard, microphone and webcam, construction of 3D models.

Aimed at
Interested in digital art, communication and audiovisual art, 3D design and computer architecture, graphic design, advertising, interactive design and music, computer programming. Media historians, researchers in philosophy, technology, psychology, humanities and social sciences.

– Historical and conceptual knowledge of digital aesthetics that supports our critical research and creative production with algorithms.
– Development of own software using C+++ / OpenFrameworks to collect and manipulate data, produce audiovisual content and 3D models.
– Know the basics of intelligent system construction
and its applications in data analysis, vision, language and learning.

Requirements: The workshop is aimed at people with little or no experience in C++ / openFrameworks programming.
It is recommended to attend all sessions with a personal computer.

Pre requirements: They don’t exist

Areas of application
Arts, Audiovisual creation, video for performances, television, live concerts, public shows. 3D, virtual and augmented reality developers. Science and Data Visualization, advertising, architecture, photography, graphic design.

Dates: 3, 5, 7, 10, 12, 14, 17, 19, 21 September 2018
Hours: 18:30-21:30
Duration: 27 hours
Registration Fee: 150 €


– Notes on the Interrelationship between Science and Philosophy: Transcendental Empiricism and Materialism. Milestones in Scientific and Philosophical evolution in the understanding of dynamic systems and complex phenomena.

– Concepts of the Sciences of Complexity, Aleatoreity, Chaos, cellular automata, genetic algorithms, Dynamic and Nonlinear Systems, neural networks, reaction-diffusion systems, fractals, artificial life and L Systems, Assembly Theories.

– Code and Nature: Computing, procedural art and autonomous systems. Theory and History of Algorithmic and Generative Art. Analysis of the technical and aesthetic evolution of the algorithmic and generative arts through the study of reference cases.

– Artificial Intelligence and Power: Big data and Big Brother.
Fundamentals of the construction of intelligent systems and their applications in data analysis, vision, language and learning. Notes of socio-political implications.

– Introduction to C++ programming: Object Oriented Programming, Syntax. OF objects, data types, functions, control structures, memory management, CPU and GPU processing. Design and develop your own C++ project using OpenFrameworks. System of addons and integration of selected addons.

– Drawing with pixels, lines, primitive 2D geometries, fonts, dynamic polygons. Integration, mixing, collage and blend of images in layers. Export PNG JPG bitmaps and SVG PDF vector images, animations and movies.

– Audiovisual Control: image sequences, playback and recording of movies. Playback, recording and manipulation of audio samples, FFT analysis. Sampling techniques and audiovisual synthesis.

– Basics of interactivity: Input from mouse, keyboard, microphone and webcam. Creation of a GUI graphical user interface. Event Design: Automatic Sequences, Timers, Complex Conditions and Contingencies. Generative and evolutionary algorithms.

Import/export XML, CSV, JSON. Data Mining Techniques and Connection with Social Network APIs on the Internet. Design methodologies for audiovisual data representation.

– 3D Creation: Generation of 2D/3D mesh type patterns and networks. Fractals and generation of complex shapes. Particle systems and gravity simulation, attraction and repulsion forces. Create 3D models from algorithmic and generative processes. 3D rendering and export methods such as STL, OBJ for Digital Manufacturing

– Publish executable applications (EXE, DMG) for computers and mobile phones.


Álvaro Pastor is an architect, electronic artist, researcher in Cognitive Sciences and Virtual Reality. MSc Cognitive Systems and Interactive Media (Pompeu Fabra University), since 2006 is creator of real – virtual environments and multi-sensory experiences. He has been a contributor to, SPECS Synthetic Perceptive Emotive Cognitive Systems Research Group @ Universidad Pompeu Fabra,, 010.BIO Virtual and Augmented Reality Arts Agency, Since 2014 he has directed the Program of Studies in Philosophy and Digital Arts at

Categories: Training Program | Tags: ,

Cookies: We use cookies on this site to enhance your user experience. If you continue to browse you are giving your consent to the acceptance of the aforementioned cookies and acceptance of our cookie policy. ACEPTAR

Aviso de cookies