研究実績の概要 |
プログラミング教育においては文法のような知識習得だけでなく, 実際にプログラムを作成する体験がその理解には重要となる.そのために,テンプレートとランダム要素によるC言語の例題自動生成ツールの作成と,MOOCを用いた実証実験環境の予備的な実装を行い,評価を行った.具体的には, 反転授業の事前学習のような自習環境におけるプログラミング教育における例題プログラミングを, 1) 文法理解のためのプログラムデバッグ問題(文法的理解), 2) プログラム意味理解のための出力推定問題(意味論的理解), の2 要素に集約し, その例題をテンプレートから自動生成するweb アプリケーションをPHP 言語を用いて開発した. さらに, 簡易的なMOOC と組み合わせた実験環境を構築し, その評価により一定の効果を確認した. 評価対象として,数値積分を実装するC言語プログラミングの学習を用い,そのためのMOOCには,パワーポイントで作った資料から音声合成した音声を付加したコンテンツを利用した.評価においては,バグを含むプログラムからバグを指摘する問題を,例題自動生成ツールを使用する前と後で実施し,その効果を検証した.その結果,文法的理解に関しては効果が確認されたが,意味論的理解に関しては十分な結果を得られなかった.そこで,学習時間全体は変えずに,意味論的理解のための学習時間を増やし,文法的理解の学習時間を減らすことにより再実験をしたところ,文法的理解の効果はそのままで,意味論的理解の効果を高められることが分かり,学習時間の比率の重要性が確認できた. また,関連して,魔方陣パズルを用いた小学生用算数学習ソフトを,Jetson TK1を用いたシステムを構築し,pythonで実装し,その評価を行った.
|