Activities Validation
The main goal of an activity is to offer assignments (tasks to do) to students, automatically evaluate their work, and provide feedback. Once completed, they validate it, allowing them to move on to the next task.
In order to create activities, it is necessary to establish:
- Assignment Navigation: How a student can move from an assignment to another (i.e. choose their next thing to do)
- Activity Validation: How the entire activity is validated. This includes deciding whether students must fully complete all assignments, meet a certain quota of completed assignments, or adhere to a specific order in completing assignments.
Assignment and Groups
An activity is structured as a node hierarchy, with assignmentGroups containing assignments and other assignmentGroups. This allows for the specification of properties at both the root level and within sub-nodes, with a need to consult the reference for overriding or summing patterns. Assignments represent units, such as exercises, while assignment groups are collections of these units with dependencies defined by precedence, forming hierarchies often represented as graphs (project steps).
Assignments Properties
Assignments and assigmnentGroups contains following properties:
name: A Pretty name displayed on the intranet
slug: The slug is a unique identifier composed with alphanumeric characters
and hyphens.
slug: hello-world
name: Hello World
Assignments (not assigmnentGroups) contain a third required property that we will see later: Submission. For optional properties, please refer to PaCv2 Reference.
For instance, we can create the following "flat" activity with no specific order restrictions, allowing students to access assignments in any sequence. This simplicity is suitable for straightforward activities without intricate interactions between assignments.
slug: activity-example
tenantSlug: tenant-slug
name: My First Activity
# ...
assignments:
- slug: hello_world
name: Hello World!
required: true
- slug: simple_maths
name: Simple Maths
Validation modes
Each assignmentGroup must specify a validation mode that can impact parent/child nodes within the hierarchy.
Validation modes consider both assignment groups and assignments in their logic.
For example, the ALL
validation mode will only validate the group if all
assignments and assignment groups within it are validated, while the ANY
validation mode will validate the group if any of its assignments or
assignment groups are validated.
Consider an activity or an assignment group X with various children (assignments or assignment groups). The following validation modes are available:
ALL
: Validates if all children within X (including assignment groups and individual assignments) are validatedANY
: Validates if at least one child within X (either an assignment group or an individual assignment) is validatedTHRESHOLDS
: Validates if all notions within X have been successfully validated. In other words, it checks if the student has validated enough bounties to reach the predefined thresholds for all notions associated with X.NODES
: Validates if all direct children of X (including assignment groups and assignments) marked asrequired: true
are validated.THRESHOLD_AND_NODES
THRESHOLD_AND_NODES: Validates if both conditions forNODES
andTHRESHOLDS
are met. This means that all direct children of X marked as required: true are validated, and the student has also met the thresholds for all notions associated with X.
In the next section, we will explore advanced validation modes.