In Data Structures for Designers Using Python, you’ll delve into the critical concepts of data structures and object-oriented programming, tailored specifically for design and visual content creation applications. You’ll be introduced to object-oriented programming principles in Python, enabling you to model real-world scenarios and design problems using objects and classes. You will use the Processing platform to draw lines, rectangles, ellipses, and more through the program’s Python mode. Learn about vector math and how it can be manipulated to store, organize, and manage data efficiently in creative projects. These approaches to Python allow you to gain a deeper understanding of the programming language while enhancing your ability to conceptualize and implement sophisticated design solutions.
This is the second course in a three-part series, Programming for Designers, aimed at equipping designers, including those in architecture, graphic design, industrial design, game design, and visual artists, with essential computational design skills.
Our journey begins with lists and dictionaries, the fundamental data structures for organizing and storing data in Python. You'll learn how to manipulate these structures using examples that involve typography, exploring how text can be dynamically integrated and manipulated to create engaging visual compositions.
涵盖的内容
18个视频10篇阅读材料3个作业1个应用程序项目1个讨论话题
显示有关单元内容的信息
18个视频•总计180分钟
Specialization Overview•2分钟
Meet Your Instructor•2分钟
Summary of Course 1•2分钟
Course Overview•3分钟
Introduction to our Learning Environment•8分钟
Introduction to Lists•8分钟
Lists Index•6分钟
List Operations•4分钟
Typography in P5•6分钟
List Syntax & Typography•10分钟
Hex Operations in P5•7分钟
Building a Color Palette•12分钟
Swapping Palettes•23分钟
Introduction to Dictionaries•6分钟
Dictionaries Syntax•12分钟
Swapping using Dictionaries•18分钟
Drawing Using Typography 01•20分钟
Drawing Using Typography 02•32分钟
10篇阅读材料•总计100分钟
Course Syllabus•10分钟
Textbook: Setting up our Coding Environment - Python in Processing•10分钟
Source Code for Data Structure for Designers Using Python•10分钟
Pre-Course Survey•10分钟
Textbook: Data Structure #1: Lists•10分钟
Textbook: Typography on P5•10分钟
Textbook: Lists and Loops•10分钟
Textbook: Hex Operations on P5•10分钟
Textbook: Data Structure #2: Dictionaries•10分钟
Introduction to the Gamut Gallery Tool•10分钟
3个作业•总计75分钟
Practice Quiz: List Operations•15分钟
Practice Quiz: Accessing Elements in a Dictionary•30分钟
Week 1 Quiz: Introduction to Data Structures•30分钟
1个应用程序项目•总计60分钟
Gallery: Week 1 Reflections•60分钟
1个讨论话题•总计10分钟
Introduce Yourself!•10分钟
Grids
第 2 单元•小时 后完成
单元详情
In our second week, we delve into grid structures, learning how to navigate and manipulate grids to perform neighbor operations. This knowledge is crucial for creating complex patterns and interactions within your designs, enabling a deeper exploration of spatial relationships and connectivity.
涵盖的内容
9个视频4篇阅读材料2个作业1个应用程序项目
显示有关单元内容的信息
9个视频•总计155分钟
Introduction to Grid Structures•4分钟
Grid Construction 01 - Flat•25分钟
Grid Construction 02 - Nested•11分钟
Grid Index Access•30分钟
Grid Operations•15分钟
Grid Coordinates•13分钟
Movement within a Grid•25分钟
Langton's Ant 01•20分钟
Langton's Ant 02•12分钟
4篇阅读材料•总计40分钟
Textbook: Grids & Spatial Organization•10分钟
Grid Types / External Resources•10分钟
Textbook: Flat Lists vs. 2D Lists for Grid Systems•10分钟
Textbook: Grid Operations•10分钟
2个作业•总计60分钟
Practice Quiz: Grid Operations•30分钟
Week 2 Quiz: Grids•30分钟
1个应用程序项目•总计60分钟
Gallery: Week 2 Reflections•60分钟
Vectors
第 3 单元•小时 后完成
单元详情
Vectors and vector math form the backbone of generative art and design. This week focuses on understanding vectors and applying vector math to create dynamic and organic generative drawings. We will explore the power of vectors in modeling motion, forces, and other natural phenomena, translating these concepts into visually stunning designs.
涵盖的内容
9个视频4篇阅读材料2个作业1个应用程序项目
显示有关单元内容的信息
9个视频•总计96分钟
Introduction to Vectors•3分钟
Vector Operations 01•10分钟
Vector Operations 02•15分钟
Vector Operations 03•16分钟
Vector Operations 04•4分钟
Drawing with Vectors•15分钟
Predefining Motions•15分钟
Random Motion•16分钟
Other Vector Libraries•3分钟
4篇阅读材料•总计40分钟
Textbook: Introduction to Vectors•10分钟
Textbook: Operations with Vectors•10分钟
Textbook: Introduction to Steering Behaviors•10分钟
Textbook: Using Discrete Vector Motions•10分钟
2个作业•总计60分钟
Practice Quiz: Vector Operations•30分钟
Week 3 Quiz: Vectors•30分钟
1个应用程序项目•总计60分钟
Gallery: Week 3 Reflections•60分钟
Object Oriented Programming
第 4 单元•小时 后完成
单元详情
Object-oriented programming (OOP) introduces a new way of thinking about code, focusing on classes and instances. This week, you'll learn how to define classes and create instances, encapsulating both data and functions into objects. This approach will enable you to organize your code more effectively and create more modular and flexible designs.
涵盖的内容
8个视频3篇阅读材料3个作业1个应用程序项目
显示有关单元内容的信息
8个视频•总计88分钟
Object Oriented Programming•4分钟
Class Syntax•16分钟
Class Instances•15分钟
Instances in a Loop•15分钟
Building a Drawing Class•18分钟
Class Example•10分钟
Object Oriented Thinking•3分钟
File Dependencies•7分钟
3篇阅读材料•总计30分钟
Textbook: Classes & Objects•10分钟
Textbook: Class Instantiation•10分钟
Textbook: Converting a Script into a Class•10分钟
3个作业•总计90分钟
Practice Quiz: Class Syntax•30分钟
Practice Quiz: Classes•30分钟
Week 4 Quiz: Object-Oriented Programming•30分钟
1个应用程序项目•总计60分钟
Gallery: Week 4 Reflections•60分钟
Object Interactions
第 5 单元•小时 后完成
单元详情
We conclude our course by expanding our exploration of object-oriented programming. You'll learn how to work with multiple classes and how objects can interact with each other to simulate complex systems. This week provides the groundwork for developing advanced interactive and generative projects, where the interaction between multiple elements creates rich, dynamic systems.
涵盖的内容
10个视频5篇阅读材料2个作业1个应用程序项目
显示有关单元内容的信息
10个视频•总计177分钟
Object Interactions•5分钟
Behaviors•21分钟
Simulated Systems•29分钟
Large Populations•21分钟
Complex System Project 01•20分钟
Complex System Project 02•13分钟
Complex System Project 03•27分钟
Complex System Project 04•17分钟
Complex System Project 05•22分钟
What's Next•2分钟
5篇阅读材料•总计50分钟
Textbook: Accessing Data from Other Objects•10分钟
Textbook: Systems & Emergence•10分钟
Textbook: Interactions 01 - Loops•10分钟
Textbook: Interactions 02 - Grids•10分钟
Post-Course Survey•10分钟
2个作业•总计60分钟
Practice Quiz: Accessing Data of Other Objects•30分钟
The mission of the University of Michigan is to serve the people of Michigan and the world through preeminence in creating, communicating, preserving and applying knowledge, art, and academic values, and in developing leaders and citizens who will challenge the present and enrich the future.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Specialization?
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.