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.