自分が記述したプログラムのモジュール構造について,それが良い設計なのかそうでないのか,また,良くないとすれば何が問題なのか,を理解し,改善することは重要です.しかし,普通のプログラミングの演習とは違い,設計の良し悪しは,作ったコードを動かした結果を見てみる,といった方法では判断できません.我々は,プログラミング自体の演習に比べて,設計の演習が難しい原因のひとつは,(学習者サイドで自律的に得られる)演習成果の良し悪しに対するフィードバックが少ないことに原因のひとつがあると考えています.そこで,本研究では,ソフトウェアモジュールのテスト容易性という観点に着目して,テスト「される側」のモジュールが,自動テストを実現できる設計要素を満たしているかを基準に,学習者にフィードバックを返す仕組みを提案しています.
演習課題の分析~改善を行えるWebシステムを作成し,分析~改善のステップを詳細に分解して,各ステップの学習者の選択からフィードバックを自動的に提供しています.また,自動テスト可能な設計への改善にはオブジェクト指向設計のアイデアを活用する必要があり,オブジェクト指向設計・実装への理解促進の貢献も視野に入れています.
Prototype System & Learning Materials
本研究の成果としてプロトタイプシステムと学習コンテンツを公開しております.
現在利用できる学習コンテンツは,C言語のテスト容易性設計学習用コンテンツと,Java言語のテスト容易性設計学習用コンテンツ並びにモックを活用した設計改善学習用コンテンツです.
References
- Muramatsu, M., Noguchi, Y., Kogure, S., Yamashita, K., Konishi, T., Itoh, Y. (2023). Classroom Practice with Learning Support System for Program Design Using Mock Technique Based on Testability. SN COMPUTER SCIENCE. 4, 624, 19 pages. https://doi.org/10.1007/s42979-023-02096-2
- M. Muramatsu, et al. (2020.11). Introducing a Mock Technique into a Learning Support System for Program Design Based on Testability, Proceedings of the 28th International Conference on Computers in Education, pp.205-214
- 村松 昌哉, 他 (2020.03). Testabilityに基づくプログラム設計学習支援システムのモックへの対応, 人工知能学会 第88回 先進的学習科学と工学研究会, pp.43-47.
- Y Noguchi, et al. (2019.12) Learning Support System for Software Component Design based on Testability, Proceedings of the 27th International Conference on Computers in Education, pp.306-311. (Kao Shuan, Taiwan). (Best Technical Design Paper Award Nominee)
- 伊原大貴, 他 (2019.01), Testability に基づくプログラム設計学習支援システムの構築と教育実践, 信学技報, vol.118, no.427, ET2018-80, pp.19-24.