PV259 Generative Design Programming

Faculty of Informatics
Autumn 2023
Extent and Intensity
1/2/1. 3 credit(s) (plus extra credits for completion). Type of Completion: k (colloquium).
Taught in person.
Mgr. Marko Řeháček (lecturer)
Mgr. Magdaléna Kejstová (lecturer)
Mgr.art. Helena Lukášová, ArtD. (seminar tutor)
Bc. Bronislav Musil (seminar tutor)
Daniel Ricardo Echeverri Giraldo, PhD (assistant)
Guaranteed by
doc. RNDr. Barbora Kozlíková, Ph.D.
Department of Visual Computing – Faculty of Informatics
Supplier department: Department of Visual Computing – Faculty of Informatics
Thu 21. 9. to Thu 14. 12. each even Thursday 12:00–13:50 B311
  • Timetable of Seminar Groups:
PV259/01: Thu 10:00–11:50 B311, M. Kejstová, M. Řeháček
Basic knowledge of programming, algorithms & data structures (as taught within introductory programming courses such as IB111 Foundations of Programming and IB002 Algorithms I).
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
The capacity limit for the course is 25 student(s).
Current registration and enrolment status: enrolled: 16/25, only registered: 0/25, only registered with preference (fields directly associated with the programme): 0/25
fields of study / plans the course is directly associated with
there are 46 fields of study the course is directly associated with, display
Course objectives
Show how art intersects with technology and how to use programming skills in graphic design and art projects. The course explains generative design techniques and fundamental art principles through programming in p5.js (Processing). The students will profoundly understand generative design process, improve their design thinking, and create unique audio-visual works to present to their peers and public.
Learning outcomes
Students passing this course will be able to:
  • create own (interactive) audio-visual works (static images, video, interactive graphics, web application, art installation) using generative design techniques
  • apply generative design techniques in other fields (graphic and web design, data visualization, games, art, ...)
  • create presentations of ideas for designs or artworks using design sotware (Figma)
  • prototype the ideas in p5.js or Processing
  • Syllabus
    • Introduction to generative design and art, programming in p5.js, examples of works of international and local artists.
    • Basic geometry: how to use colors, color palettes and their interpolation, color models (RGB vs. HSL), transparency and blending, basic shapes, organizing shapes into rhythmic patterns, generating growing structures.
    • Interactivity: using mouse and keyboard input to alter the artwork.
    • Geometric transformations: how to position elements, coordinate systems, linear interpolation.
    • Randomness vs. order: let computer make decisions, use Perlin noise.
    • Use of generative techniques in graphic design.
    • Multi-agent systems: artificial life, forces, physics, digital brush, flowfields, emergent patterns.
    • Complex shapes, vectors, curves
    • Computer audition: what are the qualities of sound, spectral analysis using FFT, creating audio-reactive visuals
    • Typography: playing with text and font parameters, curves, font rasterization, font mutations.
    • Basics of image processing.
    • AI in art: using ml5.js, generative and other models, such as PoseNet.
    • Final project: ideation, first concepts and drafts, implementation, and presentation. Using Figma to document and present the ideas.
      recommended literature
    • BOHNACKER, Hartmut, Benedikt GROSS and Julia LAUB. Generative design : visualize, program, and create with processing. Edited by Claudius Lazzeroni. 1st ed. New York: Princeton Architectural Press. 474 s. ISBN 9781616890773. 2012. info
    • PEARSON, Matt. Generative art : a practical guide using processing. Edited by Marius Watz. Shelter Island, NY: Manning ;. xli, 197. ISBN 9781935182627. 2011. info
    • REAS, Casey and Chandler MCWILLIAMS. Form+code in design, art, and architecture. 1st ed. New York: Princeton Architectural Press. 176 s. ISBN 9781568989372. 2010. info
    Teaching methods
    Lectures and seminars outlined in the schedule of the course are identical. The classes are interactive, set up in a way that mixes programming exercises with very brief lectures and own experimentation. Therefore, attendance is expected on the lectures. The classes consist of:
  • lectures about given topics from an artistic point of view
  • lectures about specific programming principles
  • creative programming exercises where the students apply their knowledge from the lectures
  • collaborative creative activities that support idea sharing and inspiration
  • presentations of students' works
  • Assessment methods
    Students complete several small generative art exercises on given topics during the course. Towards the end of the course, each student designs and solo-implements a standalone project. They will document the process and present their projects to other AGD+M students, lecturers, and the public.
    Students will regularly consult their outputs with the teachers. The quality of both design and code will be considered in the evaluation.
    Language of instruction
    Follow-Up Courses
    Further comments (probably available only in Czech)
    Study Materials
    The course is taught annually.
    Teacher's information
    Examples of projects created in course
    The course is also listed under the following terms Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Autumn 2020, Autumn 2021, Autumn 2022.
    • Enrolment Statistics (recent)
    • Permalink: https://is.muni.cz/course/fi/autumn2023/PV259