慶応大学大岩研究室では、これまでオブジェクト指向プログラミングの授業や、 社会人向けの研修など多くの場でプログラミングの導入教育を実施してきた。 それらのカリキュラムの中で常に主眼を置いてきてきたことに「わかりやすいプログラムを書く」と いうことがあげられる。プログラムはただ動くだけではなく、人にも自分にもわかりやすいもので なければ、保守管理や機能追加をすることができず、結果として役に立たないプログラムとなってしまう。
しかし、初学者や、長く我流でプログラムを書いてきた学習者にはわかりやすさが重要である ということを理解するのは難しい。その一番の理由は今まで人が書いたプログラムを読むという経験が ほとんどなかったためである。そこでカリキュラムではペアでプログラミングをするなどの アクティビティを取り入れ、人のソースコードを読む機会を与えている。 しかし、より多くの人が書いたソースコードを読み、わかりやすさの重要性を実感するためには、 もっと多くの人のソースコードを読みそれについて議論できる環境が必要である。
これまでに述べたような問題を解決するために、我々はプログラミング教育課題提出システム 「OPAS(Open Programming Assignment System)」を開発した。OPASはプログラミング教育の カリキュラムで出される課題を快適に提出し、それを受講者全員でお互いに見合うことができる システムである。
このようなシステムを導入することで、他人のソースコードを読み、それに対して レビューをするような授業を行うことができる。それにより、わかりやすいプログラムを書く 意義を実感し、能力を伸ばすことができる。 また、OPASは課題提出の環境としても有用なものであり、講師の課題回収の 労力も軽減することができる。
※学年は参加当時のもの
2004年10月〜2005年2月
平成15年度 ハイテク・リサーチ・センター整備事業 次世代サイバーアプリケーションの研究の一環 報告書