クラウド型開発環境および e-Learning 利用履歴を用いたプログラ
ミング教育の実施効率向上のための成績予測
天野 直紀** 東京工科大学 工学部

Grade prediction for improved efficiency in programming education
using e-Learning activities within a cloud-based development
environment
Naoki Amano** Tokyo University of Technology, School of Engineering* amano@stf.teu.ac.jp

概要：プログラミング教育実施において、主に金銭コストの面で大きな制約があり、学生数に対する教育スタッフの数は少ないことが多い。本論文ではクラウド型の開発環境と求人情報直結型の e-Learning コンテンツを導入したプログラミング教育の実施例(受講者約 100 名)を報告する。このような形式の授業を通して得られる情報(出席と発言)と e-Learning コンテンツの利用履歴とから、教育実施上のスタッフの学生対応効率を向上させるための成績予測が可能であると考えた。本対象に対して異常検知アルゴリズムを適用した成績予測を行った結果、学生対応効率の向上を期待できる予測精度が得られた。
Abstract: Japanese educators often face major challenges when providing programming education, including severebudget constraints and a high student-teacher ratio. This paper reports our experience of introducing e-Learning
content within a cloud-based development environment, directly linked to student profile information, including
past performance history. To increase educational efficiency, we attempted to predict students’ grades frominformation obtained through the lessons and the cloud service use history. By applying an anomaly detection
algorithm to the objects, we confirmed that it is possible to forecast results that can help us anticipate ways tomaximize efficiency.
キーワード： プログラミング教育、成績予測、異常検知
Keywords: Grade Prediction, Programming Education, Results Forecasting, Anomaly Detection

プログラミング教育を実施する演習環境としては、旧

1. はじめに来いわゆる「計算機室」のような施設がある。これは大学管理下に多数の PC があり、構築済みの整った環境を近年、ICT や AI の活用は様々な分野における基盤・用いるものである。このような環境に向けた様々な管理要素技術となりつつある。このことから、初等教育にプツールがあるが、このような施設を継続的に維持するこログラミング教育の導入が予定される（文部科学省,とは技術的なハードルも高く、高コストとなる傾向があ2019）など、プログラミング教育の必要性が高まっている。更に PC は短期間で陳腐化する傾向があり、頻繁にる。同じような理由から、大学でも多くの学部・学科に更新するとなると、更なるコスト増の要因となる。

おいてプログラミング教育を行うことが重視されつつある。

これに対し、近年では学生自身が所有するノート PCを用いた教育が行われることも多くなってきた。この方1

法では入学時点で学生が購入できる現実的なノートPCるため、本研究では受講者の成績（習得状況）を予測すを常に前提にできることや、PC の保守・管理を含めたることができればよいとした。受講者個々の成績を予測教育効果を期待できるといったメリットがある。しかし、できれば、教育スタッフは成績が悪い受講者に注目する

このような学生の管理下にある PC にプログラミングことが可能となる。これにより受講者の学修上の問題点に必要な開発環境を構築・維持し、演習を実行し続けるにより気づきやすくなり、結果として少人数の教育スタと様々なトラブルが発生する。

ッフでも、多人数の教育スタッフの場合に類似した、よe-Learning コンテンツの大学教育における利用・併り細やかな教育実施が可能となると考えた。

用については、これまでに様々な試み （加藤, 2018;

本研究では、受講者の成績を予測するために用いるこMishra, 2017; Simon, 2018; 鈴木・宮崎, 2017）があとができる情報を、授業内で得られる情報に限定するもり、成績の予測や学習効率の改善が研究されている。のとする。他の科目や前年度までの成績などのデータを近年ではクラウドサービスとして提供されるもの（(た用いれば、更に精度を向上できると考えられる。一方で、

とえば、Google Classroom, https://edu.google.com/

この制限は個人情報管理などの観点から、現実的で実行intl/ja/products/classroom/）も一般的になり、その導しやすい制約と考える。

入は技術的には簡単になった。一方で大学教育との連対象演習においては出欠、発言（授業中に行う説明時携という意味では導入の金銭コストや役割分担が曖昧に講師より問いかけ、希望者による回答を行う。この回で困難な問題がある。

答することをここでは発言と呼称する）の回数を調査しまたプログラミング教育の実施にあたって、教育スタた。
また、3回の試験はいずれも2 問の実技試験である。

ッフの数は純粋に金銭コスト的な課題である。明らかにまた、実技試験時にアンケート形式で後述するクラウド少人数教育、すなわち教育スタッフ数が多い方が教育効サービスの利用状況を調査した。

果は高いと期待できる。しかし、実際には金銭コストの制約から、少数の教育スタッフで行わざるを得ないこと上述のデータから成績を推定することができれば、教育実施効率を改善できると考える。

が多い。
これらの背景に基づき、本論文ではクラウドサービス

2. 演習環境と適切に連携し、学生自身の所有するノート PC を用いた学習環境を前提とし、限られた教育スタッフによって

2.1

対象授業

効率的にプログラミング教育を実施することを目標と本研究で対象とするプログラミング教育は、著者の所する。そのためには受講者それぞれの成績を予測するこ

属する学科において、約 100 名が履修する必修のプロとができれば、教育スタッフを重点的に投入するなどのグラミング演習授業である。この演習は 2 年次を対象と教育実施効果の向上策をとれる。このため、このようなする半期（前期）、各回 2 コマ、15 回実施の演習である。

実施形式の授業を通して得られる情報（出席と発言）とこの演習で用いるプログラミング言語は C#である。

e-Learning コンテンツの利用履歴とから、教育実施効その授業範囲は多くのプログラミング言語に共通的な率を向上させるための成績予測が可能ではないかと考基礎とし、主に変数、配列、条件分岐、繰り返し、関数えた。ここで教育実施効率の向上とは、成績が悪いと予化といったキーワードで示すことのできる範囲である。

測される受講者に対して重点的にスタッフが対応する

受講者は各自が所有するノート PC（Windows 10）

ことで、受講者全体の成績を一定以上にするために必要を用いてプログラミングおよび資料閲覧を行う。受講者なスタッフの人数を少なくすることを意味する。本論文の多く（約 90%）は大学で斡旋販売する同一機種を利用

ではこのような教育実施環境について述べ、その上で成している。しかし、10%程度の学生は各自で異なる機種績予測を行い、その精度が教育実施効率を向上させるもを使用しているため、全員が同一機種という前提はない。のであることを示す。

また、PC 自体の管理は入学時点から受講者自身に委ね限られた教育スタッフによる教育実施効果を改善すられるため、空き容量やインストール済みソフトウェア

2

は多様である。
受講者約 100 名を無作為に 3 分割した 3 クラスで演

これらの総合的な結果として教育実施効率を改善できると期待した。

習を実施した。教育資料は著者が作成した同一の資料を当然、e-Learning コンテンツとしていつでもどこですべてのクラスで使用し、その進行や途中で行う到達度も学習できることで、予習・復習の機会が増加する。こ確認（以降、試験）も同一内容を同一日程で行った。試れによる教育効果は期待できる。

験は第 6、11、15 回目に実施した。各クラスを担当する教育スタッフは講師 1 名、教育補助アルバイト学生 1～3. 運用結果3 名である。
2017 年度（前年度）と 2018 年度（今年度）とで講師

3.1

演習実施上の評価は 3 名とも同一人物で、ほぼ同じ内容の教育を行った。

既報 (天野, 2018)の通り、約 100 名が演習時間中に集開発環境は異なり、前年度は Visual Studio を用い、今中してクラウドサービスにアクセスするため、事前の想年度は後述するクラウドサービスを用いた。

定としては通信経路上の問題とサーバー側の負荷問題とを予想した。

2.2

クラウドサービスの導入

本学の現状の学内コンピューターネットワーク環境

本研究ではプログラミング演習授業において、ギノは、これに対して充分と考えられ、またこれまでの運用株式会社が提供する求人情報提供サービスに直結する実績から、問題は起こりにくいと想定した。また実際に

e-Learning コンテンツである paiza ラーニング

大きな通信トラブルもなかった。

（https://paiza.jp/）と同社の提供するクラウド型開発環境 paiza.IO（https://paiza.io/ja)）を導入した。

クラウドサービスを提供するサーバー側の問題としては、過負荷と推測される状態があったが、これも再度paiza.IO は Web ブラウザーを経由してアクセスするブラウザーからの操作を行うことで解決した。またそのクラウド型開発環境である。これにより、PC 環境に必発生頻度も例外的なものであり、教育実施に支障の出る要な事柄はインターネットアクセス（通信と Web ブラような持続的なものではなかった。

ウザーの動作）だけに限られる。このことで、学生個々前年度はインストール作業だけでなく、2 回目以降のの管理によって生じる PC トラブルのほとんどすべて演習時に PC トラブルが発生し、開発環境が正常に動作を回避し、本質的な学習に集中することができると期待しない事例が発生することもあり、そのたびに教育スタした。特にプログラミングの初学習者にとっては、ソーッフは個別対処に時間を割かれることも少なくなかっスコードの間違いと開発環境のトラブルとの切り分けた。今年度は依存しているのはインターネット接続とブが困難であることが多く、開発環境のトラブルを大幅にラウザーの正常動作だけであるので、このような PC ト削減することの効果は大きいと期待できる。

ラブルへの対応は事実上、皆無であった。

このことは、同時に PC トラブルに教育スタッフが割教育スタッフ全体の評価は、クラウド型開発環境であかなくてはならない時間も削減する。その分、本来のプることにより、PC トラブルの支援にほとんど手間をとログラミング学習についての学生対応に集中的に時間られず、本質的な教育支援に従事できたとのものであっを割くことができる。

た。

ここで用いた求人情報提供サービスに直結する eLearning コンテンツ paiza ラーニングでは、求人とい3.2

受講者の学習成果上の評価う学生の関心が高い、社会的な評価を得ることができる。

既報（天野, 2018）の通り、前年度と今年度の最終成

具体的には学習の後、応募すれば、その学習到達度に応績評価で比較（図１。A > B > C、D は不可、X は履修

じた求人情報とのマッチングが行われる。これにより、放棄。本来は S 評価があるが、この比較では純粋な到達学生に具体的なモチベーションを与えられると期待し度を比較するという視点から S + A の人数を A の人数た。とした）すると、成績評価 B と C の割合が減り、成績3表 1 クラウド利用調査項目
調査項目

数値範囲

paiza ラーニング利用

0 or 1 (なし or あり)

C#学習レベル1～

その他の学習レベル

1～

スキルランクE, D, C, B, A, S
(E=1,D=2,…として数値

図 １ 成績評価の推移化)

評価 A が増加している。一方で不可となる成績評価 D

異 常 検 知 の 算 出 に は R と H2O.ai 社 の h2oも増加した。

（ https://www.h2o.ai/ ） を 用 い た 。 具 体 的 に は全体としてみると、成績評価 D の割合は前年度 6%にh2o.deeplearning と h2o.anomaly を用いて算出した。

対し今年度 12%と増加した。これは人数にすると 6 名

このときのパラメーターは事前の試行の結果からかなの差であり、これを本研究で評価している項目に関してりよい予測が可能と考えられた、activation を tanh、有意な差と判断できるかどうかは、この演習以外の受講

隠れ層を 160 ノードの 5 層、演算回数を 10,000 回とし状況なども考えると判断が難しい。しかしながら、成績た。また、このパラメーターでの試行を各条件で 10 回

評価Dとなった学生のうち50％の受講者がe-Learningずつ行い、その平均値を求めて評価することとした。

コンテンツをまったく利用していなかった。全体での未予測問題を最後（3 回目）の試験の成否（2 = 2 問と使用者の割合は 26％であることから、e-Learning コンも正解、1 = 1 問正解、0 = 2 問とも不正解）を予測する

テンツの使用動向から、成績不良の受講者を予測できたこととした。過去 2 回の試験の両方で 1 問以上正解しと考えられる。ている状態を異常検知における正常な状態と扱うこと

一方で成績評価の程度を GPA（A = 3, B = 2, C = 1, D= 0）と同様に算出し、その平均値を求めると前年度 2.07としてトレーニングを行い、その結果を用いて全データを対象に異常検知（異常値の算出）を行った。

に対し、今年度 2.41 と大きく向上した。特に成績評価異常値の算出結果から、推定値と 3 回目の試験の結果C の割合が 22.3%から 2%と大きく減少していることかとの相関係数を求めた。また、満点（2 問正解）でないら、成績下位層に対する教育効果が顕著であったと考え学生の事前捕捉率の目標値を 70%と設定し、期待できられる。

る教育実施効率改善を注目学生数の削減割合として算出した。ここで注目学生数とは、成績予測により満点を3.3

教育実施効率改善のための成績予測

1.で述べた出欠、発言、試験結果、クラウドサービスの利用状況を対象データとした。クラウドサービスの利取れないと予測された学生数である。その削減割合とは、予測がなければ全学生に注目しなければならず、削減割合は 0 となるような数値となる。

用状況は表１に示す 4 項目を各試験前までを 1 つの区クラウドサービスの利用履歴を用いない、出席・発言・間として調査した。ここで「C#学習レベル」「スキルラ

過去 2 回の試験結果のみからの予測では実際の試験結ンク」はそれぞれ利用した e-Learning システム上での評価、「その他の学習レベル」は C#以外の言語で学習し果との相関係数は −0.477、削減率は 33.6%であった。ている場合にその中で最も高い値を調査した。の成績（試験での正答数）を示す。正答数の少ないグラ

図２に予測結果の例を示す。実線が異常値、赤丸が実際

成績予測の手法として本研究では教師データを別にフの左側で高い異常値がよく見られていることが分か必要としない、異常検知の手法を用いることとした。同る。また、異常検知の試行の中で、注目すべき受講者の一形態で長期間、多人数に実施して十分な量の教師デー捕捉率を 70％とすることができないケースも希に発生タを獲得することは困難であると考えたためである。

した。

4

図 ４ e-Learning 利用に関するサーバーログとア
図 ２ 利用履歴なしでの予測例

ンケート結果の比較による利用履歴が信頼できるものかどうかを確認した（図４）。ここでは演習で用いている C#の講座について分析した。
この図において各期間の左端（青）がサーバーログ、真ん中（橙）がアンケート（表１における「paiza ラーニング利用」）、右端（灰）がアンケート（表１における「C#学習レベル」。この値があるものを利用したとして集計）による到達度から算出した利用者数を示す。サー

図 ３ 利用履歴ありでの予測例

バーログとアンケート調査の結果を比較したところ、全体的な増加傾向は類似しているが、総数に大きな差が見クラウドサービスの利用履歴を加えたときの推定でられた。アンケート項目に誤解等があったものと考え、は相関係数は −0.477、削減率は 43.9%であった。図３

到達度から利用者数を算出したところ、期間 2、3 ではに予測結果の例を示す。基本的な傾向は利用履歴なしのほぼサーバーログと同一の数値が得られた。
e-Learning

場合と同じであり、正答数の少ないグラフの左側で高いコンテンツ上で到達度が計算される以前で学習を終え異常値がよく見られていることが分かる。

た件数が期間 1 には多かったものと推測される。一方で推定値と真値（3 回目の試験結果）の相関係数はサーバーログ全体の示す利用率の推移は類似している−0.477 と同一で、いずれも負の相関があったが、削減ことから、アンケート調査による利用履歴が一定の信頼ずれの条件でも大差ないが、1 問正解（1 問不正解）の4. おわりに率はクラウドサービスの利用履歴がある方が約 10%向性を有していることが確認できた。

上している。これは 2 問とも不正解の受講者の予測はい受講者に対する予測に相違があることが主要因であると考えられる。このため、クラウドサービスの利用履歴の有益性が示されたと考える。

本研究ではクラウド型のソフトウェア開発環境と求人情報に直結した e-Learning コンテンツを用いたプログラミング教育において、教育実施効率の向上につなが3.4利用履歴（サーバーログ）による検証る成績予測について述べた。

今年度は諸事情により個人を特定したクラウドサークラウド型の開発環境と e-Learning コンテンツの導ビスの利用履歴（サーバー側でのログ）を利用すること入により、教育の妨げとなる PC トラブルの多くを回避ができなかった。このため、個人を特定できないようにし、本質的な学習と教育に受講者自身だけでなく教育ス匿名化したログを用いて、前節におけるアンケート調査タッフも集中できる。

5

授業中に得られる情報とクラウドサービスの使用履
歴を用いることにより、教育実施効率の向上が期待できる精度で、成績を予測することが可能であることを確認

mining: A survey. Indian Journal of Science andTechnology, 10, 24.
文部科学省 (2019). 小学校プログラミング教育に関する概要資料 Retrieved from https://www.mext.go.jp/

した。
今後はクラウドサービスの利用履歴のより詳細な項
目を用いることで、成績予測精度を高めることを検討しcomponent/a_menu/education/micro_detail/__icsFiles/
afieldfile/2019/05/21/1416331_001.pdf
Simon, C., & Bugusa, Y. (2018). Survey on data miningている。

approach for analysis and prediction of student
performance. International Journal of Engineering and謝辞
本研究の実施にあたってはギノ株式会社様に全面的にご協力をいただきました。ここに感謝の意を表します。

Technology, 7, 467-470.
鈴木竣丸・宮崎佳典 (2017). 学習継続を志向したリー
ディング学習 Web アプリケーション並びに個人参考文献向け語彙リスト構築の試み 日本 e-Learning 学
会誌, 17, 23-31.

天野直紀 (2018). クラウド型開発環境および求人情報
直結型 e-Learning コンテンツを導入したプログ

著者紹介

ラミング教育実施の評価 日本 e-Learning 学会
第 21 回学術講演会

天野 直紀（AMANO Naoki）

加藤利康 (2018). 授業支援システム Moodle における1999 年 東京工科大学大学院工学研究科システム電子工学専

小テスト結果からの理解度不足の検出機能の提案

攻博士課程単位取得退学。1999 年 東京工科大学助手，2003 年

学習分析学, 2, 1-10.

同講師, 2011 年同准教授。
博士(工学)。
おもにセンシング、IoT、Mishra, T., Kumar, D., & Gupta, S. (2017). Students’performance and employability prediction through data

インフラ監視, 教育支援システムに関する研究に従事。日本 eLearning 学会、電子情報通信学会、土木学会等の会員。

6