wiki:BoltIntro

Version 9 (modified by Nicolas, 14 years ago) (diff)

Test PHP syntax highlighting (and fix a "bug" noticed thanks to the highlighting)

Berkeley Open Learning Technology (Bolt)

T(DesignDocument)?

Bolt is a software infrastructure for creating web-based training courses, and is designed to meet the needs of:

  • Skill aggregation project, in which volunteers must be trained to perform various tasks;
  • Volunteer computing, in which educating participants can increase their enthusiasm and commitment.

These areas have properties that are much different from those of formal education:

  • Churn: constant turnover, thousands of new students per day
  • Wide geographical distribution
  • Wide age distribution
  • Motivation: most volunteers have a pre-existing interest in the topic, and are motivated by acknowledgement (e.g. being marked as an "expert" on the project web site)

What Bolt does

Using Bolt, you can

  • Create exercises or quizzes of various types: multiple-choice, fill in the blank, graphical, etc.
  • Specify a course as a sequence of alternating lessons and exercises.

Given such a course, Bolt does the following:

  • Guide students sequentially through the course;
  • If the student fails a quiz, repeat one or more lessons and retry the quiz (Bolt courses are designed to be "fail-proof");
  • Store each student's progress in a database, and resume at that point when they return to the course later.
  • Maintain an estimate of each student's mastery of the course material.

Bolt's deeper goal is to let you create better courses: to find out exactly how effective each lesson is, to make statistically valid comparisons of alternative lessons, and to make "adaptive" courses in which different lessons are used for different groups of students. This is done as follows:

  • Bolt records the timing and results of each student interaction (viewing a lesson or completing an exercise) in a database.
  • Demographics (age, sex, education level, nationality) are stored for each student.
  • Course documents can have various types of "control structures". For example, they can specify that a lesson should be chosen randomly from a given set, or should be chosen based on student demographics.
  • Bolt offers macro-analytic tools that let you see the overall flow of students through your course (in the style of Charles Minard's map of Napoleon's march to Moscow in the war of 1812), revealing the points where they are getting bored or discouraged.
  • Bolt offers micro-analytic tools that let you compare a set of alternative lessons, identifying those which are uniformly better, or are better for a particular demographic subgroup.

http://boinc.berkeley.edu/images/minard_napoleon.jpg

Creating exercises

<?php
require_once('bolt.php');
echo 'Conifers are so named because:';
bolt_exclusive_choice(
   array(
      'They are cone-shaped.',
      'They originated during the Coniceous era.',
      'They carry their seeds in cones.'
   ),
   2
);
?>
<?php
require_once('bolt.php');
echo "Click on the dog's nose:";
bolt_image_rect(
   'dog.jpg',
   array(100, 60, 110, 70)
);
?>

Course documents

The structure of a Bolt course is defined by a JSON document:

{
   "name": "Identifying Sierra Conifers",
   "description: "Learn to identify the major conifers of California's Sierra Nevada",
   "content": [
      {
          "type": "lesson",
          "name": "Introduction",
          "file": "intro.html"
      },
      {
          "type": "lesson",
          "name": "The Linnaean hierarchy",
          "file": "linnaean.html"
      },
      {
          "type": "exercise",
          "file": "linnaean.php"
      }
   ]
}

Policies

The bigger picture

Bolt's primary goal is to serve the needs of volunteer computing and skill aggregation projects. However, we believe that it can also become a tool for research in education and cognitive science, for a variety of reasons:

  • Experiments can be deployed with large sample sizes.
  • Experiments can be deployed immediately, with no dependence on the academic calendar. Significant results are available in days rather than months or years.
  • The student population varies widely in age, language, and education level.
  • The student population is self-selecting for interest in the topic area, and has diverse learning goals.
  • Experiments are not limited by standards or syllabi.
  • Experiments can be conducted without dependence on educational institutions or teachers.