= 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 projects, where volunteers must be trained to perform various tasks; * Volunteer computing projects, where 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 of various types: multiple-choice, fill-in-the-blank, graphical, etc. * Specify a ''course'' as a sequence of lessons and exercises. Given such a course, Bolt does the following: * It guides students sequentially through the course; * If the student fails a quiz, they repeat one or more lessons and retry the quiz (Bolt courses are designed to be "fail-proof"); * Each student's progress is recorded in a database, and when they return to the course later they resume at that point. * Bolt maintain an estimate of each student's mastery of the course material. In addition, Bolt lets you create better courses; specifically, you can * find out exactly how effective each lesson is; * make statistically valid comparisons of alternative lessons; * 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. [[Image(http://boinc.berkeley.edu/images/minard_napoleon.jpg)]] == Creating exercises == {{{ }}} {{{ }}} == Course documents == The structure of a Bolt course is defined by a [RFC:4627 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.