So welcome to creative coding for designers using Python. This is the third video in our certificate series, so we're going to be taking more of a project based approach to creative coding. We're going to be expanding upon the toolkit that we have developed so far, but through projects. So let's look at the different weeks. It's going to be a five course, five week course. Starting in week 1, we're going to be constructing a particle system, right? So we're going to be using data structures such as lists, but also dictionaries to start thinking of color. And we're going to be constructing a particle system that is quite dynamic, that starts using physics, that starts kind of really allowing for kind of more complex visual effects in the canvas. So there's a lot of interesting kind of lessons by developing this particle system, right? This is going to transition to the second week, which is going to be vector fields. And we introduced vector fields here because we really want to kind of integrate them into what could be a particle navigation system, right? So while we're going to be looking at vector fields in isolation, right, like, how do we even paint a vector field? How do we create an interactive tool to paint a vector field? Then we would actually bring back the particle system and see how those particles could actually navigate through the canvas. So you start to get the idea of what we're going to be doing throughout this course, which is kind of developing projects, but also integrating ideas from different weeks. In week 3, we're going to transition to start building an ecosystem simulation. And this is perhaps a more complex simulation. We're going to maybe get you started with it. We're going to allow you to think where this could go in the future and invite you to kind of expand upon this model yourself. An ecosystem simulation really creates a series of species, right? A series of species that interact with each other in dynamic ways. And that's all done by their own kind of internal intelligence or simple forms of rule-based decision making that might allow a particular species to interact with others, right? We're going to move later to pathfinding in week 4. And pathfinding is kind of an interesting maybe departure. It really looks at optimization, right? How do we optimize the movement of an entity in a grid structure to actually arrive to a target, right? So we're going to see how to do that in a maybe not very efficient way, and move towards more advanced and more efficient algorithms, such as the A star algorithm, which is a very efficient way of finding a target within a grid, right? And we'll figure out that we could actually implement it to navigate through mazes, which is a very fun project to develop. And finally, week 5, perhaps one of the most interesting algorithms that I kind of use for generative design. We're going to dive into this idea of procedural content generation with the Wave Function Collapse algorithm, right? We're going to be writing that algorithm from scratch, understanding how tiles have compatibility with other tiles, and how eventually, the relationship between these tiles could ultimately result in what we call generative design, or kind of a procedurally generated design that is very versatile. Depending on the tiles that you construct and the compatibility that those tiles might have with one another, that would actually yield a drastically different design. So we have a lot to cover. These five weeks, each project is going to use each video as a continuation of the next one. So we invite you to start from the beginning and go all the way to the end of that week, as it's going to be difficult to catch up if you pick one of those videos from the middle, right? So that's a little bit the structure of the course. It's slightly more advanced, what we have covered, but nothing that you couldn't cover with what we already have as a foundation with course one and two. So I look forward to seeing you in class.