Welcome to RELATE’s documentation!¶
RELATE is a web-based courseware package. It is set apart by the following features:
Focus on easy content creation
- Simple, text-based format for reusable course content
- Based on standard YAML, Markdown
- Instructors can implement custom question/page types in Python.
See example content.
Flexible rules for participation, access, and grading
Versioning of content through deep integration with git. Instructors can preview newly-authored content while students work with prior versions, all from the same instance of RELATE.
Multiple courses can be hosted on the same installation
- Allow students to write code into a text box (with syntax highlighting)
- Sandboxed execution
- Automatic grading
- Plotting support
- Optional second-stage grading by a human
Class calendar and grade book functionality.
Statistics/analytics of student answers.
Facilitates live quizzes in the classroom.
In-class instant messaging via XMPP. Works well with xmpp-popup.
Built-in support for VideoJS offers easy-to-use support for integrating HTML5 video into course content without the need for third-party content hosting.
RELATE is a based on the popular Django web framework for Python. It lets students participate in online activities, each of which is (generically) called a “flow”, which allows a sequence of pages, each of which can be both static or interactive content, for exapmle a video, a quiz question, a page of text, or, within the confines of HTML, something completely different.
Table of Contents¶
- Writing content for RELATE
- Git repository
- On system lock-in
- RELATE markup
- The Main Course Page File
- “Static” (i.e. non-interactive) pages
- Calendar and Events
- An Example
- Overall Structure of a Flow
- Flow rules
- Flow pages
- Predefined Page Types
- Show a Page of Text/HTML (Ungraded)
- Fill-in-the-Blank (Automatically Graded)
- Free-Answer Survey (Ungraded)
- Fill-in-the-Blank (long-/short-form) (Human-graded)
- Fill-in-Multiple-Blanks (Automatically Graded)
- One-out-of-Many Choice (Automatically Graded)
- Many-out-of-Many Choice (Automatically Graded)
- One-out-of-Many Survey (Ungraded)
- Write Python Code (Automatically Graded)
- Write Python Code (Automatically and Human-Graded)
- Upload a File (Human-Graded)
- Definining your own page types
- Life cycle
- Sample Rule Sets
- Frequently Asked Questions
- What does the ‘view’ permission do?
- What does ‘starting a session’ mean?
- What are ‘flow sessions’?
- Can flows be set up to branch somehow?
- Can participants do work in a flow that cannot be undone without starting a new session?
- Some events happen twice or three times in a week. How can I create create recurring events for that circumstance?
- Sometimes we need to postpone or put in advance all the following events, which belong or not belong to the same kind of events, by a specific interval of time. How do I avoid editing events one by one?
- How do I have students realistically deal with data files in code questions?
- I wrote a Yes/No question, but RELATE shows “True/False” instead of “Yes/No”–why on earth would it do that?
- User-visible Changes