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

University of Michigan

Design Computing: 3D Modeling in Rhinoceros with Python/Rhinoscript

University of Michigan via Coursera


Why should a designer learn to code?

As our world is increasingly impacted by the use of algorithms, designers must learn how to use and create design computing programs. Designers must go beyond the narrowly focused use of computers in the automation of simple drafting/modeling tasks and instead explore the extraordinary potential digitalization holds for design culture/practice.

Structured around a series of fundamental design problems, this course will show you Python code in terms of its rules and syntax, and what we can do with it in its application and design. So, by the end of this course, you will know the fundamentals of Python and Rhino script, but importantly, through the lens of their application in geometrically focused design lessons and exercises.

Subjects covered in this course
- An introduction to Design Computing as a subject and why designers should learn to code.

- The fundamentals of coding in the Python scripting language. By the end of the course students will be familiar with the basic structure and syntax of this language.

- The understanding and application of Rhinoscriptsyntax, a native coding language in Rhinoceros that’s imported into Python, which allows one to create and control geometries through authoring code.

- The application of Procedural Logics - the structuring of coding systems to produce variable geometric form.

- The output of geometries in still and animate forms.


  • The Building Blocks
    • Following an introduction to the fundamentals of the interface and explaining what code does, we will look at Variables and Points, the building blocks of code and geometry.
  • The heart of code
    • This week we dive deeply into the specific elements of Python coding and explore the possibilities of using them to create more complex and variable geometric systems.
  • Expanding possibilities
    • Building on the material from the previous two weeks we will expand the possibilities and interconnectivity of our geometric systems by introducing higher level elements of Python code.
  • 3 dimensional structures
    • This week we jump into 3D and explore the design possibilities of 3D matrix structures culminating in the design of a wall structure.
  • Surfaces as geometry generators
    • In this final week we will explore the possibilities of NURB surfaces as generative base geometries and complete the course with a tower project.

Taught by

Glenn Wilcox

Related Courses


Start your review of Design Computing: 3D Modeling in Rhinoceros with Python/Rhinoscript

Never Stop Learning!

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free