Skip to content
Switch branches/tags
Go to file
This branch is 19 commits ahead of AmbrosiaNotebooks:master.

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

The Ambrosia Modeing System.

Welcome to the Ambrosia Modeling System repository. This system is a 3D-Modeling language used to introduce students to programming and to demonstrate various approaches to engineering large systems. Ambrosia is used in Computer Science 109, The Art and Science of Computer Graphics, taught at Williams College.

Most of the materials for the course may be found here. In particular, this repository contains:

  1. The Ambrosia Modeling System. Ambrosia is a language embedded in Python 3.
  2. Reference documentation for Ambrosia. To make full use of Ambrosia, it is important to understand its approach to model-building. A variety of documentation can be found on the wiki associated with this site (look above).
  3. Lecture notes from the course. When this repository is explored as a binder, you can learn about Ambrosia programming using the "lecture" notebooks found in the 'lectures' folder. In this on-line approach, we are not constrained by a semester's meetings, so the progression of lectures is really a path through a tutorial on a wide variety of topics. The order of the topics, here, follows closely how the course is taught at Williams.
  4. Studio exercises. In the college course, we meet once weekly to build new models. These 'studio' exercises can be conquered approximately every-other lecture. As you explore the lecture notebooks, we'll tell you when to visit the next studio project. They associated notebooks are all found in the 'studios' folder.
  5. Example projects. As we near the end of the scheduled material, at Williams, we launch into a more significant project. In the on-line course, we explore a small collection of final projects from artists at Williams.

Let's get started!

This repository is meant to be accessed through You can get live access to the python resources by pressing this button: Binder. Visiting the binder causes a server in the cloud to give you a fresh copy of the course, in a container. You can experiment with notebooks in the course, but if you make changes, they will be lost if you leave the site. We encourage you to save your work, locally, on your own machine. You can always reload your own version of the notebooks when you ask for a new binder.

Good luck! And: have fun modeling.


Cloud-based rendering using the Ambrosia Modeling System.



No releases published


No packages published