Google Classroom で課題を配信する際に、 Classroom のテスト付きの課題を使用することで自動的に採点し、生徒の画面にその結果まで表示されるようになる。具体的な使い方は、Education通信なんかを見るとだいぶ丁寧な説明があるのだが、このシステム、私はあまり好きではないんですよね・・・
社会科みたいに、知ってるか知らないかの二択ならいいんですが、数学としては出来るまで再挑戦をさせたい・・・
そうなると、一度の不正解で回答が出たら困るんですよね・・・
まあ、それくらいは設定できそうなのですが、それ以上に不満なのが、[ア][イ]の両方が合ってて正解、ってしたいのに、そんな設定が見当たらないんですよね・・・
例えば、 $\fbox{ア}x^2+\fbox{イ}x+\fbox{ウエ}$ みたいな解答欄の場合、全部合ってて正解、ってしたいのに、現状のシステムだと $\fbox{ア}$ が正解して 5 点、 $\fbox{イ}$ が正解して 5 点、 $\fbox{ウエ}$ が正解して 5 点、みたいにせざるを得ないんですよね。それって、数学の学習として、何か意味があるんですかね??
って事で、自分で採点システムを構築しました。
具体的には「sample_小テスト」で小テストに回答をし、その結果を Spreadsheet に表示させる、というものです。その自動採点をする Spreadsheet はこちらになります。
- 「フォームの回答 1」に、小テストの回答が入ってきます。
- 「採点」のシートの右側、今回は S 列より右に「importrange」で引っ張ってくる。
- G1:Q1 (オレンジ色の部分)に、各問の正解を入力しておく。
- G2 に「=arrayformula(if(U$2:U="","",if(G$1=U$2:U,1,0)))」を入力する。最後の部分の if 関数は、上にある正解と入ってきた回答が等しければ「1」を、等しくなければ「0」を表示する。さらに U 列に回答がなければそもそも空白にしておく。という指示がされている。これを Q2 までコピーする。(緑色の部分)
- 緑色の部分のうち、問1がすべて正解の場合はメールアドレス(今回は名前)を表示するようにしている。正解なら「1」、不正解なら「0」なので、3 つの積を求めるようにすれば「全て正解(1)か否(0)か」を判断出来る。あとは問5まで同じ設定をするのだが、コピペをした場合、積をとる列を確認する必要がある(黄色の部分)。
- あとは各個人のシートを作成し、「vlookup」でメールアドレス(今回は名前)が見つかるかどうかを見る。具体的には、「=if(iserror(vlookup($A$3,'採点'!A:A,1,false)),0,1)」「iserror」で「vlookup(...)」がエラーかどうかを見て、エラーなら「0」を、それ以外なら「1」を返すようにしている。
- 最後に、別ファイルを作り、「importrange」で自分のシートのみを引っ張って表示する Spreadsheet を作成し、そのファイルを閲覧権限で生徒と共有すれば完成である。編集権限にすると、メールアドレスを書き換えることで他の生徒の成績も見えてしまうので、これは注意する必要がある。
他にも、カスタムして機能を追加することが可能である。実際には、
- GAS で Forms を閉じるスクリプトを作成し、そのスクリプトをタイマーで自動的に実行するように設定することで、提出期限を厳格化した
- 「if」 文を1つ追加して、期限2週間のうち1週間で正解したら2点、期限内に正解したら1点、というように点数に差をつけた
なんてことをやった。
他にも、関数をうまく使えば出来ることが多々ありそうである。
0 件のコメント:
コメントを投稿