出席クイズ Q and A

更新日時:

出席サーバ(出席クイズ) Quiz Magic Attendance については、口頭での説明は最低限しかできません。詳細なルールや出席サーバの機能は出席管理システムの説明に書いていますが、受講生から出てきた質問にはこちらで答えたいと思います。

出席クイズについて

出席クイズの予習が大変だ

予習しなくていいです。 好きでもないアニメを見る暇があったら数学の勉強をしましょう。 数学科の場合、学部 3・4 年生の内容は、専門に進んだ後も大事です。

余談ですが、学部の基本的な内容もわかっていない院生は実際にはいます。 行列の掛け算の定義が書けない、優収束定理が言えないような解析学の人もいます。 彼らが将来、大学教員になると思うと、他人事とは言えとても恥ずかしいです。

予習をしたいから予習をするぞ

どうぞご自由になさってください。

毎年「出席クイズの予習」「復習」と言いながら アニメをみる受講生が複数人出てきます。 いっぱいアニメを見る正答な理由ができてよかったですね。 過去問を見て、傾向を分析し、対策してください。好きにしてください。

毎回上位に入りたい

競技性があり、順位がつく以上、毎回 1 位の受講生から最下位の受講生まで必ず誕生します。 だから、勝ち負けにこだわると、やる気がなくなります。 毎週継続していく中で「今日はうまく検索できたぞ」という回が 1 度でもあれば、それでいいと思います。

その上で、どうやって上位に入るかということですが、 出題側として言えることは限られます。 あえて言わせていただきますと、 事前の知識よりも Web 検索能力のほうが重要であるといえます。

受講生のほとんどは正解を知りません。 また、全てのアニメを見ている人は極めてまれです。 ですから、受講生は、何らかのタイミングで、「知らないアニメの内容を Web 検索する」ということが試されます。ここで大きく崩れないことが、総合順位を上げるコツとなっているようです。

出席クイズは、アニメの内容を全く知らなくても、Web で情報を的確に検索すれば解答にたどりつけます。詳しくは次節を御覧ください。

実際、2016 年度夏学期・冬学期で準優勝した受講生は 「自分はアニメを全く見ていない」とおっしゃっていました。

クイズはどうやって作っているのか

今までのほぼすべての問題は私が作ってきました。 私が問題文を書き、裏取りをしています。 この際に「内容を全く知らない人でも解答にたどり着ける想定解法」も用意します。 元ネタを(QMA に参加していない) TA からいただいたことがありますが、 その場合も私の責任で出題しています。

しかしそれだけだと難易度の客観的なチェックに不安が残ります。 そこで、私の先輩の穂坂さんに、事前にほぼ全ての問題を解いていただいております。 穂坂さんはアニメの内容は全く知りませんが、その立場で問題を解いてくださいます。 ここで、想定解法とのズレを検証します。 穂坂さんは受講生思いですから、難しいと 「この問題は途中でヒントを出しましょう」などと言ってくださいます。 逆に「この問題はすぐにサジェストされるから差し替えましょう」と言ってくださることもあります。 それを踏まえ、細かく問題文を直しています。

問題が事前に漏れたりしていないか

事前に問題を知るのは、普段は、私と穂坂さんのみです。 出題に際して協力してくれた方がいる場合は、その人も知っています。 それ以外の人が、事前に問題を知ることはありません。

TA にも QMA 参加者がいますが、 当然ながら、彼らにも問題・解答を事前に提示していません。 公平性については普段から非常に気をつけていて、 普段から今見ているアニメの話はしないようにしています。 クイズの公平性の観点では、全ての受講生・ TA で条件は全く同じです。 受講生の皆さんは、安心して毎回出席していただければと思います。

計算数学 II で受講生が少ない時は、参加者のみなさんに 「どんなアニメ見ていますか」と聞くことはときどきあります。 これは、むしろ特定の人に著しく有利な問題を出題しないためであって、 個人を贔屓する意図はありません。

ゲームセンターにある本家との関係は

問題文の書き方、魔法石の算出方法や組分けの基準、機能のアイデアの参考にしています。 しかし 出席サーバは、本家 QMA とは一切関係ありません

私は本家 QMA は毎バージョンやっています。たくさんやっていたのは 3, 4, 5 です。

いつまで続くか

2017 年度で終わりです。

後継者が見つからなかったためです。特にクイズの出題。

出席サーバについて

どうして出席サーバを自前で作ったのか

もともと ITC-LMS でクイズで出席を取っていましたが、 「出席順にソートできない」「出席時刻が分単位までしか記録されない」 「解答は英数字小文字 8 文字しか入力できない」といった仕様がありました。 中でも困った仕様が「不正解にペナルティがない」ということです。 このため、受講生の中には、答えの候補をとにかく全部入力するという 作戦を取る人も出てきました。それを見た時、これはよくないなと本気で思い始めました。

ITC-LMS の担当の先生にはたまたまお世話になっていたため、 個人的に機能要望を出したのですが、 「実装予定はありません」と言われました(当たり前だ)。 そこで私が自前でサーバを立て、アプリケーションも作ることにしました。

暗号化はどのようにされているか、セキュリティについて

公開できる内容に限って述べると、以下の通りです。

  • 受講生のブラウザを動かしているマシンと出席サーバの間の通信は全て SSL で暗号化されています。
  • 出席サーバの構成は非公開としますが、内部の通信において、途中で暗号化が解除されることはありません。
  • 出席サーバとドメインの組み合わせは Let’s Encrypt で SSL/TLS サーバ証明書を取得しています。
  • アカウント情報や出席情報を記録するデータベース自体も暗号化されています。
  • パスワードはハッシュ化してデータベースに保存していますので、パスワードそのものは保存されていません。
  • 出席サーバのインバウンドポートは、必要ないものは塞いでいたり、必要なものであっても数理科学研究科棟内からしか通さないようになっています。
  • アプリケーションは Ruby on Rails で開発されていますが、その標準的なセキュリティ対策をしています。
  • 出席サーバは必要な時間を除いてシャットダウンされています。

Twitter 連携でアプリケーションが取得する情報は何か

まず前提として、 現在の Twitter の外部連携では OAuth 認証のみサポートしているので、 Twitter アカウントのログインパスワードは取得していません

QMA は、Twitter アカウントからは Read and write アクセスを取得しています。 Direct Message へのアクセス権は取得していません

Twitter における QMA の Application Settings

また、アプリケーションの内部では、以下の 2 つの用途にのみ情報を使用しています。

  • 「Twitter でログイン」機能
  • 「出席をツイートする」機能

したがって、ツイート内容を読み取ることは、実際はありません。やろうと思えばできますがしていませんということです。

以上を踏まえ Twitter 連携するかどうかは、受講生 1 人 1 人の自由です。

コメントする