地域連携プログラミング初等教育における操作履歴に基づく機械学習を用いた教え方支援
Project/Area Number |
21K12177
|
Research Category |
Grant-in-Aid for Scientific Research (C)
|
Allocation Type | Multi-year Fund |
Section | 一般 |
Review Section |
Basic Section 62030:Learning support system-related
|
Research Institution | Nagoya City University |
Principal Investigator |
渡邊 裕司 名古屋市立大学, 大学院理学研究科, 教授 (60314100)
|
Project Period (FY) |
2021-04-01 – 2024-03-31
|
Project Status |
Granted (Fiscal Year 2022)
|
Budget Amount *help |
¥4,160,000 (Direct Cost: ¥3,200,000、Indirect Cost: ¥960,000)
Fiscal Year 2023: ¥910,000 (Direct Cost: ¥700,000、Indirect Cost: ¥210,000)
Fiscal Year 2022: ¥2,340,000 (Direct Cost: ¥1,800,000、Indirect Cost: ¥540,000)
Fiscal Year 2021: ¥910,000 (Direct Cost: ¥700,000、Indirect Cost: ¥210,000)
|
Keywords | プログラミング教育 / 機械学習 / 教え方支援 / 地域連携 / Scratch / Python / 自動採点 / Google Colaboratory |
Outline of Research at the Start |
2020年度から順次必須化される小中高でのプログラミング教育において、教えられる指導者や支援員の絶対的不足は喫緊の課題である。本研究では、代表者やNPO団体が行うプログラミング初等授業における学習者のソースコードと操作履歴から、機械学習によって、まずコードのバグを分類し、そのバグを先生や支援員がいかに指導するかを支援するシステムの開発を目指す。本研究が、プログラミング初等教育における指導者や支援員の不足解消の一助となるとともに、機械学習を用いたシステム開発を大学生が補助することによりAI人材の育成にもつながることが期待される。
|
Outline of Annual Research Achievements |
本研究では、代表者やNPO団体が行うプログラミング初等授業における学習者のソースコードと操作履歴から、機械学習によって、まずコードのバグを分類し、そのバグを先生や支援員がいかに指導するかを支援するシステムの開発を目指す。2022年度の計画は、(1)前年度に続けて学習者のソースコードやアンケートの収集と検定試験の解答利用、(2)プログラミング時の学習者の操作履歴の取得と解析、(3)プログラムの自動採点の方法の検討であった。 (1)については、対象とするプログラミングはScratchとPythonであり、Scratchでは前年度に続けて小学校のプログラミングクラブにおいて検定試験に対する生徒のソースコードを集めた。また、中学校の出前講座において200名近い生徒のScratchコードとアンケートを収集できた。Pythonでは、毎年夏に実施しているプログラミング教室で中学生48名のソースコードとアンケートの収集を行った。さらに、昨年度までに収集したソースコードやアンケートの分析結果をまとめて査読付きの学術雑誌と国際会議で発表した。 (2)に関しては、当大学のパソコンに当該アプリケーションをインストールして、上記のPythonプログラミング教室にて操作履歴を取得した。 (3)については、学習者のScratchやPythonのコードの正誤を自動で判定するために、Google Colaboratoryで入力されたPythonプログラムはJSON形式のノートブックドキュメントであり、Scratchも同じくJSON形式であるため、まずJSON形式のファイルから入力コードを抽出するプログラムを作成した。そして、入力コードから抽象構文木を作成し、レーベンシュタイン距離により正誤判定する方法を提案し、手動採点の結果と比較した。提案手法と結果を電子情報通信学会の教育工学研究会と卒業研究発表会で発表した。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
2022年度の計画の三つの項目について順に自己評価を行う。まず(1)に関しては、順調に進展している。理由として、前年度に引き続き代表者が行う小学生・中学生向けのプログラミン教室において学習者のソースコードを記録できていて、これまでの成果を査読付きの学術雑誌や国際会議で報告しているからである。 (2)については、昨年度は当大学のパソコンに当該アプリケーションをインストールできなかったが、設定などを見直したことで今年度はインストールできて操作履歴も取得できた。そのため、おおむね順調に進んでいるといえる。今後は多くの教室でソースコードとともに操作履歴も取得する。 ただし、(1)と(2)ともに現状では研究代表者が行うプログラミング教室でのコードやアンケートの収集に留まっている。機械学習を用いるのであれば大量のデータが必要となる。そこで、今後は研究代表者だけではなく企業や学校の先生が行うプログラミング教室においてもソースコードと操作履歴を収集する。なお、既設パソコンやタブレットへの操作履歴取得アプリケーションのインストールが不可の場合などは、本研究費で今年度購入したChromebookなどを貸し出す予定である。 (3)に関しては、機械学習ではなくレーベンシュタイン距離を用いて正誤判定をしているものの、手動採点に近い点数が得られていて、おおむね順調に進んでいるといえる。 総じて本研究課題はおおむね順調に進展しているといえる。引き続きデータ取得と解析を進めて結果を整理して査読付きの学術雑誌や国際会議への投稿を行う。
|
Strategy for Future Research Activity |
2023年度の計画として、まずプログラミング教室でのソースコードとアンケートと操作履歴の収集と分析を継続して行う。現状ではコードとアンケート回答との関係分析に留まっているが、現在解析を進めている操作履歴も含めることで興味深い結果が得られるかもしれない。分析対象のデータが増えれば、各年度で結果に相違があるかどうかが分かるとともに、プログラミング学習者の一般的な傾向が明らかになると予想される。 そして、学習者の入力時の正誤の傾向が分かれば、本研究の最終目標である、誤りに対して先生や支援員がいかに指導するかを支援するシステムの開発につなげていける。そして、研究代表者だけではなく企業や学校の先生が行うプログラミング教室においても、ソースコードと操作履歴を収集するとともに、開発した支援システムを試用して評価を行う。 また、検定問題などに対する学習者の解答コードが増えてくると、教室後などに先生が手作業でコードの正誤を判定するのは負担が大きくなる。そのため、現在進めている自動採点の検討も先生の支援として大変重要となる。現状では手動採点と異なる点数となることもあり、抽象構文木やレーベンシュタイン距離とは別に機械学習も適用する。特にScratchではブロックからなるプログラムを画像とみなして正解プログラムとの類似度を深層学習の畳み込みニューラルネットワークなどで求める方法も検討する。
|
Report
(2 results)
Research Products
(6 results)