Data Structures for Designers Using Python (Coursera)

Data Structures for Designers Using Python (Coursera)

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.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Laboratório de Programação Orientada a Objetos - Parte 2 (Coursera) Coursera
Universidade de São Paulo, Brasil

Laboratório de Programação Orientada a Objetos - Parte 2 (Coursera)

Esta é a segunda parte do curso avançado de Programação Orientada a Objetos oferecido pelo Departamento de Ciência da Computação do IME-USP. O curso é voltado para profissionais ou estudantes interessados em Desenvolvimento de Software Avançado e que já dominam uma linguagem de programação e já conhecem os fundamentos básicos da orientação a objetos.

Sep 14th 2026
5-12 Weeks
Llama for Python Programmers (Coursera) Coursera
University of Michigan

Llama for Python Programmers (Coursera)

Llama for Python Programmers is designed for programmers who want to leverage the Llama 2 large language model (LLM) and take advantage of the generative artificial intelligence (AI) revolution. In this course, you’ll learn how open-source LLMs can run on self-hosted hardware, made possible through techniques such as quantization by using the llama.cpp package.

Sep 14th 2026
3 Weeks
Comparing Genes, Proteins, and Genomes (Bioinformatics III) (Coursera) Coursera
University of California, San Diego

Comparing Genes, Proteins, and Genomes (Bioinformatics III) (Coursera)

Once we have sequenced genomes in the previous course, we would like to compare them to determine how species have evolved and what makes them different. In the first half of the course, we will compare two short biological sequences, such as genes (i.e., short sequences of DNA) or proteins. We will encounter a powerful algorithmic tool called dynamic programming that will help us determine the number of mutations that have separated the two genes/proteins.

Sep 14th 2026
5-12 Weeks
Accounting Data Analytics with Python (Coursera) Coursera
University of Illinois at Urbana-Champaign

Accounting Data Analytics with Python (Coursera)

This course focuses on developing Python skills for assembling business data. It will cover some of the same material from Introduction to Accounting Data Analytics and Visualization, but in a more general purpose programming environment (Jupyter Notebook for Python), rather than in Excel and the Visual Basic Editor. These concepts are taught within the context of one or more accounting data domains (e.g., financial statement data from EDGAR, stock data, loan data, point-of-sale data).

Sep 14th 2026
5-12 Weeks
An Introduction to Interactive Programming in Python (Part 1) (Coursera) Coursera
Rice University

An Introduction to Interactive Programming in Python (Part 1) (Coursera)

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple.

Sep 7th 2026
5-12 Weeks
Introduction to PySpark (Coursera) Coursera
Edureka

Introduction to PySpark (Coursera)

Welcome to Introduction to PySpark, a short course strategically crafted to empower you with the skills needed to assess the concepts of Big Data Management and efficiently perform data analysis using PySpark. Throughout this short course, you will acquire the expertise to perform data processing with PySpark, enabling you to efficiently handle large-scale datasets, conduct advanced analytics, and derive valuable insights from diverse data sources.

Sep 14th 2026
1 Week
Python Data Structures (Coursera) Coursera
University of Michigan

Python Data Structures (Coursera)

This course will introduce the core data structures of the Python programming language. We will move past the basics of procedural programming and explore how we can use the Python built-in data structures such as lists, dictionaries, and tuples to perform increasingly complex data analysis. This course will cover Chapters 6-10 of the textbook “Python for Everybody”. This course covers Python 3.

Sep 7th 2026
5-12 Weeks
Principles of Computing (Part 2) (Coursera) Coursera
Rice University

Principles of Computing (Part 2) (Coursera)

This two-part course introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems. To get hands-on experience working with these concepts, we will use the Python programming language. The main focus of the class will be weekly mini-projects that build upon the mathematical and programming principles that are taught in the class.

Sep 7th 2026
4 Weeks
Algorithmic Thinking (Part 1) (Coursera) Coursera
Rice University

Algorithmic Thinking (Part 1) (Coursera)

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Sep 7th 2026
4 Weeks
Selenium WebDriver with Python (Coursera) Coursera
Whizlabs

Selenium WebDriver with Python (Coursera)

“Selenium WebDriver with Python” is a foundational course that aims to provide a comprehensive understanding of Selenium and its components. It also helps in understanding how Selenium WebDriver Operates. This course begins by demonstrating an environment setup for Selenium WebDriver with Python. A brief description of locating Web elements and web Interactions is provided in this course. This course covers an overview of testing frameworks with Selenium WebDriver. Some advanced topics such as Handling Popup, Alerts, Multiple Browser Tabs, Mouse and Keyboard interactions are also highlighted in this course.

Sep 14th 2026
3 Weeks