• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to project page

2022 Fiscal Year Research-status Report

地域連携プログラミング初等教育における操作履歴に基づく機械学習を用いた教え方支援

Research Project

Project/Area Number 21K12177
Research InstitutionNagoya City University

Principal Investigator

渡邊 裕司  名古屋市立大学, 大学院理学研究科, 教授 (60314100)

Project Period (FY) 2021-04-01 – 2024-03-31
Keywordsプログラミング教育 / 機械学習 / 教え方支援 / 地域連携 / Scratch / Python / 自動採点
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ではブロックからなるプログラムを画像とみなして正解プログラムとの類似度を深層学習の畳み込みニューラルネットワークなどで求める方法も検討する。

  • Research Products

    (4 results)

All 2023 2022

All Journal Article (2 results) (of which Peer Reviewed: 2 results,  Open Access: 2 results) Presentation (2 results)

  • [Journal Article] 人工知能を学べる中高生向けPythonプログラミング教室2022

    • Author(s)
      渡邊裕司
    • Journal Title

      電子情報通信学会 通信ソサイエティマガジン

      Volume: 61 Pages: 46-54

    • Peer Reviewed / Open Access
  • [Journal Article] Tendency Analysis of Python Programming Classes for Junior and Senior High School Students2022

    • Author(s)
      Ryouta Kozakai, Toshiki Kobayashi, Zhang Wenxuan, Yuji Watanabe
    • Journal Title

      Procedia Computer Science

      Volume: 207 Pages: 4603-4612

    • DOI

      10.1016/j.procs.2022.09.524

    • Peer Reviewed / Open Access
  • [Presentation] 編集距離を用いたScratchプログラムの自動採点の検討2023

    • Author(s)
      冨本将矢、渡邊裕司
    • Organizer
      電子情報通信学会 東海支部 令和4年度卒業研究発表会
  • [Presentation] Google ColaboratoryのPythonプログラムの自動採点について2022

    • Author(s)
      小酒井亮太、楊群、張文軒、小林敏樹、渡邊裕司
    • Organizer
      電子情報通信学会 信学技報ET2022-6

URL: 

Published: 2023-12-25  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi