制限時間ありのGoogleフォームWebテストを学校で運用してみた結果 〜withコロナを振り返って〜
こんにちは! だいごです.
私は普段高校で教員をやっているわけですが,今年は新型コロナウイルスに振り回され,思うようにできないことばかり.
しかし,「ない知恵」を振り絞りながら,できないならできないなりに「Withコロナ」を見据えた活動やシステムを構築することが少しだけでもできたような気がします.(…気がします.)
GW中にオフラインとオンラインを組み合わせたイベントを企画したり,
夏休みにオンラインでの親子理科実験教室を企画したり.
もちろん,イベント以外にも授業の仕組み化にも取り組みました.
今回は,その仕組み化の一つであるGoogleフォームを使ったWebテストについて紹介したいと思います.
※ この仕組み化は,まだまだ発展途上ですので,記事を読んで改善点などあれば教えていただけると助かります.
一斉休校,そのとき学校では?
2020年2月末の学校一斉休校,4月の緊急事態宣言.
私が勤めている学校は2月末から5月末まで,生徒がまともに登校できない事態が発生しておりました.
このときの1番の課題は,なんといっても「授業」をどうするのか? ということ.
登校できない状態で,いかにして生徒に学習をしてもらうか?
教員が最も頭を悩ませたことでした.
課題プリントを郵送で送ったり,Zoomで授業をしたり,YouTubeで授業動画をアップしたりと,急ごしらえではありますが今できることを創意工夫してやっていたことが思い出されます.
…
そんな中,ちょっと斜めから状況をみていた私は,
「Youtubeに無料で有益なコンテンツがありふれているこの現代で,自分の授業動画を自分で撮影してYouTubeにアップアップロードすることのコスト…高いなぁ」
と感じており,Youtubeでの授業動画配信はちょっと批判的に見ておりました.もちろん,やらないよりやったほうがいいとは思うのですが.
「う〜ん,教員はYouTubeで授業を配信してやった感あるけど,動画をみる生徒側からすると,どうなんだろう.」
「休校中も積極的に学習を進めるためには何かインセンティブが必要なのではないか?」
以下の検討事項をもとにいろいろ自問自答をしました.
① 休校の期間にどこまで生徒に学習してもらうか?
② どのような形態で,生徒に学習を進めてもらうか?
③ 学習状況の確認を教員がどのようにするか?
④ 生徒の自己学習を促すようなインセンティブは何か?
⑤ この期間に生徒のどのような力を養いたいか?
よし! Webテストだ!
検討事項を自問自答していく中で,難しかったのは②〜⑤.(ほぼ全部!)
どのような形態で? といってもまぁいろいろあるわけで.
・プリントを紙で郵送?
・webテスト
・Zoomで授業?→ネット環境に依存する
・YouTubeで授業動画配信?→ググれば授業動画はいっぱい出てくる.
・Classiでは双方向的なやりとりが難しいのでLINEグループを作成する?
・資料集などはこちらで必要な部分をデータ作成して配信する?
・授業スライドを配信→レポート課題を課す?
・参考図書を紹介して、それを読んでもらう。近くの図書館は閉館していないか?
・問いを投げかけ、それに対する答えをWebテストで記入してもらう。もしくは写真を撮ってアップしてもらう。(→写真を撮ってアップしてもらうのはスマートじゃない感じがする…)
・紙やメディアで課題を郵送するのはコスト的に大丈夫?授業料というかたちで徴収するのであれば、そのコストは賄えるか。
学習状況の確認も「学習状況アンケートを配信するのか?」「休校明けに確認テストをするのか?」など悩んだりとか
「自己学習を促すためのインセンティブってなんだろう?」って考えたりとか
この期間に,生徒には自分で調べる力・学ぶ力を養ってもらいたいし,文章を読解する力を養ってもらいたい.
対応が急を要することを踏まえ,検討した結果,
よし! Webテストだ!
というその時点での最適解を実行することにしました.
Webテストの全体像
まずは,ざっくり全体像を説明します.
ーーーーーーーーーー
教員は,Googleフォームを使ってWebテストを作ります(①).
(本校はClassiという某社のシステムを使っているので,その中でwebテストが作れたら一番よかったのかもしれませんが,緊急事態宣言などの影響もあってか,サーバーがダウン.一時使い物にならないという事態が発生しました.一番使いたい時に使えないシステムに依存するのは危険ということで,テスト作成を「Googleフォーム」,お知らせを「LINE」に統一することにしました.)
制限時間のないWebテストだと,緊張感がないので,Googleフォームのアドオンから以下の2つを使用しました.
・制限時間を設ける「Quilgo(以前はTimify.me)」
・回答期限を設定できる「Form Limiter」
教員は,GoogleフォームのアドオンであるQuilgoから取得した共有URLをお知らせ用のLINEグループに投稿します(②).
※ GoogleフォームからWebテストのURLをコピーして投稿するのではないことに注意.
生徒は,LINEに送られてきたURLを踏むと,メールアドレスを入力するように求められます.
生徒がメールアドレスを入力すると,そのアドレス宛に個人のテスト用URLが送られてきます(③).
メール内のOpen your linkをクリックすると,Webテストを開始することができます.
テスト範囲は事前にLINEのノートに投稿してあるので,生徒は該当する教科書の範囲を学習してテストに臨みます(④).
テスト中は,画面内に制限時間のカウントダウンが表示され,緊張感を醸し出します.
受験後は,入力したメールアドレスにスコアが送られてきて,あらかじめ教員が作成した解説を見ることができます(⑤).
関連する動画も見られます.トライさんのYouTube動画を活用させていただいています.
生徒が回答した情報は,Googleスプレッドシートとして収集することができるので(⑥),それを教員のパソコンで処理して任意の回数ごとに結果を一斉メールで送信します(⑦).
さらに,これらのWebテストの結果は,成績に加味することも事前に生徒へお知らせします(⑧).※ここがインセンティブ.
Quilgoでは,生徒がどれくらい時間をかけてWebテストを解いたのか? というところまでわかります.
(例えば,2分かけて40点の生徒もいれば,3分かけて80点の生徒もいることがわかる.)
ーーーーーーーーー
というのがこのWebテストの全体像です.
Quilgo(以前はTimify.me)の使い方は,なかなかとっつきにくく(説明が全部英語!)初めは戸惑いました.しかし,このアドオンのおかげで,生徒の好きなタイミングで制限時間ありのWebテストに挑戦できるようになりました.
※ Webテストに制限時間(例えば5分など)を設定する場合,配信時刻から回答締め切り時刻までの時間を5分取ることで対応可能ですが,その場合だとうっかり忘れることが頻発する可能性がある.
例えば,9時00分〜9時5分で制限時間5分のWebテストを実施する場合,生徒は9時きっかりにWebテストを始めなければならない.
それはかわいそう.
そして,GoogleフォームでのWebテスト作成には,以下の記事を最大限参考にさせていただきました.
Webテストの目的(位置付け)
【webテストの概要と位置づけ】
・このwebテストは自己学習を促すものです。
・このwebテストの目的は「教科書を読む」ことにあります。文章を読んで、その内容を理解するということは、生きている限り必要な能力です。日々の取り組みを通じて、その能力を養うことが最大の目的です。
・Webテストが配信されるのは、通常授業が実施される曜日(月・水・木・金)の午前9時です。
・実施したwebテストの点数は、後日行われる定期考査の点数に反映する予定です.
・Webテストの解答締め切りは配信日の夜23時までです。それ以降は解答できません。
・解答しなかったwebテストの点数は0点になります。注意をしてください。
・webテストの解答時間は10分です。念のため、時計かストップウォッチで時間も計ると良いかもしれません。
・webテストの設問数は1回あたり10問が目安です。
【webテストの流れ】
1 webテストの範囲に該当する教科書・整理ノートの内容を熟読する。
2 webテストに解答する。(解答時間10分)
3 配信される理解度調査アンケートに回答する。
4 3のアンケートの内容によっては、webテスト翌日に担当教員から直接メッセージが来るかもしれません。理解ができていない部分をサポートする意味でのメッセージになるので、必ず返信をお願いします。
さて,このWebテストで一番大切なところがここです.
上の文章は生徒に送ったものです.
太字で強調をしていますが,あくまでWebテストの目的は
1 自己学習を促し
2 教科書を読むきっかけをつくる
ことにあります.
究極的な話ですが,教科書の内容を読んで理解できれば教員はいりません.みんなと授業を受ける必要性もそれほどありません.
だからこそ,教科書を読んで理解する力を養ってもらいたい.
できれば,その努力が反映される仕組みを作りたい.
そのような願いからこのWebテストの仕組みにしたというわけです.
ちなみにこのWebテストの難易度は,それほど高くはありません.なぜなら,あくまでこのWebテストは教科書を読むきっかけに過ぎないからです.
※ 教科書をしっかり読めば,100点が取れるようになっています.
そもそもWebテストでは,知識量を測ることはできますが,その知識をどのように活用するか? といったことは測ることはできません.つまり,一定のレベルまでしか測れないことは承知済です.
知識が重要なのではなく,得た知識をどのように応用するかが重要であるということも承知しています.
何度も繰り返しますが,あくまでWebテストは教科書を読んでもらうためのきっかけ作りです.
なんでここまで教科書を読むことにこだわるのか? というのはこの本を読んでいろいろ思うところがあったから.
Webテストのメリット・デメリット
どんな方法にもメリットもあれば,デメリットも存在します.
メリット
・スマホで手軽に勉強できる.復習もスマホで.
・勉強する時間帯を好きに選べる.
・努力が数値化される.
デメリット
・うっかり忘れると0点.
・生徒側の操作が少し面倒.回答するためにメールアドレスを入力し,送られてきたメールから回答開始するが,その中でもメールアドレスを入力する必要がある.
→ ユーザーキーボードに,自分のメールアドレスを登録することで一発で入力できるように設定してもらう.
・すでに受験した他の人からどんな問題が出たのかを聞くことができる.(いわゆるカンニングが可能)
→ カンニングについては,実施前に予測していた.しかし,カンニングについては,そもそも生徒本人の問題なので,成績を伸ばしたくないのであればそれはもう仕方のないことだろうと判断.黙認.
・Webテストをつくるのが大変.笑(教員側の問題)
他にもありそうだけど,大体こんな感じですかね.
まとめ 結局,Webテストやってみてどうだったの?
多分,一番聞きたいのはここなんですよね.
実際のところ,やはり生徒自身の意欲や努力に成果も比例するということがわかりました.
うっかり忘れてWebテストを回答していない(つまり,指定した範囲の学習をしていない)人もいるし,
回答締め切り間近でろくに学習せずにWebテストを受けて低い点数をとる人もいるし…
ただ,休校期間中にちゃんとWebテストに向き合って,間違えても解説(その中の動画なども)をちゃんと読んで理解しようとしていた生徒もいました.※もちろん,そういう生徒は普段の成績も良い.
コロナ禍の学校で見えてきた課題.
それはやはり,
・今なんで学んでいるのか?
・学びたいと思う原動力はどこにあるのか?
を生徒自身が理解する(解像度をあげる)機会を学校側が提供していかないといけないのだと痛感しました.
だからこそ,未来への解像度をあげるための未来クルーズ!は学校の役割として重要な活動だと思う.
ちなみに,休校期間が終わってからも,いつでもwithコロナを見据えて授業の予習としてWebテストを継続して実施をしていました.
Webテストで,基本的な知識を押さえてもらい,その知識を押さえている前提で生徒にもう少し深いところまで考えてもらえるような授業を展開する.
というのが理想です.
そもそも,
「ここ覚えてね〜!」
「〇〇は,▲▲という意味があって」
というやりとりって,貴重な授業の時間でするのもったいないじゃないですか!!
「覚える」というのは教員が頑張ることではなく,生徒が頑張ること.
もちろん大事な説明は必要だと思いますが,教科書を読めばわかるようなことを授業中にいちいち説明するのはもったいない!
※ もちろん,教科書だけでは理解が難しい生徒もいるのでそこのサポートは必要です.
おまけ
テスト結果を個別にメールで送るプログラムをpythonで組みました.
生徒の成績をまとめたエクセルの「結果」というシートから,データを取得してメール文に整形するようにしています.
超汚いコードですが,誰かの参考になれば幸いです.
※1
studentsNumber = int(input("メールを送信する生徒は何人ですか?:"))
numberOfTest = int(input("テストは何回実施されましたか?:"))
というところはのちに入力しなくても済むように変更してあります.
#! python3
#! sendMesserseBioTestResult.py
import openpyxl, smtplib, sys
import codecs
import json
from email.mime.text import MIMEText
from email.header import Header
#Excelシートを開き、シートの情報を取得する。
wb = openpyxl.load_workbook("エクセルデータのタイトル.xlsx")
sheet = wb.get_sheet_by_name("結果")
studentsNumber = int(input("メールを送信する生徒は何人ですか?:"))
numberOfTest = int(input("テストは何回実施されましたか?:"))
#webテストを受験している生徒の名前とメールアドレスを一致させて記録する。
mailingList= {}
scoreKey = {}
for r in range(2, studentsNumber + 2):
name = sheet.cell(row = r, column = 3).value
scoreNum = 1
scoreList = {}
for i in range(4, numberOfTest + 4):
score = str(sheet.cell(row = r , column = i).value)
scoreList[scoreNum] = score
scoreNum = scoreNum + 1
scoreKey[name] = scoreList
email = sheet.cell(row = r, column = 2).value
mailingList[name] = email
#メールアカウントへのログイン
#サーバを指定する
#-------
passWord = str(input("メールアカウントへのログインパスを入力してください:"))
server = smtplib.SMTP('smtp.gmail.com',587)
server.set_debuglevel(True)
server.ehlo()
server.starttls()
server.ehlo()
server.login("送信元のメールアドレス",passWord)
#-------
#メール本文の作成
mailText ={}
for name in scoreKey:
bodyText1 = ""
score_av = 0
for i in range(1,numberOfTest + 1):
studentScore = str(scoreKey[name][i])
body = "<br>{}さんの第".format(name) + str(i) + "回目の点数は" + studentScore + "点です。</br>"
bodyText1 = bodyText1 + body
score_av = score_av + int(scoreKey[name][i])
score_av2 = score_av / numberOfTest
bodyText2 = "こんにちは!{}さん。<br></br>".format(name)
bodyText3 = "<br></br><br>ここまでの平均点は、" + "<b>" + str(score_av2) + "</b>" + "点です。</br>" + "<br>次回からも頑張ってね(^^)</br>"
bodyText2 = bodyText2 + bodyText1 + bodyText3
mailText[mailingList[name]] = bodyText2
#メール送信
for email in mailingList:
print("メール送信中{}...".format(mailingList[email]))
message = mailText[mailingList[email]]
msg = MIMEText(message, "html")
msg["Subject"] = "送るメールのタイトルを入力"
msg["To"] = mailingList[email]
msg["From"] = '送信元のメールアドレス'
# メールを送信する
server.send_message(msg)
#------
# 閉じる
server.quit()
#------
このコードは以下の本を参考にして,組みました.(が!書いてる通りにしてもうまくいかなかったので,結局ググりました笑)
Pythonを一通り学ぶなら,これがいいかも▼
これ読みたい笑▼
最後まで読んでいただき、ありがとうございます。いただいたサポートは、高校生と地域貢献をするのための活動費用として使わせていただきます。