クイズサブスコア

Moodleユーザは時々クイズから小計または小計を抽出する方法を尋ねます。例については、「 マルチグレードクイズ小計セクションのクイズ」を参照してくださいMoodle Quizのサブスコア

以下は、Moodleコードを変更することなく、クイズ(または質問ごとに異なるポイント値を設定できる他のMoodleアクティビティ)からサブスコアを抽出する方法です。少々複雑ですが、うまくいきます。ただし、この方法は、最終的なクイズのスコアを使用または表示する予定がなく、サブスコアのみを表示および使用する場合にのみ役立ちます。

この方法は、 モジュロ演算とFloor関数関数の定義)に基づいています。

ステップ1:クイズを作成して質問の値を設定する

いつものようにクイズを作成することから始めます。ただし、抽出する各サブスコアについて、そのサブスコアの質問値をそのサブスコアと一致する桁数に設定する必要があります。これは例で理解するのが最も簡単です。数学、言語、および歴史という3つの分野からの質問を含むテストを作成しているとします。この例では、数学はトピック1、言語はトピック2、および履歴はトピック3です。

トピックごとに、そのトピック内の質問ごとに異なるポイント値を使用してください。トピック1(数学)では、各質問は1ポイントの価値があります。トピック2(言語)については、各質問は10ポイントの価値があります。トピック3(履歴)では、各質問は100ポイントの価値があります。 (これはあなたの最終的なクイズスコアを無意味にすることになるでしょう。)

重要 :クイズの合計ポイントをすべての質問の合計と同じに設定してください。さもなければ、クイズはあなたがクイズのための最大ポイント数としてあなたが設定したものに基づいてそのスコアを変更するでしょう、そして後のステップであなたの計算は正しく働かないでしょう。

また、後で覚えておくことができるID番号をクイズアクティビティに付ける必要があります。この例では "Pretest"を使います。

ステップ2:トピックごとに成績項目を作成する

次に、トピックごとに新しい手動成績項目を1つ作成します。 重要 :これらの成績項目を、成績の集計方法として自然加重がない別のカテゴリに入れてください。各成績項目を保存した後、項目の[編集]メニューで項目の計算を直接編集します。

計算は次のようになります([[Pretest]]はサブスコアに分割しているクイズスコアのIDです)。

 = mod(floor([[Pretest]] / topicvalue)、10) 

ここで、 "topicvalue"はトピック内の各質問がステップ1の価値がある点数と同じです。したがって、トピック1では、計算は次のようになります。

 = mod(floor([[Pretest]] / 1)、10) 

トピック2では、計算は次のとおりです。

 = mod(floor([[Pretest]] / 10)、10) 

トピック3では、計算は次のとおりです。

 = mod(floor([[Pretest]] / 100)、10) 

成績表計算で使用できる関数の定義

 mod(dividend、divisor):除算の余りを計算します
 floor(number):実数を最大の前の整数にマッピングします

これは、クイズの成績から数字を抽出することです。つまり、トピック1は「1」の数字、トピック2は「10」の数字などを取得します。つまり、トピックごとに最大9個のクイズ問題しか作成できません(それ以外の場合は10の正解の違いはわかりません)。各1点で答え、各10点で1正解。

トピックの最大数は、トピックごとの質問数によって異なり、クイズの最大評点の最大許容値と合計点数の両方によって制限されます。トピックあたり9問で、これらの制限は最大4つのセクションを許容します。多数のトピックやトピックごとの質問については、以下を参照してください。

この時点で、何人かのサンプル生徒と一緒にクイズをテストして、成績表でどのように見えるかを確認します。

:使用可能な集計方法(sum、mean、min、maxなど)を使用して、作成したカテゴリのレベルでこれらのサブスコアを集計し、元のクイズスコアの代わりに結果を表示することができます。必要です。

あなたのサブスコアを使う

今、あなたは各トピックのための手動評定項目を持っています、そしてそれらはあなたが活動への可視性/アクセス制御するのに使用できる値を持っています。たとえば、最初のクイズのサブスコアに基づいて、ラベルを表示するかどうかを設定します。これらのラベルには、コースの一部を修了する必要があるかどうかを知らせるための、学生への助言テキストを含めることができます。学生が事前テストで十分に上手く行っている場合はそのセクションを非表示にしたり、学生が改善のための資料を必要とするには不十分な場合は通常非表示になっているセクションを表示できます。

トピックあたりのトピック数または質問数の増加

トピックあたりの質問数がnの場合は、少なくともn + 1を基にして計算を使用する必要があります。たとえば、トピックごとに10の質問がある場合は、ベース11の計算を使用する必要があります。トピックごとに4つの質問がある場合は、5を底とする計算を使用できます。

トピックごとに10問、ベース11の計算では、最初のトピックの質問のマークは1、2番目のトピックの質問のマークは11、3番目のトピック121、4番目のトピック1331などとなります。トピック1の場合、計算はです
 = mod(floor([[Pretest]] / 1)、11) 
セクション2では、計算は
 = mod(floor([[Pretest]] / 11)、11) 
、セクション3の計算は、
 = mod(floor([[Pretest]] / 121]])、11) 
など

一般的には、

トピックあたりの質問数:n 

計算の基礎:b = n + 1 

トピックtの値(t = 1、2、...):topicvalue(t)=bᵗ-1 

トピックtの計算:= mod(floor([[Pretest]] / topicvalue(t))、b) 

クイズの最大評点:= n * [b⁰+ b 1 + b 2 + ... + b **(トピック数 -  1)] 

合計点数=クイズの最高評点

クイズの最大評点と合計点数の両方が、それぞれデフォルトの90 909と99 999である最大許容値以下である必要があります。たとえば、トピックごとに4問、ベース5の計算では、トピックの最大数は7で、最大評点と合計点数は78 124(90 909以下)に設定されています。 Mishael Ogochukwuさんは、Moodleデータベースの "sumgrades"、 "maxmark"、 "grade"、 "finalgrade"、 "rawgrademax"、 "rawgrade"のデータタイプを調整して、Maximum gradeとTotal Marksの制限を回避したと報告しました。より高い学年番号。