Newer
Older
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
All interactive content in RELATE is part of a *flow*. Relate uses the made-up
word "flow" to denote an interactive experience that can be any of the
following:
* A quiz
* A few pages of introductory text, combined with some videos
* An exam
* A long-form homework assignment
And possibly many more different things. Technically, a flow consists of
multiple webpages, each of which may allow the participant some type of
interaction, such as submitting answers to questions. All interactions of the
participant with a flow constitute a session. A participant may have multiple
sessions per flow, corresponding to, for example, being able to take the same
quiz multiple times.
This chapter describes how flows are defined from the instructor's perspective.
This consists of two main parts. The first part is defining the interactions
themselves, by providing content for the flow pages. The second consists of
describing what participants are allowed to do, and what grades they are to
receive for their interactions. The system allows tremendous latitude in
defining these rules.
Things that can be decided by flow rules include the following:
* Is student allowed only one or multiple sessions?
* Is the student allowed to review past sessions?
* What are the deadlines involved and how much credit is received for completing a flow?
* Is a participant shown the correct answer and/or the correctness of their
answer? When are they shown this information? (Right after they submit their
answer or only after the deadline passes or perhaps right after they have
submitted their work for grading?)
An Example
----------
.. code-block:: yaml
title: "RELATE Test Quiz"
description: |
# RELATE Test Quiz
rules:
# (Things behind '#' hash marks are comments.)
# Allow students to start two attempts at the quiz before the deadline.
# After that, only allow access to previously started quizzes.
Andreas Klöckner
committed
if_before: 2015-03-06 23:59:00
if_has_role: [student, ta, instructor]
if_has_fewer_sessions_than: 2
may_start_new_session: True
may_list_existing_sessions: True
may_start_new_session: False
may_list_existing_sessions: True
# Allow students to submit quiz answers before the deadline.
# After the deadline, the quiz becomes read-only. (The 'modify'
# permission goes away.)
Andreas Klöckner
committed
access:
-
if_before: 2015-03-06 23:59:00
permissions: [view, modify, see_correctness]
permissions: [view, see_correctness, see_answer_after_submission]
# Record grades under the machine-readable name 'test_quiz'.
# If there is more than one grade, use the maximum.
Andreas Klöckner
committed
grade_identifier: test_quiz
grade_aggregation_strategy: max_grade
-
type: Page
id: welcome
content: |
# Welcome to the test quiz for RELATE!
-
type: ChoiceQuestion
id: color
prompt: |
- Blue
- Green
- ~CORRECT~ Yellow
completion_text: |
# See you in class!
Thanks for completing the quiz.
Overall Structure of a Flow
---------------------------
When described in YAML, a flow has the following components:
.. class:: Flow
.. attribute:: title
A plain-text title of the flow
.. attribute:: description
A description in :ref:`markup` shown on the start page of the flow.
.. attribute:: completion_text
(Optional) Some text in :ref:`markup` shown once a student has
completed the flow.
(Optional) A list of email addresses which to notify about a flow submission by
.. attribute:: max_points
(Optional, an integer or floating point number if given)
The number of points on the flow which constitute
"100% of the achievable points". If not given, this is automatically
computed by summing point values from all constituent pages.
This may be used to 'grade out of N points', where N is a number that
is lower than the actually achievable count.
.. attribute:: max_points_enforced_cap
(Optional, an integer or floating point number if given)
No participant will have a grade higher than this recorded for this flow.
This may be used to limit the amount of 'extra credit' achieved beyond
:attr:`max_points`.
.. attribute:: bonus_points
(Optional, an integer or floating point number if given)
This number of points will be added to every participant's score.
.. attribute:: rules
(Optional) Some rules governing students' use and grading of the flow.
See :ref:`flow-rules`.
.. attribute:: groups
A list of :class:`FlowPageGroup`. Exactly one of
:attr:`groups` or :class:`pages` must be given.
A list of :ref:`pages <flow-page>`. If you specify this, a single
:class:`FlowPageGroup` will be implicitly created. Exactly one of
:attr:`groups` or :class:`pages` must be given.
.. _flow-rules:
Flow rules
----------
Here's a commented example:
.. code-block:: yaml
rules:
# Rules that govern when a new session may be started and whether
# existing sessions may be listed.
Andreas Klöckner
committed
start:
Andreas Klöckner
committed
# Members of the listed roles may start a new session of this
# flow if they have fewer than 2 existing sessions if the current
# time is before the event 'end_week 1'.
Loading
Loading full blame...