Creative Coding for Designers Using Python,marks the final installment in the comprehensive three-course specialization, aimed at significantly enhancing the programming capabilities of designers, artists, and visual thinkers through Python. As the advanced course in the series, Creative Coding for Designers Using Python adopts a project-based learning strategy to consolidate and apply the skills acquired from the first two courses. In this course, you’ll focus on dynamic simulations and procedural content generation, offering a deeper dive into Python's application in visual design and digital art. Designed for individuals who have grasped the basics of Python, including its syntax, data structures, and object-oriented programming principles, this course delves into sophisticated topics. Leveraging the Processing platform with Python, you’ll engage in interactive projects that transform theoretical knowledge into tangible outputs, bridging the gap between technical proficiency and artistic creativity.
Creative Coding for Designers Using Python is structured as an educational journey that combines technology and art, equipping participants with the skills to explore advanced digital design techniques. This course offers the tools and conceptual understanding necessary for the innovative application of Python in creating digital art and design projects.
This is the third and final course in a three-part series, Programming for Designers, aimed at equipping designers with essential computational design skills.
Overview
Syllabus
- Project 1: Particle Systems
- Our first project introduces particle systems, a fundamental concept in simulation and visual effects that can create complex and dynamic patterns from simple rules. Through a series of videos, we'll cover the creation of particles, their behaviors, and how to control and animate them to produce complex visual effects. This week sets the foundation for understanding how individual elements can work together to create intricate designs.
- Project 2: Vector Fields
- Building on our knowledge of particle systems, week two explores vector fields and their application in guiding the movement of particles. You'll learn how to create vector fields and use them to influence the navigation and behavior of particles within a system. This week enhances our ability to simulate natural phenomena and create dynamic, flowing patterns in our designs.
- Project 3: Ecosystem Simulations
- In our third project, we dive into ecosystem simulations, a complex and fascinating application of creative coding that models interactions within ecosystems. You'll learn how to simulate different entities within an ecosystem and their interactions, such as predation and reproduction. This week challenges us to think about systems, their rules, and how to represent them visually in engaging ways.
- Project 4: Pathfinding
- Pathfinding is crucial in many design and gaming applications, allowing objects to navigate through environments in an intelligent manner. This week, we focus on the A-Star (A*) algorithm, a popular pathfinding algorithm known for its efficiency and accuracy. You'll learn how to implement A* to enable characters or objects to find the shortest path between two points, overcoming obstacles and optimizing movement within your projects.
- Project 5: Wave Function Collapse
- Our final project explores the wave function collapse algorithm, an advanced technique for procedural generation that's particularly useful in tile-based generative design. You'll learn how to implement this algorithm to create complex patterns and landscapes, offering a powerful tool for architectural design, game development, and digital art. This week culminates our exploration, showcasing how algorithms can inspire creativity and innovation in design.
Taught by
Jose Sanchez