メモ

学生の課題の採点をGitHubとTravis CIで自動化することで成績向上や採点にかかる時間短縮などの利点が得られる


GitHubの教育支援ツール「GitHub Classroom」およびGitHubと連携して自動で採点用のプログラムなどを動かすことができる継続的インテグレーションツール「Travis CI」を利用することで、学生の課題提出からフィードバックまでの期間を短くすることで成績評価にかかる時間を従来の2割にし、さらに学生の成績も向上したというシェーン・ウィルソンさんの体験談がGitHubの公式ブログで発表されています。

How GitHub Classroom and Travis CI improved students' grades - The GitHub Blog
https://github.blog/2019-02-12-how-github-classroom-and-travis-ci-improved-students-grades/

シェーンさんはアルスター大学でのC++によるオブジェクト指向プログラミングの授業でGitHub ClassroomとTravis CIを導入してみたそうです。ウィルソンさんはまず準備としてGitHub Classroomにテンプレートとなるリポジトリを用意し、そこに「README(説明書)」「空のC++クラス」「テスト」を作成したとのこと。テストは学生のコードが特定の動作をきちんと行うかを確かめるためのコードで、課題の期日が来ると学生が書いたコードに対してテストを実行し、きちんとクリアできたテストの数によって部分点を与えるという仕組みです。

さらに、学生が課題を出したタイミングでフィードバックを行う仕組みを作るために、上記のリポジトリにTravis CIの設定ファイルとして「.travis.yml」などのファイルを作成したそうです。「.travis.yml」の内容は下記のようになっています。

language: cpp

compiler:
 - gcc

script:
 - make test


Travis CIと連携させることで、学生がリポジトリにコードをアップロードしたりプルリクエストを作成したタイミングでTravis CIが動作し、設定されたコードが自動で実行され、学生にフィードバックされるようになります。この様子を図にすると以下のとおり。


シェーンさんによると、学生はフィードバックが早いことをありがたく感じているそうです。コードを書くたびにテストが実行されることで成功・失敗がすぐに分かるので、学生たちはコードへの理解をより深めることができます。シェーンさんはまた、テストが失敗した場合には「何が間違っている可能性が高そうか」についての情報を出すのが良いとも述べています。

さらに、上記の自動採点の仕組みを使用することで、学生全体の成績が大きく向上したとも述べられています。かつては最初の課題を合格した学生は全体の51%しかいませんでしたが、GitHub ClassroomとTravis CIを利用した仕組みでは課題の合格率は87%以上になったとのこと。さらに学生の満足度も高まったそうです。


また、シェーンさんは成績を付けるのにかかる時間も大きく減ったと述べています。かつては学生のコードをレビューして評価するのに4週間から6週間ほどかかっていましたが、自動採点の仕組みを導入したことで数日から1週間ほどまで減少させることができたとのこと。

GitHubは学生の活動情報も提供しているため、学生を助ける新たな機会を得ることもできます。例えばシェーンさんは、課題に苦戦している学生は締め切りギリギリまでコードをアップロードしていないということが分かったそうです。他にも、何曜日の何時ごろにコードがよくアップロードされているかなどの情報を得ることができます。


この自動採点の仕組みは学生がGitを学ぶ必要があったり、Travis CIが全てのバグを検知できるわけではなかったりするなどの問題があるものの、成績向上のほか受講者数の増加に簡単に対応できるなど得られる物も多く、仕組みを構築するだけの価値があるとシェーンさんは結論付けています。

この記事のタイトルとURLをコピーする

・関連記事
法律をGitHubのプルリクエスト機能を使って修正するその一部始終が公開中 - GIGAZINE

プログラミング学習に「GitHubを使用すること」の効果とは? - GIGAZINE

GitHub生誕10周年、これまでの功績を振り返るとこんな感じ - GIGAZINE

GitHubの無料ユーザーもプライベートリポジトリを無制限で使用可能に - GIGAZINE

「危険なパスワード一覧」から自身のパスワードをこっそり削除したことがバレて逆に世界一有名なパスワードが爆誕 - GIGAZINE

in メモ,   ソフトウェア,   ネットサービス, Posted by log1d_ts

You can read the machine translated English article here.