1

ある E ラーニング標準コンテンツ パッケージから別の E ラーニング標準コンテンツ パッケージへの自動変換ツールを開発する必要があります。現在、IMS と SCORM を検討していますが、自動変換ツールを E ラーニングから別のパッケージに自動変換するための最良の理由を完全には理解していませんでした。 IMS から SCORM へ、またはその逆。そのようなツールからどのような利点が得られるのでしょうか? これが、私が 1 つのテクニカル ペーパーで得た理由です。誰かがこれを説明して明確にするか、そのようなツールを開発する正当な理由を教えてください:

フォーマット間の自動変換の有用性を推測できます。この変換により、高レベルの自動化で学習プラットフォーム間の相互作用が可能になります。」 - E ラーニング コンテンツの自動変換 Guiterrez、Jose Maria ら著

JavaScript(SCORMパッケージ)

<script type="text/javascript">
<![CDATA[
var numQuestions = 2;
var rawScore = 0;
var actualScore = 0;
var question0;
var question1;
var key0 = 0;
var key1 = 1;
function getAnswer()
        {
            doLMSSetValue("cmi.interactions.0.id","key0b8");
            doLMSSetValue("cmi.interactions.0.type","choice");
            doLMSSetValue("cmi.interactions.0.correct_responses.0.pattern",
                          "0");

            for (var i=0; i < 2; i++)
            {
               if (document.getElementById("quizForm8").key0b8[i].checked)
               {
                  question0 = document.getElementById("quizForm8").key0b8[i].value;
                  doLMSSetValue("cmi.interactions.0.student_response",question0);
                  break;
               }
            }

            doLMSSetValue("cmi.interactions.1.id","key1b8");
            doLMSSetValue("cmi.interactions.1.type","choice");
            doLMSSetValue("cmi.interactions.1.correct_responses.0.pattern",
                          "1");

            for (var i=0; i < 2; i++)
            {
               if (document.getElementById("quizForm8").key1b8[i].checked)
               {
                  question1 = document.getElementById("quizForm8").key1b8[i].value;
                  doLMSSetValue("cmi.interactions.1.student_response",question1);
                  break;
               }
            }

           }
        function calcRawScore(){

            if (question0 == key0)
            {
               doLMSSetValue("cmi.interactions.0.result","correct");
               rawScore++;
            }
            else
            {
               doLMSSetValue("cmi.interactions.0.result","wrong");
            }
            if (question1 == key1)
            {
               doLMSSetValue("cmi.interactions.1.result","correct");
               rawScore++;
            }
            else
            {
               doLMSSetValue("cmi.interactions.1.result","wrong");
            }
        }
        function calcScore2()
        {
           computeTime();  // the student has stopped here.
           document.getElementById("quizForm8").submitB.disabled = true;
           getAnswer();
           calcRawScore();
           actualScore = Math.round(rawScore / numQuestions * 100);
        alert("Your score is " + actualScore + "%")   
           doLMSSetValue( "cmi.core.score.raw", actualScore+"" );
           var mode = doLMSGetValue( "cmi.core.lesson_mode" );
               if ( mode != "review"  &&  mode != "browse" ){
                 if ( actualScore < 50 )
                 {
                   doLMSSetValue( "cmi.core.lesson_status", "failed" );
                 }
                 else 
                 {
                   doLMSSetValue( "cmi.core.lesson_status", "passed" );
                 }
                 doLMSSetValue( "cmi.core.exit", "" );
                 } 
         exitPageStatus = true;
         doLMSCommit();
         doLMSFinish();
        }
]]>
</script>

HTML

<?xml version="1.0" encoding="utf-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
 <!-- Other Code -->
      <body>
        <div id="outer">
          <div class="QuizTestIdevice" id="id8">
            <script src="calculate.js" type="text/javascript"></script>
            <form name="quizForm8" id="quizForm8" action="javascript:calcScore2();">
              <div class="iDevice_inner">
                <div class="passrate" value="50"></div>
                <div class="question">
                  <div id="taquestion0b8">
                    1&gt; TEXT FOR QUESTION 1.
                  </div><br />
                  True<input type="radio" name="key0b8" value="0" id="taoptionAnswer0q0b8" /> 
                  False<input type="radio" name="key0b8" value="1" id="taoptionAnswer1q0b8" />
                </div><br />
                <div class="question">
                  <div id="taquestion1b8">
                    2&gt; TEXT FOR QUESTION 2.
                  </div><br />
                  True<input type="radio" name="key1b8" value="0" id="taoptionAnswer0q1b8" /> 
                  False<input type="radio" name="key1b8" value="1" id="taoptionAnswer1q1b8" />
                </div><br />
                <input type="submit" name="submitB" value="SUBMIT ANSWERS" />
              </div>
            </form>
          </div>
        </div>
      </body>
    </html>

IMS パッケージの Javascript と HTML

<html>
<body>
<div class="QuizTestIdevice" id="id8">
<script type="text/javascript">
<!-- //<![CDATA[
var numQuestions = 4;
var rawScore = 0;
var actualScore = 0;
var question0;
var question1;
var key0 = 0;
var key1 = 1;
var key2 = 0;
var key3 = 0;
function getAnswer()
        {
            for (var i=0; i < 2; i++)
            {
               if (document.getElementById("quizForm8").key0b8[i].checked)
               {
                  question0 = document.getElementById("quizForm8").key0b8[i].value;
                  break;
               }
            }

            for (var i=0; i < 2; i++)
            {
               if (document.getElementById("quizForm8").key1b8[i].checked)
               {
                  question1 = document.getElementById("quizForm8").key1b8[i].value;
                  break;
               }
            }
            }
        function calcRawScore(){

            if (question0 == key0)
            {
               rawScore++;
            }
            if (question1 == key1)
            {
               rawScore++;
            }
        }

        function calcScore2()
        {
            getAnswer();

            calcRawScore();
            actualScore =  Math.round(rawScore / numQuestions * 100);
            document.getElementById("quizForm8").submitB.disabled = true;
            alert("Your score is " + actualScore + "%")

        }
//]]>    -->
    </script>
<form name="quizForm8" id="quizForm8" action="javascript:calcScore2();">
<div class="iDevice emphasis1">
<img alt="" class="iDevice_icon" src="icon_question.gif" />
<span class="iDeviceTitle">SCORM Quiz</span>
<div class="iDevice_inner">
<div class="passrate" value="50"></div>
<div class="question">
<div id="taquestion0b8" class="block" style="display:block">1&gt; QUESTION 1

</div><br/>
<table><tr><td><input type="radio" name="key0b8" value="0" />
</td><td>
<div id="taoptionAnswer0q0b8" class="block" style="display:block">True

</div></td></tr>
<tr><td><input type="radio" name="key0b8" value="1" />
</td><td>
<div id="taoptionAnswer1q0b8" class="block" style="display:block">False
</div>
<br/><input type="submit" name="submitB" value="SUBMIT ANSWERS"/>
</form>
</body>
</html>

ありがとうございます!

4

1 に答える 1

1

手作業でコーディングしたコースを作成するときは、すべてを可能な限りニュートラルに保つようにしています。SCORM などの eLearning 標準は通常、「ラッパー」と呼ばれるものを使用しており、基本的にすべての基本的なエラーと接続プロセスを処理します。

SCORM 1.2 から SCORM 2004 4th Edition のように、あるバージョンから別のバージョンに移行すると、ロジックは実際には変更されず、改善されますが、以前のすべての要素は通常ここにあります。したがって、基本的には同じ関数名を持つ新しいラッパーを作成し、すべての基本はすでに機能しています。そして、ラッパーは根本的に異なるわけではなく、「cmi.xxx」を置き換えるだけです。

ある標準から別の標準に移行するには、基本が同じであれば、別のラッパーを使用でき、それが機能します。これは通常、ほとんどの単純なコースに当てはまりますが、相互作用や演習などを開始するとすぐに、扱いにくくなる可能性があります。これらの悪い瞬間を避けるために、すべての対話ロジックをコースから分離してください。

さて、あなたのコースはおそらく手書きでソフトウェアによって生成されたものではありませんか? そのような場合、「フードの下」にあるものを分析し、いつ、どのようにそれを他の標準の各部分の処理方法に置き換えるかを理解しようとする必要があります。

コンバーターは非常に安全ではないと思います。それはコースに非常に依存し、ラッパーとの相互作用を単純に置き換える方法を見つけない限り、すべてのコースに同じように適用することはできません。しかし、すべての標準に対応したコースを生成できるツールを提供できれば、すでに多くのユーザーを満足させることができます!

質問に戻りますが、eLearning の基準が何であるかを理解する必要があると思います。

  • ブラウザに表示するファイル。
  • LMS に提供するコンテンツを記述するマニフェストファイル。
  • コースとその LMS の間の通信手段。

通常、ファイルは HTML ページであり、周りにあるすべてのものです。マニフェストは、通常 XML で記述されたファイルです。ほとんどの場合、通信は Javascript でセットアップされます。

  • IMS はマニフェスト レベルの標準であり、.xml ファイルに何が含まれているかを記述します。
  • SCORM は、リストの最後の 2 つの項目を考慮した標準です。(AICC に基づいて、コースと LMS の両方が準拠する必要があるものを定義します。)

XML ファイルを変換するツールを作成する必要がある場合は、技術的にはプレーン テキストであるため、どのテクノロジでも実行できると思います。

于 2012-08-15T15:10:35.790 に答える