EdX

Generative Modelling (edX)

Generative Modelling (edX)

This course focuses on generating spatial information models capturing various relationships and constraints. You will learn a set of advanced modelling techniques for generating spatial models. You will create multiple procedures that annotate and query your models using attribute data. By the end of the course, you will be able to create your own scripts consisting of multiple procedures working together to generate complex spatial information models.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

As part of our “Spatial Computational Thinking” program, this “Generative Modelling” course focuses on the generation of complex spatial information models capturing various relationships and constraints. You will learn how to tackle challenging problems by integrating multiple procedures that work together to generate spatial information models.
This course will build on the previous procedural modelling course. In this course, the complexity of the spatial information modelling tasks will increase, requiring a more advanced type of generative modelling approach. You will learn advanced generative modelling techniques, such as using law curves and resolving spatial constraints by implementing your own solvers. You will learn skeletal modelling strategies that make it easier to control the complexity of the generative process.
You will also learn a range of general mathematic techniques that are critical to basic types of spatial reasoning, including working with vectors, rays, and planes, and using various mathematical functions such as periodic functions, and dot product and cross product functions. You will also revisit the debugging process, learning how flowcharts can be used to isolate errors.
In the process, you will also further develop your coding skills. You will revisit the loops and conditional and discover how these can be nested to create more complex control flows. You will also discover how list and dictionary data structures can be nested to create more complex types of data structures.
The modelling exercises and assignments during this course will also become more advanced. The spatial information models will now represent complex buildings with a range of different types of components and parts, tagged with attributes and grouped into collections.
The course prepares you for the next and final course in the "Spatial Computational Thinking” program , focusing on performative modelling.

What you'll learn

Learning algorithmic thinking:

  • How parameters define a search space of possible configurations
  • How to decompose a problem by breaking it down into smaller sub-problems
  • Recognise underlying algorithmic principles within spatial configurations

Learning generative modelling:

  • Using skeletal modelling strategies to control model complexity
  • Modelling spatial relationships using law curves
  • Modelling with spatial constraints, for example, Floor-Area Ratio
  • Strategies for solving constraints
  • Creating simple constraint solvers using ‘for loops’
  • Pushing attributes through the topological hierarchy
  • Visualizing models with colour and materials
  • Understanding polygon normals and their impact on light
  • Importing and exporting geometric and geospatial data models

Learning coding:

  • Spatial reasoning with vector mathematics
  • Working with infinite planes and infinite rays
  • Modelling with periodic functions: sin(), cos(), tan()
  • Spatial reasoning using the dot product and cross product functions
  • Optimizing code to improve execution speed
  • Developing complex data structures using nested lists and dictionaries
  • Using nested loops and nested conditionals
  • Strategies for looping: using a counter or iterating over a list?
  • How to avoid deep nesting of loops using data structures

Learning Möbius Modeller:

  • Strategies for creating and debugging flowcharts
  • Documenting flowcharts and parameters
  • Publishing flowcharts online for others to interact with and explore
  • The Möbius Spatial Information data model
  • Interrogating models in the 3D viewer
  • Difference between local and global functions
  • Creating flowcharts that can be imported as global functions

Prerequisites:
Completion of Course-1: Procedural modellingof 'Spatial Computational Thinking'Professional Certificate program.

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

Related Courses

Calculus through Data & Modelling: Series and Integration (Coursera) Coursera
Johns Hopkins University

Calculus through Data & Modelling: Series and Integration (Coursera)

This course continues your study of calculus by introducing the notions of series, sequences, and integration. These foundational tools allow us to develop the theory and applications of the second major tool of calculus: the integral. Rather than measure rates of change, the integral provides a means for measuring the accumulation of a quantity over some interval of input values. This notion of accumulation can be applied to different quantities, including money, populations, weight, area, volume, and air pollutants. The concepts in this course apply to many other disciplines outside of traditional mathematics.

Jun 8th 2026
5-12 Weeks
Interactivity with JavaScript (Coursera) Coursera
University of Michigan

Interactivity with JavaScript (Coursera)

If you want to take your website to the next level, the ability to incorporate interactivity is a must. But adding some of these types of capabilities requires a stronger programming language than HTML5 or CSS3, and JavaScript can provide just what you need. With just a basic understanding of the language, you can create a page that will react to common events such as page loads, mouse clicks & movements, and even keyboard input.

Jun 8th 2026
4 Weeks
Advanced Styling with Responsive Design (Coursera) Coursera
University of Michigan

Advanced Styling with Responsive Design (Coursera)

It used to be the case that everyone viewed webpages on about the same size screen. But with the explosion of the use of smartphones to access the Internet, the landscape of design has completely changed. People viewing your site will now expect that it will perform regardless of the platform (smartphone, tablet, laptop, or desktop computer). This ability to respond to any platform is called responsive design.

Jun 8th 2026
4 Weeks
Procedural Modelling (edX) EdX
National University of Singapore,NUS

Procedural Modelling (edX)

This course will focus on the fundamentals of procedural programming for generating spatial models. You will learn how to code, using functions, data structures and control-flow statements. You will create procedures to generate geometric models with attribute data. By the end of the course, you will be able to write your own procedures for generating spatial information models.

Self Paced
Self-Paced
Calculus through Data & Modelling: Integration Applications (Coursera) Coursera
Johns Hopkins University

Calculus through Data & Modelling: Integration Applications (Coursera)

This course continues your study of calculus by focusing on the applications of integration. The applications in this section have many common features. First, each is an example of a quantity that is computed by evaluating a definite integral. Second, the formula for that application is derived from Riemann sums. Rather than measure rates of change as we did with differential calculus, the definite integral allows us to measure the accumulation of a quantity over some interval of input values.

Jun 8th 2026
4 Weeks
Coding for Your Classroom K - 3 (edX) EdX
The University of British Columbia,UBCx

Coding for Your Classroom K - 3 (edX)

Self-paced, asynchronous course aimed to build educators’ comfortability and confidence in digital literacy. Through hands-on learning activities and demos in a variety of web-based platforms, educators will have the resources and skills they need to introduce coding concepts to their students in the K-3 classroom.

Self Paced
Self-Paced
Writing, Running, and Fixing Code in C (Coursera) Coursera
Duke University

Writing, Running, and Fixing Code in C (Coursera)

Building on the course Programming Fundamentals, this course will teach you how to write code by first planning what your program should do—an important approach for novice and professional programmers. You will learn how to compile and run your program, and then how to test and debug it. This course builds on the Seven Steps you have already learned and provides a framework for systematically testing for problems and fixing them, so you can find and fix problems efficiently.

Jun 1st 2026
4 Weeks
Dynamic Energy Modelling of Buildings: Thermal Simulation (edX) EdX
Delft University of Technology,DelftX

Dynamic Energy Modelling of Buildings: Thermal Simulation (edX)

Understand the dynamics of buildings’ thermal behavior and learn how to optimize their design and operation through thermal modeling. Many engineers are puzzled by questions such as: how to shift or reduce peak heating demand to obtain a better match with a smart grid or renewable energy system? What is thermally more efficient: a heavy concrete building or a light timber-frame building? How effective is night ventilation in warm periods? This course will provide you with the answers to these and many other questions related to dynamic thermal behavior in buildings.

Future dates to be announced
5-12 Weeks