New Version Planning

From EDURange
Jump to navigationJump to search

As we're still getting started, please feel free to insert notes and comments where you like - just try to avoid changing or deleting things you yourself didn't write. We'll come up with a shared structure as we go. Also consider using the "discussion" tab at the top if you aren't sure where to comment or want to have a dialogue.

These items at the top are on the agenda for discussion, but don't have a clear place they belong yet:

  • POST handler/API reachability
  • Chat capability
  • Containers
  • NSJail, chroot?
  • Physical systems: controlled via ordinary SSH, provisioned with PXE or other net boot methods?
  • How to model shared resources and contention?
  • Staged/prerequisite content in guide/scenario
  • How to refer to observation/logging instruments
  • How do we assess correctness/domain truth in a model of learning objectives?
    • Navigating a filesystem:
      • "Can a student navigate the filesystem?"
        • "Can the student compose an absolute path?"
          • "Does the student use / to begin an absolute path?"
          • "Does the student refer to directories present at the root of the filesystem?"
        • "Do they correctly use find?"
        • "Does the student map correctly between paths and the purposes of the file hierarchy?"
          • "Does the student look for binaries in /bin/?"
        • "Does the student use ~ to refer to their home directory?"
      • What artifacts help to assess this?

Functional requirements:

  • 20-300 students simultaneously? Semi-simultaneously? ~150 concurrently, 500+ at large institutions?
  • Telemetry layer for instrument/orchestration health
  • Students are provided a learning environment that is safe to explore/attack without threatening the application host infrastructure

Ubiquitous language:

(See What is Ubiquitous Language? | Agile Alliance, Cosmic Python or DDD Resources - Domain Language)

  • Scenario
  • Learning objectives
    • e.g.
      • "Students will be able to use ls to list the contents of a directory"
      • "Students will be able to log in to the exercise via SSH"
    • Milestone
      • Do these have sufficient resolution to see why/how students arrived at a correct answer?
    • What are indicators of student progress on learning objectives?
      • How do events (such as those matched by milestones) correlate with questions?
        • What are students asking about in help requests?
        • Can we select semantics from log data (commands, chat, questions)?
    • How do we know tangibly that a student is completing learning-related tasks?
  • Questions (are exercises distinct?)
  • Guide
    • Guide section
  • Student
  • Instructor
  • Hint
  • Intervention
  • Prediction
  • Learning environment
    • Underlying system state?
      • What denotes/distinguishes a command?
  • Observability/instrumentation? (Name?)

User stores:

  • Instructors make Scenarios available to Students
  • Scenarios configure the Learning Environment to support Learning Objectives
  • Scenarios may include a Guide to support exercises and tasks in the Learning Objectives
  • The Learning Environment can offer Interventions based on Student performance