Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.

Fly Me To The Moon Workshop

Build Status

This repository bundles all subrepositories for the Fly Me To The Moon workshop.

If you're looking at this repository on GitHub: you're missing some files. Download the whole bundle as a resource. In particular, you're missing the book.

If you got these files from a USB stick during the workshop: congratulations, you're all set!

Note: if you're using this package without an internet connection

We've prepared a directory containing all cargo dependencies, which will come in handy if you're using this workshop package in a situation where internet connections are spotty or non-existent.

To use this setup, set CARGO_HOME before proceeding to the location of the cargo_home directory in this package.

On Linux/macOS:

export CARGO_HOME=/...where you've unpacked.../cargo_home

On Windows:

set CARGO_HOME=C:\...where you've unpacked...\cargo_home

Afterwards, cd to the appropriate directory and run cargo as usual:

cargo build ...
cargo run ...

Help, I haven't done Rust before!

We've got you covered!

Rust is a great language with a lot to offer. To do the exercises in this workshop, you'll only need a small fraction of Rust's features.

We'll tell you all you need to know in the file called help/

Now what?

You can do any number of things!

  • If you want to learn more about Genetic Programming from the very first beginnings, you can read the book.
  • If you'd prefer to dive right in, and do one of the guided projects, do one of the Moon Lander Projects. They're described below.
  • If you're done early, there are more space-related projects to do. For example, the Apollo Guidance Computer.
  • If you get stuck, unwind! Play the moonlander-game directly, yourself (even if you're just a human).

Moon Lander Projects

The main attraction of this workshop is--of course--the moon lander project. You'll evolve a program that can safely land a capsule on the surface of the moon, without any explicit coding on your part!

We recommend you tackle these projects in order.

  • The projects are described in moonlander-ast/
  • If you get stuck or need hints, see the files in the help directory.
  • If you want to look up documentation on one of the Rust libraries used in this project, see the doc directory.

Apollo Guidance Computer

We will try to fit the series of points with a function. You find a skeleton project in the AGC directory. See the AGC chapter in the accompanying book for a description of the book.

Alternatively: Bring your own

We would love to see this tool used to solve a problem that you have. There is a skeleton project that will give you a running start. Other than that you are on your own.


A repository gathering all the related files used during the Fly me to the Moon workshop.







No releases published


No packages published