System Behavior Specification - adaptive-learning/flocs GitHub Wiki

This document specifies expected system behavior. The primary usage of the specification is for subjective evaluation of the system: having the specification allows us to say if it behaves as expected or not and to immediately name the "misbehavior". In the future we may also try to use it for objective evaluation: to devise a suitable error function for our domain.

Specification

  1. Most of the presented tasks are challenging to me (they are slightly above my skill level).
  2. I don't get any long boring task which is too easy for me.
  3. If my initial skill is high, I get tasks with loops and conditions already during the first session.
  4. I solve all presented tasks (I never need to give up the task).
  5. If I give up the task, the next presented task is easier.
  6. If report the task as hard, the next presented task is easier.
  7. I solve the first presented task in less then 1 minute, no matter how low is my initial skill.
  8. All presented tasks are interesting, pleasant to look at and they "call to be solved".
  9. I understand how the environment, game and blocks work.
    • All new concepts (blocks etc.) are explained.
    • There is a possibility to see any of the past instructions.
  10. Each new concept (e.g. block) is explained in the task where it's needed for the first time (and not earlier).
  11. One practice session should take between 15 and 30 minutes.

TODO

  • create even more high-level "expectations of a user"