Welcome

Welcome to 'Creative Coding for Designers Using Python,' the third and advanced course in our 'Programming for Designers' series. You will begin by diving into the dynamics of particle systems, understanding how simple rules can generate complex and beautiful patterns. You will then explore vector fields, using them to navigate particles in visually captivating ways. You will embark on projects in ecosystem simulations that will bring to life the interactions within virtual environments, showcasing the balance and complexity of natural systems.

From there you will explore the A-Star algorithm and how this opens new pathways in understanding navigation and optimization, skills that are invaluable in a myriad of applications. With the wave function collapse algorithm, you will venture into the world of generative design, exploring procedural generation in architecture, gaming, and digital art.

Whether you're refining your skills or ready to jump into advanced creative coding, 'Creative Coding for Designers Using Python' offers an opportunity to expand your design practice into new dimensions. I invite you to embrace this challenge, explore beyond the conventional, and discover the unparalleled potential of creative coding.

Course Learning Outcomes: Creative Coding for Designers Using Python

Remember, Programming for Designers is a 3 course series . This course, ‘Creative Coding for Designers Using Python’ is the third and final course in the series. The other courses are as follows: Course 1, ‘Python Fundamentals for Designers’ and Course 2, ‘Data Structures for Designers Using Python’ Successful completion of all three courses allows you to earn a series certificate. It is recommended that you take the courses in order.

Series Learning Outcomes: Programming for Designers

Participation Strategies

Engaged learning looks different for everybody. In this course, we hope you will define your own measures of success and engage with the material in a way that best suits your needs.We recognize and celebrate the diverse ways learners engage in courses. As you go through this course, we hope you will reflect on your unique skills, needs, and aspirations, and engage in the course material in a way that aligns with your own goals. While the course provides time estimates for completion, you should feel empowered to engage in the material in whatever ways make sense to you.

Course Schedule & Grading Policy

Course Schedule:

Week 1: Project 1: Particle Systems

Week 2: Project 2: Vector Fields

Week 3: Project 3: Ecosystem simulation

Week 4: Project 4: Pathfinding

Week 5: Project 5: Wave Function Collapse

Grading Policy:

This course includes multiple ungraded practice quizzes as regular intervals to help you practice your skills. Additionally, there will be a graded quiz at the end of each week, each worth 20% of your course grade. All quizzes allow unlimited attempts and the graded quizzes require an 80% to pass.

Course materials and assignments will remain open and available for self-paced learning. You must earn an overall grade of 80% in order to pass the class.

The following table shows how grades will be calculated for the course:

Assignment

Percent of Course Grade

Week 1 Quiz: Particles & Forces

20%

Week 2 Quiz: Vector Fields

20%

Week 3 Quiz: Ecosystem Simulation

20%

Week 4 Quiz: Pathfinding

20%

Week 5 Quiz: Wave Function Collapse

20%

Total

100%

Community Engagement

We expect everyone to be mindful of what they say and its potential impact on others. The goal is to have respectful discussions that do not violate the community space created for these conversations. Here are some productive ways to engage in this course:

We expect all learners to abide by our full Learner Engagement Policy . We will specifically be monitoring this course for language that could be considered inflammatory, incivil, racist, or otherwise unacceptable for this learning space, and we will remove language deemed such.

Note regarding “study groups” outside of the platform : While learners are encouraged to interact with one another using communication tools offered within the learning platform, note that any study groups formed outside of this platform, such as over social media or communication applications and websites (e.g., WhatsApp) are not affiliated, endorsed, or moderated by the University of Michigan. If you receive an invitation to an outside study group mentioning the course and claiming to have any official connection to U-M or individual instructors, please exercise caution as this may be an attempted scam.

Academic Honesty

All submitted work should be your own and academic dishonesty is not allowed, such as, but not limited to:

Academic dishonesty may result in deleting assignment submissions, forum responses, removal from the course, or other actions as needed. For more information on academic honesty and misconduct, please refer to our Learner Engagement Policy.

Course Support

Questions and discussion of course material should take place within the course itself. Please do not contact instructors or teaching assistants off the platform, as responding to individual questions is virtually impossible.

We encourage you to direct your questions to the Discussion Forum , where your question might be answered by a fellow learner or one of our course team members. For technical help please contact the Coursera Learner Help Center support forums.

Accessibility

We are committed to developing accessible learning experiences for the widest possible audience. We recognize that learners with disabilities (including but not limited to visual impairments, hearing impairments, cognitive disabilities, or motor disabilities) might need more specific accessibility-related support to achieve learning goals in this course.

Please use the accessibility feedback form to let us know about any accessibility challenges such as urgent issues that keep you from making progress in the course (e.g., missing or inadequate alt-text, captioning errors).

Third-party sites and software: While the University of Michigan is not responsible for the accessibility of third-party sites or applications that may be linked from this course, we still encourage you to report associated third-party accessibility issues so that we can ensure you are able to participate. In such cases, we may contact you for additional information as we investigate ways of removing accessibility barriers or to suggest accessible alternatives.

Diversity, Equity, and Inclusion

We welcome all learners to this course. People like you are joining from all over the world and we value this diversity. We strive to create a community of mutual respect and trust, where people from all backgrounds, identities and views are valued and heard without the threat of bias, harassment, intimidation, or discrimination. We pay attention to your feedback, how different types of learners experience this course, and aim to make improvements so the course can best serve everyone. We hope you enjoy learning about topics that are important to you.

Tools & Technology

Coursera Platform

If you are new to Coursera and you want to familiarize yourself with the platform, read the Help Articles in Coursera Help Center . This is a good resource where you can find answers to many basic questions such as how to adjust video settings, how to submit assignments, and how to earn a course certificate.

Processing Code Editor

This series relies on open source software called Processing . To successfully complete this course, you will need to download and use the tool. More information about how to do that can be found in the course itself and on https://processing.org/download .

For more context, Processing is a flexible software sketchbook and a language for learning how to code within the context of the visual arts. Developed by artists and designers, it offers a user-friendly interface for creating interactive graphics and animations with code. Processing is a powerful tool that bridges the gap between the technical and creative worlds, inviting you to bring your digital ideas to life.

If needed, you can navigate the Processing user interface and execute commands from the keyboard using Mouse Keys and keyboard shortcuts.

Additionally, here are the Processing FAQs that may provide further information and support.

Gamut Gallery

This course uses a sharing tool called the Gamut Gallery. Throughout the course you will be asked by your instructor to create your own work related to the course content. The Gallery provides a digital place to submit and share your own work, receive feedback, and pose questions to other learners about their work. It will appear as an item titled, “Ungraded App Item.” For more information about this tool and its use in our courses, please see the Center for Academic Innovation’s Software Terms of Service .