New Version Planning: Difference between revisions
From EDURange
Jump to navigationJump to search
Jwgranville (talk | contribs) |
Jwgranville (talk | contribs) |
||
| (4 intermediate revisions by the same user not shown) | |||
| Line 21: | Line 21: | ||
**** "Does the student use ~ to refer to their home directory?" | **** "Does the student use ~ to refer to their home directory?" | ||
*** What artifacts help to assess this? | *** What artifacts help to assess this? | ||
*Sample learning objectives: | |||
**Hierarchically: course/domain; module/unit; learning objective; concept/skill cluster; knowledge components; tasks | |||
**Scenario (course): Getting Started | |||
***A learning objective: Students will be able to navigate the filesystem | |||
****Compose paths | |||
****Navigate directories | |||
****Aware of working directory | |||
****Understand path substitutions (~, ., etc.) | |||
****etc... | |||
***A more specific learning objective (or, alternately, a skill cluster): Student will be able to recognize (name) and locate a hidden file in a known directory | |||
****Give filename of the file in question | |||
****Identify the path of the file in question | |||
****Source and provide information about the file, content in the file | |||
****Differentiate between a file that is and isn't hidden | |||
***Task (independent, but linked to learning objectives and knowledge components): | |||
****Find all the files that end in ".gif" using the find command | |||
***Knowledge component (independent, linked to tasks): | |||
****Student uses 'find" when searching files | |||
****Student uses 'ls' to list and examine available files | |||
****Student appropriately applies path prefix (absolute or relative) | |||
****Student composes valid pattern for file extension | |||
*Quality of life: | |||
**Authentication/account naming is a system-wide standard/service | |||
***How does this behave in designs where students are meant to seize other identities? | |||
=== Functional requirements: === | === Functional requirements: === | ||
| Line 27: | Line 51: | ||
* Telemetry layer for instrument/orchestration health | * Telemetry layer for instrument/orchestration health | ||
* Students are provided a learning environment that is safe to explore/attack without threatening the application host infrastructure | * Students are provided a learning environment that is safe to explore/attack without threatening the application host infrastructure | ||
* Two weeks unattended uptime | |||
* Per-user resource caps configurable per host (if not per-scenario or finer-grained) | |||
=== Ubiquitous language: === | === Ubiquitous language: === | ||
| Line 55: | Line 81: | ||
* Observability/instrumentation? (Name?) | * Observability/instrumentation? (Name?) | ||
=== User | === User stories: === | ||
(Supported use cases, written in terms of the ubiquitous language above) | |||
* '''Instructors''' make '''Scenarios''' available to '''Students''' | * '''Instructors''' make '''Scenarios''' available to '''Students''' | ||
* '''Scenarios''' configure the '''Learning Environment''' to support '''Learning Objectives''' | * '''Scenarios''' configure the '''Learning Environment''' to support '''Learning Objectives''' | ||
* '''Scenarios''' may include a '''Guide''' to support exercises and tasks in the '''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 | * The '''Learning Environment''' can offer '''Interventions''' based on '''Student''' performance | ||
* '''Students''' start and stop the '''Learning Environment''' of '''Scenarios''' made accessible to them (the '''Learning Environment''' does not consume resources when not in use) | |||
Latest revision as of 16:54, 28 March 2026
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?"
- "Can the student compose an absolute path?"
- What artifacts help to assess this?
- "Can a student navigate the filesystem?"
- Navigating a filesystem:
- Sample learning objectives:
- Hierarchically: course/domain; module/unit; learning objective; concept/skill cluster; knowledge components; tasks
- Scenario (course): Getting Started
- A learning objective: Students will be able to navigate the filesystem
- Compose paths
- Navigate directories
- Aware of working directory
- Understand path substitutions (~, ., etc.)
- etc...
- A more specific learning objective (or, alternately, a skill cluster): Student will be able to recognize (name) and locate a hidden file in a known directory
- Give filename of the file in question
- Identify the path of the file in question
- Source and provide information about the file, content in the file
- Differentiate between a file that is and isn't hidden
- Task (independent, but linked to learning objectives and knowledge components):
- Find all the files that end in ".gif" using the find command
- Knowledge component (independent, linked to tasks):
- Student uses 'find" when searching files
- Student uses 'ls' to list and examine available files
- Student appropriately applies path prefix (absolute or relative)
- Student composes valid pattern for file extension
- A learning objective: Students will be able to navigate the filesystem
- Quality of life:
- Authentication/account naming is a system-wide standard/service
- How does this behave in designs where students are meant to seize other identities?
- Authentication/account naming is a system-wide standard/service
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
- Two weeks unattended uptime
- Per-user resource caps configurable per host (if not per-scenario or finer-grained)
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 events (such as those matched by milestones) correlate with questions?
- How do we know tangibly that a student is completing learning-related tasks?
- e.g.
- Questions (are exercises distinct?)
- Guide
- Guide section
- Student
- Instructor
- Hint
- Intervention
- Prediction
- Learning environment
- Underlying system state?
- What denotes/distinguishes a command?
- Underlying system state?
- Observability/instrumentation? (Name?)
User stories:
(Supported use cases, written in terms of the ubiquitous language above)
- 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
- Students start and stop the Learning Environment of Scenarios made accessible to them (the Learning Environment does not consume resources when not in use)