Complexity Explorer Santa Few Institute

Agent-Based Models with Python: An Introduction to Mesa

Lead instructor:

Your progress is not being saved! Enroll now or log in to track your progress or submit homework.


How long will this tutorial be available? 

This tutorial will always be available.  Unlike our courses, tutorials are always available, and completely self-paced. 

Who is the instructor?

The Mesa ABM project team


How much does it cost? 

Nothing. The tutorial is completely free.

How is the tutorial funded? 

The development of this tutorial was funded by the Santa Fe Institute (SFI) and by donations from users.


Who is the intended audience and what are the prerequisites? 

The model used is an advanced beginner model and users should have some introductory experience to Python or other object oriented language syntax. There are no prequisites.


How does the tutorial work? 

Each tutorial consists of a series of coding demonstration videos, with each video advancing you through building the Sugarscape model in the Google Colab environment. The tutorial website leads you through the videos in order, allowing you to skip or repeat videos as you desire. You can watch these videos at your own pace and in any order you desire; once posted, they will remain available indefinitely. 


How is the tutorial graded?  

This tutorial is not graded. 


Will I receive a certificate for completing this tutorial?  

No, this tutorial does not provide a certificate.

Can I get university credit for this tutorial? 

No, not at this time. It is possible that in the future we may be able to partner with colleges and universities so as to offer our courses and tutorials for credit, but there is currently no mechanism for this.


Is there a required textbook? 

No textbook is required.  (Some lectures will be complemented by suggested readings that will be listed in the Supplementary Materials page. )


In what ways am I allowed to use these resources?  

All the materials on this site are available for your use for any non-commercial purpose. All materials (videos, code, write-ups, etc.) are covered by the Creative Commons Attribution-NonCommercial-ShareAlike License ( ). This states that you may copy, distribute, and transmit the work under the condition that you give attribution to, and your use is for non-commercial purposes.


Are subtitles available? 

The Complexity Explorer Project has an on-going project in which users volunteer to create subtitles in different languages.  If subtitles are available for a given video they can be accessed in the following way.  First, start and pause the video.  A tool bar will now be visible along the bottom of the video.  Second, click on the gear-shaped button located directly to the right of the “CC” button.  A list of available languages will be shown in the middle drop-down menu located in the box the opens after hitting the gear-shaped button.  Select the language you would like to use for subtitles and click on it.  

How do I download and use subtitles offline? You can download videos and available subtitles to watch offline if you wish. Information on downloading videos is located below under technical requirements.  In order to make the subtitles you download play with the video, you will need to go through a few steps.  Our suggested method is detailed in this help document.  Click the link to download the instructional pdf. 

Can I download a plain text transcript of the video? For any video that has subtitles available, there will also be a plain text transcript (in .txt format) available for download, for each subtitle language available.  When you click on Subtitles & Transcripts you will be given all of the language options available, and you can choose to download either the subtitle or the transcript, or both.  


Do I have to enroll to take the tutorial?  

Enrolling has three benefits:  (1) the system will keep track of your progress in the tutorial, and always return you to the segment you are currently on; (2) you will be able to post to the forum; (3) We will inform you by email when new tutorials have been posted.   Enrollment is easy, quick, and free!

How do I enroll? 

Go to, then to Tutorials, and click the “Enroll” button next to this tutorial. You will be guided through the short enrollment process.

How do I complete a tutorial? 

As you navigate through the tutorial watching videos and taking quizzes, each section will be marked as complete. You can also complete a section by checking off segments manually, by clicking in the box to the left of the segment, subunit, or unit. Once a tutorial is completed, it will still be available to you but it will move to "My Completed Tutorials".


How much time does the tutorial require? 

This depends entirely on which tutorials you work on; different tutorials will have different levels of difficulty. This tutorial has ~5 hours of video content. 


What are the rules on collaboration with other people? 

You are free, and encouraged, to discuss anything with anyone! The tutorial hosts an online forum for students to discuss the tutorial material.

What is the forum? 

The tutorial hosts a forum in which tutorial participants can post questions, answers, and otherwise discuss the tutorial contents. Questions posted to this forum are answered by other students.


How do I get the videos to play at a faster rate (e.g., 2x)?  

Our videos are streamed through YouTube. You can opt in on YouTube for their html5 player, which allows you to speed up or slow down videos.  To opt in, go to

Can I download the videos directly, rather than watching them via YouTube?  

Yes, just click on the "Download" button that appears in the Summary view of the Lectures page.


Please address any other questions you have to