SMS dit: Programming an architecture of learning environments