Welcome

Welcome to 'Data Structures for Designers Using Python', the second course in our 'Programming for Designers' certificate series. In this course you will deepen your understanding, exploring lists, dictionaries, grid structures, and the fundamentals of object-oriented programming. Through these concepts, you will  learn to organize complex data, create generative art, and develop sophisticated designs that respond to their environment.

Course Learning Outcomes: Data Structures for Designers Using Python

Programming for Designers is a 3 course series . This course, ‘Data Structures for Designers Using Python’ is the second course. The other courses are as follows: Course 1, ‘Python Fundamentals for Designers’’ and Course 3, ‘Creative Coding 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: Introduction to Data Structures

Week 2: Grids

Week 3: Vectors

Week 4: Object Oriented Programming

Week 5: Object Interactions

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: Introduction to Data Structures

20%

Week 2 Quiz: Grids

20%

Week 3 Quiz: Vectors

20%

Week 4 Quiz: Object Oriented Programming

20%

Week 5 Quiz: Object Interactions

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 .