Skip main navigation

course introduction

Instructor Glenn Wilcox walk through the unique design approach he takes to teaching programming.
Hi everyone, I’m Glenn Wilcox, Professor of Architecture at the Taubman College of Architecture and Urban Planning at the University of Michigan. Welcome to my course, design computing 3D modeling in Rhinoceros with Python Rhino script. One of my motivations for putting this course together was the fact that when I was learning to code, there wasn’t a single cohesive source that methodically taught the material in a design context. The material one could find on the subject was fragmented, and could only be obtained through different bits and pieces. Some texts here and there, workshops, information from friends, and forums online.
So I decided to develop the course that I wish I had access to in those early years.
I’m a designer and a maker, not a computer scientist. So, my approach to this material is going to be significantly different than what you might find in a typical course on coding. I’m not simply interested in covering what Python code is in terms of its rules and syntax, but 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.
So why should a designer learn to code? Well, one reason is that computers are everywhere. Shouldn’t we know something about their language and how they work? Learning code is fundamental to unpacking the black box of the computer and computation. The Python coding language is a widely used and universal language not simply in the design field, but in many disciplines. So knowing it can be a valuable skill.
By learning code also you’ll be able to expand your design tool box, you’ll have the ability to produce more complex, varied and responsive designs, you’ll be able to create custom modeling tools. And significantly, learning code marks a dramatic shift in design thinking.
You’re not just designing a single object but you’re designing a system to produce many objects, many varied things.
As a designer and a maker, I personally became interested in learning code for its connection to digital fabrication technologies. The specific control of geometry fostered by coding allows for exploring variability or the non standard in design and production, particularly when paired with digital fabrication technologies like CNC, 3D printing or even robotics. Last but not least, there is an efficiency and an elegance, and I would even argue a craft to code, akin to a making craft. Programming, the act of coding, can sometimes be downright fun. There’s definitely a certain magic to seeing something generate from a code that you created.
So, what do you need to know to take this course? Well, you should have at least a basic to intermediate knowledge of 3D modeling with Rhinoceros and be able to find your way around that interface. This is not a course in basic 3D modeling. But a course that introduces the role that coding can play in the 3D modeling environment of Rhinoceros. It is possible to do this course with a rudimentary knowledge of that software, however, the better you know that program the more you will get out of this course. The good news is you do not need to have any previous knowledge of coding in any language whatsoever to take this course.
We will begin slowly with the absolute fundamentals of coding.
Most importantly, the two things that you need most to take this course are curiosity and patience. Learning code is not unlike learning a new language and it can be frustrating at times. However, the more you work at it, the more you’ll get it, and ultimately, the more you’ll be able to do with it. In the next video, I’m going to discuss exactly what design computing is, and specifically, what we will be covering in the context of this course. I’ll see you there.

Welcome to design computing 3D modeling in Rhinoceros with Python Rhino script. We start the course with a short introduction about my motivation for creating this course and ask ‘Why should a designer learn code?

meet your educator: Professor Glenn Wilcox

I am Professor of Architecture at the Taubman College of Architecture and Urban Planning at the University of Michigan. I have been teaching and working with computers in design since the early 1990’s.

about the course:

.course effort

Weeks 1 and 2 of the course focus heavily on the basics of python and rhinoscript. These weeks are slightly longer to cement foundational knowledge. Weeks 4 and 5 emphasize design principles and application and so have fewer steps in order to encourage more time on the assignments.

.how to watch the videos

The course is designed so that learners are always applying their knowledge while learning instead of passively viewing. The videos are longer than typical FutureLearn courses as they are intended to serve as a guide for moving through different concepts. All of the code used in the videos is available on the same step under the title tutorial code. Learners are highly encouraged to follow along with the videos and use the Knowledge Checks which are on the same step to make sure they understand the content.


There are 2 forms of assessment in this course. The first are tests which allow learners to test their knowledge from the demo videos and lessons. The second are larger design assignments. These assignments are meant to help you apply the programming concepts in a design context. These assignments are not formally graded but instead rely on a guided self-assessment and feedback from the larger course community. More on how this feedback process works can be found in the design critique section.

.design critique[feedback]

An essential part of any design course is the opportunity to give and receive feedback. In order to adapt what is typically an in-person session we have integrated a 3rd party website called the Gallery Tool, which was created by the University of Michigan in order to support collaboration and design critiques between learners. If you encounter problems while trying to access it, please ensure that Javascript is enabled in your browser and check that you are using Chrome, Firefox, or Edge. Safari and Internet Explorer are not supported. You can also email to report problems with the gallery tool.

This article is from the free online

Design Computing: 3D Modeling in Rhinoceros with Python Rhinoscript

Created by
FutureLearn - Learning For Life

Reach your personal and professional goals

Unlock access to hundreds of expert online courses and degrees from top universities and educators to gain accredited qualifications and professional CV-building certificates.

Join over 18 million learners to launch, switch or build upon your career, all at your own pace, across a wide range of topic areas.

Start Learning now