C O U R S E    D E S C R I P T I O N S
   click on the course number below to access course page         48-624 | 48-724 | 48-782 | 48-784 | 62-146 | 62-238

48-624
Parametric Modeling

FALL A1

6 units

This course is to prepare students for modeling architectural geometry through development of parametric schemes for architecture applications. This course supplies the basis of understanding parametric geometric construction mechanisms.

This is a half-semester introduction to parametric modeling. The course consists of lectures, computer cluster instruction and assignments. In this course we will introduce:

  • Elements of parametric design and design patterns — the structure of parametric design processes, their characteristics and reusable parametric design approaches

  • Fundamental concepts of geometric modeling — spatial coordinates, projections, Boolean operations, formal transformations, freeform surface creation, surface development and deformations aimed at architecture applications, discretization and meshing, digital prototyping and geometry reconstruction. Lectures focus on concepts in computational geometry that can be applied to parametric architectural geometry modeling.

  • Parametric modeling techniques and tools — that are available to model design parametrically will be introduced in this class to illustrate the construction of geometrical relationships among complex shapes. Lectures focus on hands-on techniques that can be applied to the design process, to extend the efficiency and productivity of work during the process. For practical reasons, the course uses Rhinoceros 5 ® and Grasshopper ® and may also use some of the following plug-ins in the parametric modeling environment: Hoopsnake, Weaverbird, [Kangaroo, Firefly, gHowl, Galapagos, Geometry Gym and Karamba.]

Learning outcomes — in this course students will:

  • Understand the core structures and workflows of parametric modeling
  • Manipulate complex data flows toward desired design outcomes
  • Apply elementary algorithmic thinking to design problems
  • Model complex forms and relationships using geometric concepts and parametric tools
  • Become familiar with program flow and geometry manipulation in Rhino
  • Possess the critical skills necessary to question the limits and biases of a software interface
  • Have begun to develop a sensibility for generative modeling

The course has no prerequisites.

PREREQUISITE: At least Junior standing or consent of Instructor

48-724
Scripting and Parametric Design

FALL A2

6 units

This course is to prepare students for modeling architectural geometry through scripted development of parametric schemes for architecture applications. This course supplies the basis of understanding parametric geometric construction mechanisms.

This is a half-semester course serves two purposes: to reinforce the fundamentals of parametric modeling, and to introduce students to basic scripting with a focus on algorithms related to form making. The course consists of lectures, computer cluster instruction and assignments.

In this mini-course we deal with:

  • Generative Geometry Construction — the lectures here focus on customizing procedures for generative design via programming.

  • Introduction Computational Algorithms — the lectures provide an introduction to applicable computational algorithms, such as procedural modeling techniques

Learning outcomes — in this course student will:

  • Understand the core structures and workflows of parametric modeling.
  • Manipulate complex data flows toward desired design outcomes.
  • Apply algorithmic thinking to design problems.
  • Model complex forms and relationships using geometric concepts and parametric tools.
  • Become familiar with basic scripting syntax, program flow, and geometry manipulation in Rhino.
  • Possess the critical skills necessary to question the limits and biases of a software interface.
  • Have begun to develop a sensibility for generative modeling uniquely your own.

Students are expected to have familiarity with the basics of parametric modeling and the fundamentals of object-oriented programming — simple basic principles of working with an object-oriented programming language (Python).

PREREQUISITE: 48-624 and the equivalent of 48-782

48-782
Design Computation I

FALL A1

6 units

This is a fast paced intense half-semester technical introduction to the fundamentals of object-oriented programming targeted at design students with an emphasis on producing clear, robust, and reasonably effective code. We cover a large subset of the Python programming language including a standard graphics library and programming paradigms. In order to reinforce the programming topics we will also introduce the generation and visualization of geometric form with graphics, animation and rule-based systems.

The course consists of lectures, computer cluster instruction and assignments.

Learning outcomes — Upon the successful completion of this course, students will be able to:

  • write simple programs in Python to implement solutions to basic computing problems in design
  • use sequential, conditional, and loop statements where appropriate in solving a programming task
  • understand and use Python strings, lists, tuples, and dictionaries
  • understand objects and classes
  • understand recursive functions
  • write simple event-driven graphics programs
  • write simple form generators

This course assumes no prior programming experience.

This course serves as a prerequisite for 48-784 Design Computation II and 48-724 Scripting and Parametric Design.

PREREQUISITE: None. At least Junior standing. No previous coding or math course is required, however, it is preferable for students to be familiar with at least introductory level college math and affinity with logic.

48-784
Design Computation II

FALL A2

6 units

This is a fast paced intense half-semester technical object-oriented programming course targeted at design students with an emphasis on algorithms and on producing clear, robust, testable and effective code.

The course consists of lectures, computer cluster instruction and assignments.

Learning outcomes — in this course, students will be able to:

  • develop problem-solving skills using Python applied to new problems in design
  • explore exemplar form-finding algorithms
  • produce clear, robust, and effective code in Python by
    • employing modular, top-down design
    • using 'appropriate' Python datatypes, structures, constructs and libraries
    • proactively designing and writing test cases to effectively test and debug code
  • develop an effective programming style based on established standards, practices, and guidelines
  • write a long (> 500 lines) program in Python to implement a graphics-based solution to a problem originating in design

This course assumes familiarity with basic Python programming language as provided by the course, 48-782 Design Computation I.

PREREQUISITE: 48-782