EdX

Procedural Modelling (edX)

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.

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

The first in our “Spatial Computational Thinking” program, this “Procedural Modelling” course will focus on the fundamentals of procedural programming in 3D. You’ll learn to write computational procedures using data structures and control-flow statements to automate the production of 3D models.
During the course, you will learn a range of computational methods. These include general programming constructs such as using ‘while’ loops, ‘for-each’ loops, ‘if-else’ conditions, as well as writing your own custom functions. In addition, you will also learn to use two key data structures: list and dictionaries. And in the process, you will become familiar with the programming process: writing code, executing code, and debugging code.
When creating modelling procedures, you will use a range of different modelling functions. You will also learn how geometric models can be augmented with an additional layer of semantic data. You will learn how geometric entities can be tagged with additional attribute values, and how these attributes can then be used for querying your models. You will also learn how to add attributes to define color, materials, and other visual properties.
During this course, you will use Möbius Modeller, the modelling tool that is used throughout this “Spatial Computational Thinking” module. It is free and easy to use browser-based software to write algorithms for automatic generation and visualization of complex models with spatial information.
The programming language uses a visual programming approach combining flowcharts with procedural programming. This makes the process of learning coding much easier, allowing you to quickly acquire the knowledge and skills required for writing complex computational procedures for generating, analysing, and visualizing complex 3D spatial information models. The programming knowledge you gain will be highly transferable if you later choose to use other languages in your future work such as Python or Javascript.
The modelling exercises and assignments during this course will start with a simple procedural approach to 2D and 3D patterns and will progress towards more complex geometries representing entities within the built environment such as building footprints, building facades, and staircases.
The course prepares you for the next course in the “Spatial Computational Thinking” program , focusing on generative modelling of more complex types of spatial information models.

What you'll learn

Learning algorithmic thinking:

  • What is Spatial Computational Thinking?
  • The fundamentals of procedural programming
  • How procedures can be used to manipulate spatial information models
  • An understanding of the coding process: write, execute, and debug
  • How semantics can be used to augment geometric models
  • The difference between geometry, topology, and attributes
  • How query languages can be used to extract data from models

Learning procedural modelling:

  • Fundamentals of geometric objects: points, polyline and polygons
  • Using modelling functions for creating and modifying geometric objects
  • Managing connectivity between geometric objects
  • Modelling with geometry, topology, and collections
  • Attaching attribute data to geometry, topology, and collections
  • Querying and filtering data in the model using attributes

Learning coding:

  • Coding using an Integrated Development Environment (IDE)
  • Fundamentals of variables and simple data types
  • Fundamentals of operators: assignment, arithmetic, relational, logical
  • Fundamentals of programming with libraries of functions
  • An introduction to the list and dictionary data structures
  • Understanding function parameters, arguments and return values
  • Manipulating control flow using ‘while loops’, ‘for loops’ and ‘if conditions’
  • Understanding variable assignment and variable scope
  • Creating custom local functions to avoid repetitive code
  • Strategies for writing and debugging code

Learning Möbius Modeller

  • Overview of Möbius Modeller as a development environment
  • The Möbius Modeller user interface
  • Creating computational flowcharts with parameters
  • Working with the console and different type of viewers
  • Creating flowcharts with multiple nodes and parameters
  • Flowchart patterns, using in-series nodes or in-parallel nodes
  • Strategies for communicating between nodes within a flowchart
  • Submitting assignments using Möbius Modeller
Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Revit for Structural Engineers (edX) EdX
University System of Maryland - USM,USMx

Revit for Structural Engineers (edX)

Learn how to model basic building structural systems in Autodesk Revit. Building Information Modeling (BIM) has initiated a sea change in the way that buildings are designed and constructed. Old methods rooted in two-dimensional thinking have been pushed aside to make way for new three-dimensional approaches that leverage the latest advancements in computing technology.

Self Paced
Self-Paced
Algorithmic Thinking (Part 1) (Coursera) Coursera
Rice University

Algorithmic Thinking (Part 1) (Coursera)

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Aug 10th 2026
4 Weeks
Introduction to 3D Modeling (Coursera) Coursera
University of Michigan

Introduction to 3D Modeling (Coursera)

On this four-week practical course from the University of Michigan, you’ll not only learn how to use the Rhino software to create your 3D models, but you’ll also gain basic design skills to help bring your imagination to life. This course will guide you through 3D modeling within Rhino, so you’ll cover the fundamentals of the software as well as 3D modeling in general. You’ll first look at how to navigate the user interface and the different tools that you’ll be using to create models throughout this course. You’ll familiarize yourself with the 3D space and 3D objects before jumping straight in to create your own objects and building blocks.

Aug 10th 2026
4 Weeks
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
Virtual Building Design for Engineers Using Autodesk Revit (edX) EdX
University of Maryland, College Park,University System of Maryland - USM,USMx,UMD

Virtual Building Design for Engineers Using Autodesk Revit (edX)

This course is a beginners guide to Autodesk Revit software. Students will learn the fundamentals of Autodesk Revit’s functionality and how Design Professionals and Project Teams use Autodesk Revit-centric and BIM-centric workflows for design and construction optimization, coordination, visualization, and automation.

Self Paced
Self-Paced
Computing in Python I: Fundamentals and Procedural Programming (edX) EdX
Georgia Institute of Technology,GTx

Computing in Python I: Fundamentals and Procedural Programming (edX)

Learn the fundamentals of computing in Python, including variables, operators, and writing and debugging your own programs. This course starts from the beginning, covering the basics of how a computer interprets lines of code; how to write programs, evaluate their output, and revise the code itself; how to work with variables and their changing values; and how to use mathematical, boolean, and relational operators.

Self Paced
Self-Paced
Algorithmic Thinking (Part 2) (Coursera) Coursera
Rice University

Algorithmic Thinking (Part 2) (Coursera)

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Aug 10th 2026
4 Weeks
HTML5 Coding Essentials and Best Practices (edX) EdX
World Wide Web Consortium - W3C,W3Cx

HTML5 Coding Essentials and Best Practices (edX)

Learn how to write Web pages and Web sites by mastering HTML5 coding techniques and best practices. HTML5 is the standard language of the Web, developed by W3C. For application developers and industry, HTML5 represents a set of features that people will be able to rely on for years to come. HTML5 is supported on a wide variety of devices, lowering the cost of creating rich applications to reach users everywhere.

Self Paced
Self-Paced
Introduction to Accounting Data Analytics and Visualization (Coursera) Coursera
University of Illinois at Urbana-Champaign

Introduction to Accounting Data Analytics and Visualization (Coursera)

Accounting has always been about analytical thinking. From the earliest days of the profession, Luca Pacioli emphasized the importance of math and order for analyzing business transactions. The skillset that accountants have needed to perform math and to keep order has evolved from pencil and paper, to typewriters and calculators, then to spreadsheets and accounting software. A new skillset that is becoming more important for nearly every aspect of business is that of big data analytics: analyzing large amounts of data to find actionable insights. This course is designed to help accounting students develop an analytical mindset and prepare them to use data analytic programming languages like Python and R.

Aug 10th 2026
5-12 Weeks
Computational Thinking and Big Data (edX) EdX
University of Adelaide,AdelaideX

Computational Thinking and Big Data (edX)

Learn the core concepts of computational thinking and how to collect, clean and consolidate large-scale datasets. Computational thinking is an invaluable skill that can be used across every industry, as it allows you to formulate a problem and express a solution in such a way that a computer can effectively carry it out.

Self Paced
Self-Paced