Introduction to Learning Modules (LMS)

Note

This part is wordy, but we think users can benefit if they understand how LMS works.

At its purest form, a learning module is made up by a HTML webpage. It can contain CSS, javascript, images and even embedded videos.

Each learning module should be a self-contained lesson. For example, you can have a learning module soley on adding unsigned binary numbers and another learning module on adding signed binary numbers.

This allows instructors to write very self-contained tests to verify students’ answers. Every learning module should have an objective, some directions and examples. Learning module is aimed to help students catching up with new concepts just introduced in class.

That being said, Aurum LMS are enhanced by the fact that solutions are checked against Python’s unittests code. This means we can create more complex LMS assignments, rather than just a couple multiple choices embedded in the HTML webpage.

In the next few sections, I will walk you through how the entire LMS interacts.

Aurum LMS

The whole Aurum LMS is made up of three components:

  • scorm LMS
  • teacher test repository
  • BlackBoard

Scorm LMS

This contains the LMS we discussed earlier in the introduction. This contains the HTML web page, CSS and required Javascript.

See LMS Structure section below.

Teacher test repository

This is a Mercurial, Bitbucket-based repository which contains some configuration files and some Python unittest files. For more complex assignment, this repository may have .h header files and a Makefile.

Currently, we require each LMS to have its unique test repository. In other words, you must create a new test repository for each LMS you want to make available to students.

See Test Repo Structure section to learn more about the basic structure of a test repo.

See Full Examples section to see a sample test repo.

You can either keep this repository private or public. If you do choose to make it private, you must grant our system (our Bitbucket user teamglass7311) her READ access to your private repository. Please read Give READ access to teamglass7311 on how to do this. We do not have a preference on whether keeping the test repo private or public.

Note

Remember one test repo for one LMS.

BlackBoard

Last, City College uses BlackBoard so Aurum LMS can also run on BlackBoard. See Upload to BlackBoard on how to upload scorm LMS to BlackBoard.

Once student finishes his or her attempt, a grade is committed on BlackBoard so teacher do not have to do the manual grading.

LMS Structure

The basic structure of a successful, valid LMS looks like this:

top-level-folder/
    - index.html
    - config.js
    - imscp_rootv1p1p2.xsd
    - imslrm.xml
    - imsmanifest.xml
    - imsmd_rootv1p2p1.xsd
    - ims_xml.xsd
    - js/
    - css/
        - other css files

We provide a basic LMS for you.

file name purpose
index.html contains the actual LMS content.
config.js contains LMS configuration. For example, the minimum passing score.
ged.js contains Aurum javascript that talks to aurum web service. This javascript file is version controlled and hosted on Bitbucket. You should use include it as a script in the HTML. https://bitbucket.org/glasslab/aurum-js/raw/stable/ged.js

Warning

From version to version, we will move most of the JS and CSS files out of bundled scorm. Instead of packaging a scorm that has everything, we will have a scorm that has very very minimal javascript and dynamically load in other js and css. We will announce the changes as we go.

config.js

The config.js file contains the following settings.

var problem_id = "xxxxxxxxxxxxxxxxxxxxxxxxxxx";
var access_code = "xxxxxxxxxxxxxxxxxxxxxxxxxx";
var hostname = "https://134.74.77.21/beta/";
var url = "https://134.74.77.21/beta/aurum/static/easyXDM/src/cors";
var maxScore = 45;
var min_passing_score = 35;
attribute purposes
problem_id Unique id for the current LSM. Before running LMS, users have to “create” an exercise object on Aurum web service by running the Aurum CLI and the id is returned.
access_code Authentication code.
hostname Domain of the Aurum web service.
url Full url to the easyXDM script. This script allows BlackBoard to talk to Aurum web service.
maxScore The maxmium score a student can earn from completing LMS. This value should match the total score in your config.yaml.
min_passing_score The minimum passing score ranging from 0 to the value of maxScore.

Note

You don’t have to edit this file manually. You should let the Aurum CLI to do most of the work. See Aurum CLI Commands and Quickstart.

Previous topic

Aurum System Environments

Next topic

Teacher Test Repository

This Page