Performative Modelling

This course focuses on evaluating alternative spatial configurations to support evidence-based decision making. You will learn methods for calculating various spatial performance metrics related to the built environment that can be used for comparative analysis of design options.

Performative Modelling
This course is archived
Estimated 5 weeks
4–6 hours per week
Progress at your own speed

About this course

Skip About this course

This course is the last in our “Spatial Computational Thinking” program. This “Performative Modelling” course focuses on evaluating alternative spatial configurations to support evidence-based decision making. You will learn methods for calculating various spatial performance metrics related to the built environment that can be used for comparative analysis of design process.

This course will build on the previous three courses that covered procedural, semantic, and generative modelling. In this course, you will switch modes from generating to evaluating spatial performance. Thus, you will be creating procedures for evaluating alternative spatial configurations with respect to a set of performance indicators. This will once again require an increase in coding complexity, together with a new set of strategies for managing that complexity.

In this course, you will learn how to create your own reusable and customised function libraries. You will use this powerful technique to create a set of generative and performative functions. The generative functions will be used to generate alternative spatial configurations for building designs. The performative functions will be used to evaluate various performance metrics. You will then combine these functions, evaluating each spatial configuration against each performance metric. Finally, you will develop procedures for visualizing and exporting the performance results in order to support decision making.

In the process, you will learn a powerful technique, the ability to import one flowchart into another flowchart and to use it as a function. This allows you to execute larger computational processes with many more procedures hidden inside it.

The modelling exercises and assignments during this course will mainly focus on evaluating alternative spatial configurations for buildings within the urban environment. A site will be selected, and procedures will be developed for calculating performance metrics using morphological and raytracing analysis methods. The morphological analysis includes plot ratio, compacity ratio, passive zone proportion, etc, while the raytracing analysis includes sky view factor, sun exposure factor, viewsheds, etc. The various metrics will then be weighted and aggregated, in order to allow alternative options to be easily compared.

Completing the four courses that make up the “Spatial Computational Thinking” program will provide you with the fundamental knowledge and skills required to tackle a wide variety computational design challenges using digital technologies.

At a glance

  • Institution: NUS
  • Subject: Design
  • Level: Advanced
  • Prerequisites:

    Completion of Course-1: Procedural modelling, Course-2: Semantic modelling and Course-3: Generative modelling of 'Spatial Computational Thinking' program.

What you'll learn

Skip What you'll learn

Learning algorithmic thinking:

  • How to evaluate alternative spatial configurations using morphological attributes and performance indicators
  • Use abstraction as a way of selectively exposing the parameters that are most relevant to the problem being investigated
  • Use encapsulation as a way of managing problem complexity

Learning performative modelling:

  • Analysing performance indicators using morphological analysis and raytracing analysis
  • Understanding morphological analysis: plot ratio, compacity ratio, passive zone proportion, etc
  • Understanding raytracing analysis: sky view factor, sun exposure factor, viewsheds, etc
  • Evaluating alternative spatial configurations based on multiple performance metrics
  • Strategies for supporting decision making using weighted performance metrics
  • Integrating non-spatial data formats into spatial information modelling workflows
  • Strategies for data visualization

Learning coding:

  • Understanding how to break down large procedures into a set of smaller functions
  • Understanding how to document functions to support reuse
  • Understanding how to create and share libraries of functions that can be reused

Learning Möbius Modeller:

  • Difference between local and global functions
  • Creating flowcharts that can be imported as global functions
  • Strategies for implementing with global functions
  • Working with the geospatial viewer

About the instructors

Frequently Asked Questions

Skip Frequently Asked Questions

What software will I need?
The only software you need is a recent version of the Chrome browser. It is free and is available for all major operating systems, including Windows, Mac, and Linux. During the course, we will use a free and open-source software app called Möbius Modeller. Even after completing the course, you will be able to continue using this app for free.

What hardware will I need?
You do not need any specialized hardware to complete the exercises in the course. A typical configuration may be a laptop with 4GB RAM and a 2.9GHz CPU processor. Note that also a dedicated graphics card will result in smoother user experience.

Do I need to know any programming languages before I start?
No, this course is designed for beginners and we will step you through all the programming required.

Will I be able to write code after completing this program?
Yes. You will learn procedural programming, using typical imperative programming-language constructs. You will also learn how to create computational procedures that are able to manipulate spatial data in diverse ways.

Will I be able to share the computational models that I create?
Yes. The models that you create (either during the course or after) can be shared either by exporting the models in other formats or by publishing them on the internet as interactive web pages. Publishing a model is straightforward and is one of the techniques that you will learn.

Will I learn how to program in any (Python, Javascript etc.) language?
You will learn the fundamental concepts of programming, such as variables, data types, control flow, data structures and functions. Although we will not specifically teach languages such as Python, Java, and Javascript, the fundamental concepts that you learn will be transferable to all these languages.

What is the passing grade for the course?
An overall average for all assignments of 70% is required to pass the course.

Do I need to achieve 70% on each assignment?
No, you need an average grade for all assignments of 70%. This means you can do poorly or miss an assignment as long as you do well enough on other assignments to achieve 70% overall.

How will my computational modelling assignments be graded?
Your computational modelling assignments will be graded using an automated online grader. For each assignment, you will be given specific instructions on the model that you need to create. You will upload your answer model, and within a few seconds, you will receive the result, with feedback. If the model you uploaded is not correct, you will have multiple chances to try again.

Who can take this course?

Unfortunately, learners from one or more of the following countries or regions will not be able to register for this course: Iran, Cuba and the Crimea region of Ukraine. While edX has sought licenses from the U.S. Office of Foreign Assets Control (OFAC) to offer our courses to learners in these countries and regions, the licenses we have received are not broad enough to allow us to offer this course in all locations. edX truly regrets that U.S. sanctions prevent us from offering all of our courses to everyone, no matter where they live.