Skip to main content

Notions

Notions is one of the validation modes available for activities. Notions provide a way to establish point-based targets, with each assignment associated with bounties contributing towards these targets. To implement this, notions can be configured with names, slugs, and validation thresholds. Assignments can then be linked to these notions by specifying bounties with associated notion slugs and values.

In the upcoming example, we will configure notions like "Basics," "Algorithms," and "I/O and file management," each with its respective validation threshold. Assignments such as "hello_world," "simple_maths," "fibo," "cat_file," and "grep_file" will then be assigned bounties contributing to the defined notions based on their relevance and content.

Notions & Tresholds

The first step is to configure notions with their respective slugs, names, and validation thresholds.

notions:
- name: Basics
slug: basics
validationThreshold: 10
- name: Algorithms
slug: algorithms
validationThreshold: 5
- name: I/O and file management
slug: io
validationThreshold: 5

Bounties

Once the notions and thresholds are defined, we can proceed to add bounties to the assignments. These bounties will enable students to earn points toward validating the specified notions.

assignments:
- slug: hello_world
bounties:
- notionSlug: basics
value: 5
# ...

- slug: simple_maths
bounties:
- notionSlug: basics
value: 5
# ...

- slug: fibo
bounties:
- notionSlug: basics
value: 5
- notionSlug: algorithms
value: 5
# ...

- slug: cat_file
bounties:
- notionSlug: io
value: 5
# ...

- slug: grep_file
bounties:
- notionSlug: io
value: 5
- notionSlug: algorithms
value: 5
# ...

For example, here, the basics notion needs 10 points to be validated, while hello_world, simple_maths and fibo all contribute 5 points to it. That means that you can do only two of the three assignments and still validate the notion. This gives us the following activity:

info

Students can still work on other assignments if a notion is already fully validated.

danger

You must use THRESHOLDS or THRESHOLDS_AND_NODES validation modes in your activity definition to enable validation based on notion. THRESHOLDS_AND_NODES is described in following section.

See reference for more details on how notions and bounties are configured. For now, let's configure a few of our assignments using the notions system: