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.
Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.
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.
This course is part of the Programming for Designers Specialization.
What you'll learn
- Learn to use Python data structures to create intricate designs
- Use object-oriented programming to simulate complex behaviors and relationships in design composition
- Use Python to create dynamic motions and transformations in digital artwork
Syllabus
Introduction to Data Structures
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.
Grids
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.
Vectors
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.
Object Oriented Programming
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.
Object Interactions
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.