We may earn an affiliate commission when you visit our partners.
Course image
Jose Sanchez

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.

Read more

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.

Enroll now

What's inside

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.
Read more
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.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Students interested in broadening their skills as designers who may benefit from computational design
Graphic designers may build upon their design principles foundation to integrate them with code
Students with a clear interest in data structures and object-oriented programming will benefit from this course the most
Those entirely new to data structures or OOP may struggle with some of the concepts covered in this series
Students must complete the first course in this series before taking this course
This course relies heavily on hands-on Python work. Students should ensure they have Python 3.10.6 or higher on their system before starting this course

Save this course

Save Data Structures for Designers Using Python to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Data Structures for Designers Using Python with these activities:
Read 'Data Structures and Algorithms in Python' by Michael Goodrich
Gain a deeper theoretical foundation in data structures
Show steps
  • Read the textbook, focusing on core data structures and algorithms
  • Work through the exercises and examples to practice your understanding
  • Apply the concepts to your own projects and assignments
Solve Python Coding Challenges
Reinforce your understanding of data structures and OOP through practice
Show steps
  • Find and solve coding challenges on platforms like HackerRank or LeetCode
  • Implement data structures like lists, dictionaries, and vectors in your solutions
  • Apply OOP concepts such as classes, objects, and inheritance
Explore Pygame for Interactive Design
Expand your skills in creating interactive and engaging design prototypes
Browse courses on PyGame
Show steps
  • Find tutorials on Pygame and 2D game development
  • Experiment with creating simple games and simulations
  • Implement user input and responsiveness to create immersive experiences
  • Share your creations with others for feedback and inspiration
Three other activities
Expand to see all activities and additional details
Show all six activities
Collaborative Design Project
Enhance your OOP skills by collaborating on a design project
Show steps
  • Form a team with fellow students
  • Define a design problem that involves object interactions and simulation
  • Work together to design and implement a solution using OOP principles
  • Test and debug your solution, seeking feedback from team members
  • Present your project to the group, demonstrating its functionality and creativity
Design a Vector-Based Artwork
Demonstrate your understanding of vectors by creating a visually stunning artwork
Browse courses on Generative Art
Show steps
  • Conceptualize a design that can be represented using vectors
  • Use a vector-based software or Python's Processing platform for implementation
  • Manipulate vectors to create dynamic and responsive elements
  • Apply vector math to create organic and flowing forms
  • Refine and iterate on your design for aesthetic appeal
Contribute to an Open-Source Data Structures Library
Deepen your practical knowledge and support the community
Show steps
  • Identify an open-source data structures library
  • Find and fix bugs or implement new features
  • Write documentation or tutorials to help others use the library
  • Interact with other contributors and learn about best practices

Career center

Learners who complete Data Structures for Designers Using Python will develop knowledge and skills that may be useful to these careers:

Reading list

We haven't picked any books for this reading list yet.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Data Structures for Designers Using Python.
Creative Coding for Designers Using Python
Most relevant
Python Fundamentals for Designers
Most relevant
Design Patterns in Python 3
Most relevant
Core Python 3: Byte Oriented Programming
Most relevant
Classes and Object-oriented Programming in Python 3
Most relevant
Learning To Program - Part 2: Abstractions
Most relevant
Programming in Python
Most relevant
Get Started with Python
Most relevant
Python Programming - Multithreading, OOP, NumPy and Pandas
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser