Project/Area Number |
23K11355
|
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 | Nihon University |
Principal Investigator |
村上 知里 日本大学, 理工学部, 助教 (30733753)
|
Co-Investigator(Kenkyū-buntansha) |
鈴木 潔光 日本大学, 理工学部, 教授 (10216369)
大原 衛 地方独立行政法人東京都立産業技術研究センター, 企画部経営企画室, 上席研究員 (80463008)
|
Project Period (FY) |
2023-04-01 – 2026-03-31
|
Project Status |
Granted (Fiscal Year 2023)
|
Budget Amount *help |
¥4,680,000 (Direct Cost: ¥3,600,000、Indirect Cost: ¥1,080,000)
Fiscal Year 2025: ¥780,000 (Direct Cost: ¥600,000、Indirect Cost: ¥180,000)
Fiscal Year 2024: ¥3,380,000 (Direct Cost: ¥2,600,000、Indirect Cost: ¥780,000)
Fiscal Year 2023: ¥520,000 (Direct Cost: ¥400,000、Indirect Cost: ¥120,000)
|
Keywords | プログラミング教育 / 学習システム / エラー処理 / アクティビティ図 / プログラミング学習 / エラー修正 / 振る舞い図 / UML |
Outline of Research at the Start |
プログラミング学習の対象には、コードの記述に関するコーディングやエラー修正などがある。さらに近年、専門分野を問わず多言語の学習機会が増加している背景から、言語横断的にエラー修正を学習する必要がある。しかし、授業や講習会において、コーディングは主要であるが、エラー修正を学ぶ機会は少ない。エラーはプログラムの実行に関わる全てのツールで発生する可能性があり、エラー修正のためにはツール間の接続も知る必要がある。そこで本研究では、複数のプログラミング言語に対応し、自主学習や教材に利用可能な、ツールの構成やツール間の処理を学ぶことができるエラー発生位置描画システムの開発を行う。
|
Outline of Annual Research Achievements |
本研究の目的は、複数のプログラミング言語に対応し、自主学習や教材に利用可能な、ツールの構成やツール間の処理を学ぶことができるエラー発生位置描画システムの開発である。エラー発生位置の描画表現を複数のプログラミング言語に対応させるために、ツールの構成と処理の流れを振る舞い図で抽象化する。近年のプログラミング教育での需要が多いPythonをはじめとしたインタプリタ型言語を対象とし、プログラムとエラーメッセージから推定されるエラー発生位置を振る舞い図に描画するシステムを構築する。このシステムの利用者はプログラミングの学習者や教授者である。エラー発生時には、学習者が作成したコードから生成される振る舞い図でエラーの発生位置を確認することができ、振る舞い図を授業や自主学習の教材として利用することができる。 1年目では、まず、コードとエラーメッセージを収集する。次に、実行単位ごとのコードに対して振る舞い図を生成するシステムを開発する。2年目では、エラー発生位置を振る舞い図に描画する機能を追加する。また、ユーザインタフェースの最適化を含むソフトウェア開発を委託する。2~3年目では、開発したエラー発生位置描画システムの評価を行う予定である。 1年目である2023年度では、はじめに、PythonとRによるコードとエラーメッセージの収集を実施した。また、Pythonのコードから取得した抽象構文木を振る舞い図の構文に変換するプログラムを開発した。この際、振る舞い図には、アクティビティ図を採用した。振る舞い図の構文には、UMLダイアグラム作図用言語であるPlantUMLを採用した。これらに加え、アクティビティ図を使用した複数のプログラミング言語におけるエラー処理学習について、その学習効果を調査した。この検討についてまとめ、第71回工学教育研究講演会で成果発表を行った。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
本研究では、ツールの構成やツール間の処理を抽象的に表現してエラー発生位置を描画でき、複数のプログラミング言語に対応したエラー発生位置描画システムを開発することが目的である。1年目の「振る舞い図生成システムの開発」では、次の作業を計画した。(1)インタプリタ型言語であるPythonとRを対象とし、ツールの構成とエラー原因の体系化を行う。それぞれのプログラミング言語におけるエラーメッセージ情報を収集し、エラーメッセージに対するエラー原因と発生位置を網羅的にまとめる。(2)インタプリタ型言語ではコードの行レベルで実行が行われるため、実行単位ごとのコードを読み込み、読み込んだコードに対して振る舞い図を生成するシステムを開発する。 1年目である2023年度では、計画の通り、(1)および(2)を実施した。(1)に対応して、はじめに、PythonとRによるコードとエラーメッセージの収集を実施した。また、(2)に対応して、Pythonのコードから取得した抽象構文木を振る舞い図の構文に変換するプログラムを開発した。(2)の実施の際、振る舞い図には、アクティビティ図を採用した。振る舞い図の構文には、UMLダイアグラム作図用言語であるPlantUMLを採用した。 これらに加え、アクティビティ図を使用した複数のプログラミング言語におけるエラー処理学習の学習効果を検討した。この検討についてまとめ、第71回工学教育研究講演会で成果発表を行った。以上のことから、研究はおおむね順調に進展していると判断する。
|
Strategy for Future Research Activity |
本研究では、ツールの構成やツール間の処理を抽象的に表現してエラー発生位置を描画でき、複数のプログラミング言語に対応したエラー発生位置描画システムを開発することが目的である。1年目の「振る舞い図生成システムの開発」では、インタプリタ型言語であるPythonとRそれぞれのプログラミング言語におけるエラーメッセージ情報を収集した。また、コードに対応する振る舞い図を生成するプログラムを作成した。 2年目の「エラー発生位置描画システムの開発」では、1年目に開発したシステムに、エラー発生位置を振る舞い図に描画する機能を開発する。システムはブラウザアプリケーションとして作成し、コードはテキストあるいはコードを撮影した画像を読み込み、PCやスマートフォン、タブレット画面に対応した画像を出力する。これらに対応したアプリケーションとして、ユーザインタフェースの最適化を含むソフトウェア開発を委託する予定である。加えて、1年目の研究成果を論文として発表する。 2~3年目の「エラー発生位置描画システムの評価」では、開発したエラー発生位置描画システムの評価を行う。プログラミング学習を必要とする情報系および非情報系学科の大学生、プログラミングに関する講習会に参加する社会人などを対象とする。日本大学理工学部および東京都立産業技術研究センターで有志協力者や講習会参加者を募り、実施する予定である。さらに、IoTやAIに関心を持つ中小企業の社会人などを対象として、調査を実施する予定である。
|