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

Unreal Engine Interactive 3D: Blueprints, Animation, Audio, & Environments (edX) EdX
Rochester Institute of Technology,RITx

Unreal Engine Interactive 3D: Blueprints, Animation, Audio, & Environments (edX)

Expand your interactive Unreal Engine 3D skills with Blueprints, Landscapes, Audio and AI. In this course, you’ll build on your knowledge from UNRL 101 by learning visual scripting using Blueprints. This node-based system based on C++ enables powerful programming without the syntax typically involved in coding. You will gain basic coding skills to use multiple tools for accelerating work and building immersive interactive functionality.

Self Paced
Self-Paced
Gen AI for Code Generation for Python (Coursera) Coursera
Edureka

Gen AI for Code Generation for Python (Coursera)

Welcome to the 'Gen AI for Code Generation for Python' course, where you'll embark on a journey to explore and develop your skills in the art of code generation with Generative AI. Throughout this short course, you will delve into various techniques for generating Python code effortlessly, ranging from simple scripts to complete end-to-end projects.

Aug 17th 2026
1 Week
Introduction to Java Programming: Writing Good Code (edX) EdX
Universidad Carlos III de Madrid - UC3M,UC3Mx

Introduction to Java Programming: Writing Good Code (edX)

Learn to program in an easy and interactive way and enter the fascinating world of computer science. This is an introductory course to learn programming with Java designed to teach how to code good programs in Java, understanding “good” as both correct and efficient. Basic principles of software engineering will be introduced to make it easier for our future self and others to reuse code. Ethical issues and the intellectual property of our programs will also be addressed in the last part of this course. Examples and case studies will be provided, so that learners can implement simple but increasingly complex programs in Java.

Self Paced
Self-Paced
Information Theory (Coursera) Coursera
The Chinese University of Hong Kong

Information Theory (Coursera)

At the completion of this course, the student should be able to: demonstrate knowledge and understanding of the fundamentals of information theory; appreciate the notion of fundamental limits in communication systems and more generally all systems; develop deeper understanding of communication systems; apply the concepts of information theory to various disciplines in information science.

Aug 10th 2026
13-24 Weeks
Code Yourself! An Introduction to Programming (Coursera) Coursera
University of Edinburgh,Universidad ORT Uruguay

Code Yourself! An Introduction to Programming (Coursera)

Have you ever wished you knew how to program, but had no idea where to start from? This course will teach you how to program in Scratch, an easy to use visual programming language. More importantly, it will introduce you to the fundamental principles of computing and it will help you think like a software engineer.

Aug 3rd 2026
5-12 Weeks
Algoritmos y Programación en R (edX) EdX
Tecnológico de Monterrey,TecdeMonterreyX

Algoritmos y Programación en R (edX)

Aprende los fundamentos del pensamiento algorítmico, estructuras de datos y los principios básicos de programación con aplicación a los negocios. Los algoritmos pueden ser utilizados para la solución de problemas de negocio. En este curso aprenderás los conceptos básicos de algoritmos y el manejo de estructuras de datos.

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.

Aug 3rd 2026
4 Weeks
Algorítmica Básica (edX) EdX
Tecnológico de Monterrey,TecdeMonterreyX

Algorítmica Básica (edX)

Aprende los fundamentos del pensamiento algorítmico, estructuras de datos y los principios básicos de programación con aplicación a los negocios. Los algoritmos pueden ser utilizados para la solución de problemas de negocio. En este curso aprenderás los conceptos básicos de algoritmos y el manejo de estructuras de datos.

Self Paced
Self-Paced
AI for Efficient Programming: Harnessing the Power of LLMs (Coursera) Coursera
Fred Hutchinson Cancer Center

AI for Efficient Programming: Harnessing the Power of LLMs (Coursera)

This course on Artificial Intelligence (AI) for software development explores the use of AI large language models such as ChatGPT, Bard, and others and their potential benefits and challenges. Through examples and hands-on activities, you will develop an understanding of the ways in which AI can speed up software development tasks and free up time for more creative and strategic work.

Aug 10th 2026
4 Weeks
Statistics for Business Analytics: Modelling and Forecasting (edX) EdX
University of Queensland,UQx

Statistics for Business Analytics: Modelling and Forecasting (edX)

This is a great course for anyone who wants to gain foundational and critical analysis and statistics skills with no prior background. In this course, we explore statistical methods for examining the relationships between variables. We also consider how data from the past can be used to make forecasts about likely future trends.

Apr 7th 2023
4 Weeks