Teaching with BESSER Labs

The labs are written to be handed to students as they are. Each one states its time, setup and prerequisites up front, so you can build a session around them without rewriting anything.

Two-hour workshop

A first contact with model-driven engineering. Laptops with a browser are enough.

  1. Lab 1: Draw your first class diagram40 min
  2. Lab 4: Model by conversation with the Modeling Assistant35 min
  3. Lab 7: Build a full web app from three models1 h 15 min

About 2 h 30 min of hands-on time

One-day bootcamp

From a first model to a deployed application with an agent and an AI-built feature.

  1. Lab 1: Draw your first class diagram40 min
  2. Lab 2: Model in Python with B-UML1 h
  3. Lab 6: From a class diagram to a database50 min
  4. Lab 7: Build a full web app from three models1 h 15 min
  5. Lab 9: Build agents with the BESSER Agentic Framework1 h 15 min
  6. Lab 5: From a description to a running app with the Spec-Driven Agent1 h

About 6 h of hands-on time

Semester course on model-driven engineering

One lab per session, closing with metamodeling and generator development.

  1. Lab 1: Draw your first class diagram40 min
  2. Lab 2: Model in Python with B-UML1 h
  3. Lab 3: Add behavior to your model50 min
  4. Lab 4: Model by conversation with the Modeling Assistant35 min
  5. Lab 5: From a description to a running app with the Spec-Driven Agent1 h
  6. Lab 6: From a class diagram to a database50 min
  7. Lab 7: Build a full web app from three models1 h 15 min
  8. Lab 8: Publish your app to Render, then extend it45 min
  9. Lab 9: Build agents with the BESSER Agentic Framework1 h 15 min
  10. Lab 10: Personalize an agent for its users55 min
  11. Lab 11: Write your own code generator1 h
  12. Lab 12: Extend the B-UML metamodel and a generator1 h 30 min

About 11 h 35 min of hands-on time

Solutions

Worked solutions for every exercise live in a private repository. If you teach with these labs, email info@besser-pearl.org from your institutional address and tell us the course you are running. We'll add you to the repository.

Before the session

  • Open editor.besser-pearl.org on the classroom network. Some corporate and university proxies interrupt the live connection the assistant uses, so test it once from a classroom machine.
  • Labs that use Python need Python 3.11 or 3.12 and pip install besser. Ask students to install it before the session; it is the step that eats the most class time.
  • The modeling assistant needs no API key, and the Spec-Driven Agent runs on a shared free tier by default. Both are rate limited, so a full class working at once will see slower replies. Students with their own key can add it in the editor.
  • The deployment lab needs a free GitHub account and a free Render account per student.

Progress tracking

Students can tick off steps as they go. Progress is stored in their own browser only; nothing is sent anywhere, and there is no account to create.