
Creative programming
The Creative Programming course is divided into 4 semesters. It focuses on programming visual and multimedia applications. We use algorithms for generating and processing audiovisual content in 2D and 3D.
In addition to its immediate use, creative programming is a good basis for future use of multimedia tools such as TouchDesigner, Houdini or vvvv. You will also use programming when creating video games or working with microcontrollers.
Creative Programming I, II
Based on simple graphical tasks, you will learn basic programming and mathematical concepts necessary for further learning and independent work with algorithms. You will learn to use a basic development environment and create simple visual 2D application with user interaction. The tool of choice for Creative Programming I and II is Processing.
Course Outline:
- Basic graphical commands, screen coordinates
- Variables and expressions
- Randomness
- Mouse interaction
- Colors
- Animation
- Branching (if) and looping (for)
- Basic mathematical operations for creative programming
- Arrays
- Vectors (PVector) and 2D geometry
- Fundamentals of object-oriented programming (class)
This course requires no previous programming experience. It is compulsory for Digital Arts and is recommended in the first year. It is an elective for other study programs, regardless of year.
Creative Programming III, IV
Using algorithms, we experiment with the most common applications of creative programming, such as multimedia processing, image recognition, modeling natural processes, generating complex graphical outputs, etc. We use the P5.js environment.
Course outline:
- Randomness, noise and chaos
- Natural processes (physics, motion)
- Particle systems and emergent phenomena
- Working with image and video
- Fundamentals of computer vision
- Generating 3D graphics
This elective is suitable as a continuation of Creative Programming I and II. It can also be taken by people who have not taken CP I and II if they have some previous programming experience. Or people who are willing to catch up with the basics covered in CP I and II through self-study and tutorials.