名古屋高等教育研究第 7 号（2007）

Peer Review に基づいたプログラミング実習
授業支援ツールの開発
北山

ᴾ ᴾ ᴾ ᴾ ＜要梨栄樹輔*里**旨＞

協調学習や相互学習といった学習形態はパーソナルコンピュータを用いる実習関係の授業では有効な形式だと言われている。協調学習のモデルの 1 つとして Peer Review (PR)がある。これは、学習者が設計者とレビュアそれぞれの役割を演じ、設計者の成果をレビュアが評価・確認し、誤りや不明な点を指摘しながらプログラミングを行っていくという方法である。これにより最終的に提出するプログラムからエラーが減少し、自分では思い付かなかったプログラミングテクニックを身に付けられるという効果がある。本研究ではこの PR に基づく学習を支援するための授業支援ツールを開発し、ユーザー評価を行った。
開発したツールはソースプログラムの閲覧・編集機能、チャット機
能、コンパイラと連携できる機能を有している。このツールを用いれば、自分と相手のソースプログラムを比較し、状況に応じて、チャット機能を使って相談をしながらソースファイルを編集し、課題を完成させていくことができる。
アンケート結果より、開発したツールは学生間の協調学習の環境を構築し、学習理解を深めるために役立つことがわかった。その一方で、デザインや機能などの点で改善すべき点が指摘された。

1．はじめに大学における講義の実施形態としては、大講義室における一斉授業がも*名古屋大学大学院情報科学研究科・助教授**現在、大日本印刷（株）

341

っとも一般的である。しかし、大人数に対して同一の講義を実施する方法
では、理解が十分でない学生が講義について行けない、さらには履修放棄するなどの問題、また、理解が進んでいる学生においては講義に興味が持てないなどの問題が生じている。このような問題を解決するために、個別化授業や習熟度別授業が効果的とされているが、実際の大学の講義は大講義室による一斉授業であることが多く、設備や予算などの制約もあって個別化授業や習熟度別授業が困難である。そこで、一斉授業とグループ授業を組み合わせ、グループ内で学生同士が協調学習することで、一斉授業だけの問題点を解決する取り組みがなされている（不破他 2003: 27-38、向後
2003: 293-303）。
このような、協調学習に関連する学習支援ツールやシステムがいくつか提案されている（原他 2001、佐藤他 2001: 529-30、中原他 2000、板東他
2001: 624-32、大畑 2003）。これらに共通している特徴として、導入や管理を行う際に管理者や教員の負担が増加し、既存の授業形態を変更しなければならないことがある。さらに、協調学習を行うために、教員には利用しようとするシステムまたはツールについてかなりの知識が必要となる。
ところで、協調学習モデルの 1 つとして Peer Review(以下 PR)がある（生田目 2004: 2226-35）。これは、大学でのプログラミング実習で用いられている方法であり、受講者(学生)が設計者とレビュアという役割を演じ、設計者の成果をレビュアが評価・確認し、誤りや不明な点を指摘しながらプログラミングを行っていくという方法である。これにより最終的に提出するプログラムからエラーが減少し、自分では思い付かなかったプログラミングテクニックを身に付けられるという効果がある。
そこで、本研究では、PR の考え方を導入して学部 1 年生のプログラミングの講義で用いるための協調学習を実現する支援ツールを開発し、利用アンケートによって評価を行う。PR の考え方によれば、実現しなければならない学習環境は Peer を構成する任意の 2 名間の環境だけであるので比較的簡単なシステムで実現可能と思われる。特に、Peer to Peer (P2P)の技術を利用すれば容易に開発できると期待できる。実際に開発したツールは 3 つのウインドウからなっている。それは、「自分ソースプログラムの編集ウインドウ」、「Peer ソースプログラムの閲覧ウインドウ」、「チャットウインドウ」である。
「自分ソースプログラムの編集ウインドウ」にプログラムを記述すると、同一のものが Peer となる相手のコンピュータ画面の「Peer プログラムソースの閲覧ウインドウ」に表示される。同様にして、

342

Peer Review に基づいたプログラミング実習

相手が記述しているプログラムは、自分のコンピュータ画面の「Peer ソースプログラムの閲覧ウインドウ」に表示される。状況に応じて、チャット機能を使って相談をし、自分と相手のソースプログラムを比較しながら、課題を完成させていく。
本論文の構成は以下のようになっている。第 2 章では研究の背景について述べる。第 3 章では、ツールの評価ユーザーであるプログラミング講義の受講生に対するアンケート調査から、PR を導入する有効性について調査した結果を示す。第 4 章では開発したツールについて簡単に紹介し、第5 章ではそれに対する利用者アンケートを示す。第 6 章はまとめである。

2．背景
2.1

プログラミング講義における学習形態

大学における講義の実施形態としては、大講義室における一斉授業がもっとも一般的であるが、その場合学生のすべての要求に答えるように講義をすることは困難である。講義自体は平均的な学生に対応するように実施されるが、その結果理解の進んでいる学生にとっては興味の持てない講義となり、また、理解の遅れている学生にとってはついて行くことが困難な講義となる。本研究で扱っているプログラミング講義のような場合、毎講義においてプログラミングの実習を行い、レポートを提出することになるので、1 回の講義の遅れが後の学習に大きく支障を来す可能性がある。
そこで、これらの問題を解決するために様々な方法が提案されている。
一つは、Web を用いた CAI によってここの学生の理解度を改善する方法である（不破他 2003: 27-38）。また、個別化授業システムを用いることで、一斉授業と比較して高い評価を得ている報告もある（向後 2003: 293-303）。
このように、学生ごとの個別化授業や習熟度別授業が効果的であるが、実際の大学の講義は大講義室による一斉授業であることが多く、設備や予算などの制約もあって個別化授業や習熟度別授業を導入することは困難な場合が多い。
そこで、一斉授業とグループ授業を組み合わせ、グループ内で学生同士が協調学習することで、一斉授業だけの問題点を解決する取り組みがなされている。一斉授業では、同一の教科書やレジメに従って、多数の学生が同一の講義を受けるのに対して、グループによる協調学習では、数名の学生がグループとなって、相互に協力して学習活動を行う。

343

協調学習に関連する学習支援ツールとしては、授業内で補助的に用いるツール（佐藤他 2001: 529-30、板東他 2001: 624-32）、授業の活性化を目的としたツール（中原他 2000）、初等教育の IT 化を目的としたツール（大畑 2003）、Web ベースのグループウェアによる比較的大規模なシステム（原他 2001）が挙げられる。これらに共通して言える問題点として、導入や管理を行う際に、管理者や教員の負担が増加し、既存の授業形態の変更しなければならないことがある。さらに、これらのツールは協調学習を実現する際に管理者や教員が介入するため、直接的ではなくても、仕組みを導入するためにはある程度の知識を持った管理者が必要となる。これらの点から、学生主導で行える協調学習の形態が望ましいと考えられる。
2.2

Peer Review (PR)PeerReview(以下 PR)は広島国際大学の生田目氏が提唱したモデルであり、協調学習の行い方を提案している（生田目 2004: 26-35）。文献（生田目 2004: 26-35）において、PR は「2 人 1 組で設計者(プログラマ)とレビュアを決め、設計者は設計文書をレビュアに説明し、レビュアの質問に答える」と定義されており、PR がプログラミングの実習に導入された例が紹介されている。それは具体的には次のような手順で行われている。
(1)

PR を行うグループを決定し、次に設計者とレビュアの役割を決め、教員は課題を提示する。

(2)

設計者・レビュアは共に課題を読み、何をすべきか箇条書きし、プログラムのフローチャートを作成する。

(3)

作成したフローチャートを設計者はレビュアに説明し、レビュアは質問や指摘を行う。

(4)

設計者はレビュアの指摘を踏まえてフローチャートを改善し、再びレビュアに説明する。

(5)(2)から(4)のプロセスを繰り返し、フローチャートが完成したら教員立ち会いで設計者はフローチャートを説明する。

(6)

設計者は作成したフローチャートを基にコーディングを行い、実行結果の印刷物をレビュアに見せ説明を行う。

(7)

最終的に、フローチャート、ソースファイル、実行結果を印刷して提出する。

344

Peer Review に基づいたプログラミング実習

この形態で授業を行いアンケートや提出物から PR の有効性の検証を行った結果、お互いに教え合うことで「プログラミングやフローチャートの理解が大幅に向上した」、「評価をすることでプログラミングの良い具体例を見ることができた」、「レビューの結果、フローチャートの誤りが発見できた」といった効果があったと報告されている。さらに、本評価実験では、目標の 60 点を 9 割の学生が達成したという報告もあり、PR は十分に効果があることだという結論に達している。このように PR には一定の評価があり、特にプログラミングの実習には効果があると言える。
2.3

本研究で開発したツール

2.1 節で述べたように協調学習の支援ツールは多種多様提案されているが、導入に際して教員の負担が増加すること、リアルタイム性に欠けること、1 対 1 の協調に関する配慮が不十分であることが問題として想像される。
これに対して、PR は上記の問題を解決し、プログラミングの実習において十分に効果が発揮されるという知見も得られた。しかし前述の研究における PR にはいくつかの問題点があげられる。フローチャートからコーディングに移る際に、教員立ち会いで設計者が説明をするが、これは教員もしくはそれに準ずる立場の人が十分多ければ問題ないが、実際の授業では学生数に対して必ず十分な教員が配置されるわけではない。このことが演習の円滑な遂行に対してボトルネックになる可能性があり、PR の導入により授業進度が遅くなる可能性がある。さらに、実践的なプログラミングを行う授業ではフローチャートは重要視されるが、プログラミング入門等の授業においては、時間的な制約もあるためフローチャートを作らずに始めからコーディングさせるケースも多い。また、上述の研究において、PR は印刷物を介して行われていたが、コーディングは PC を用いて行うため、この過程が演習の円滑化のボトルネックとなる可能性がある。また、元来端末上で行われることを紙面に印刷し直すのはあまり効率的とは思えない。
このような点から、本研究では、紙面を用いたフローチャート作成の過程を省き、教員立ち会いの手間を省力し、かつコミュニケーションが円滑に行えるような環境で PR に基づいて講義を実施できる環境を提供するためのツールの開発を目的としている。ツールは、相手と自分のプログラムソースの閲覧・編集可能なエディタ機能、コンパイラと連携できる機能、

345

チャット機能を有している。これにより、遠隔環境において相手と自分のプログラムソースを互いに閲覧しながら、チャット機能を用いて相談することで協調学習できるようになっている。
図１

図２

PR 実施前の現在の授業に対する印象

PR 実施前の授業に対する疑問点の解決方法

3．協調学習環境の必要性の検討

開発したツールを導入する前に、被験者である学部 1 年生の受講生 21人に対してアンケート調査を行い、現在の授業の内容を理解しているかどうかや、普段の授業の様子、疑問点の解決方法、前述のような PR を支援するためのツールとして求められる機能を問うた。アンケート結果を図 1と図 2 に示す。
これらの結果から、学生の現在の実習に対する理解度はあまり高くなく、不明点については周りのよく理解している人に聞いて解決することが多いという傾向にあることがわかる。しかし、教員、TA や友人と協力して課

346

Peer Review に基づいたプログラミング実習

題に取り組むことには前向きな学生が多く、このことから本実習は PR 導入に適した環境であると言える。
図３

ツールの起動画面

4．作成したツールについて
本ツールは「相手(または、自分)のソースプログラムの閲覧・編集可能なエディタ機能」、「チャット機能」、「コンパイラと連携できる機能」を有している。開発したツールの様子を図 3 に示す。図には 3 つのウインドウが表示されているが、右手前が「自分ソースプログラムの編集ウインドウ」、右後方が「Peer プログラムプログラムプログラムの閲覧ウインドウ」、左が「チャットウインドウ」である。
「自分ソースプログラムの編集ウインドウ」では、ウインドウ内に C 言語のソースプログラムを記述し、右上のボタンをクリックすることで、記述したソースプログラムが画面上でコンパイルされるようになっている。

347

コンパイルに対するコメントは、新たに表示される別ウインドウに記述される。
「Peer ソースプログラムの閲覧ウインドウ」には、Peer となる相手のソースプログラムが表示される。
「チャットウインドウ」の使い方は、Windows Messenger など Windows付属のチャットソフトとほぼ同一の利用方法である。つまり、送信先アドレスに、Peer のアドレスを入力した後、上側のウインドウに送信する文章を記述して入力キーを押す。すると、その文章が相手に送信される。また、相手から受け取ったメッセージは下ウインドウに表示される。
ツールを起動すると、最初に Peer となる相手を入力する。講義においては、「自分ソースプログラムの編集ウインドウ」にプログラムを記述すると、同一のものが Peer となる相手のコンピュータ画面の「Peer ソースプログラムの閲覧ウインドウ」に表示される。この際、特定のボタンなどを押す必要はなく、リアルタイムにプログラム記述の様子が相手から見える。
同様にして、Peer となる相手が記述しているプログラムは、自分のコンピュータ画面の「Peer ソースプログラムの閲覧ウインドウ」に表示される。
これにより、自分のプログラムソースと相手のプログラムソースを比較し、状況に応じて、チャット機能を使って会話や相談をし、ソースファイルを編集しながら、課題を完成させていくことができる。また、本ツールの導入の仕方や操作の方法に関する Web のマニュアルを外部からアクセスできる Web サーバにアップロードし、参照できるようにしている。

5．評価アンケート
本ツールの評価は、事前アンケートと同様に、学部 1 年生の受講者 20名により行った。まず、20 名を 10 名ずつの集団に分け、一方を A グループ、他方を B グループとした。A グループには、ツール導入前に協調学習支援ソフトウェアを使ってもらうことを説明した。B グループには、この説明に加え、PR とツールの目的の説明を行った。その後、両グループにツールを導入してもらった。ツール使用後にそれぞれアンケートを行った。
アンケートはツールの使用者の主観による 5 段階評価と選択形式、自由記載を含むものである。ツール使用者の人数及びアンケートの回答者数は、
A グループは 10 人中 5 人、B グループは 10 人中 8 人であった。

348

Peer Review に基づいたプログラミング実習

図４5.1

PR 実施前の授業との比較

ツール導入前後での講義評価の変化

以前の授業とツール導入後の印象の差を質問した結果を図 4 に示す。この質問は主観による 5 段階評価によって行ったため、図 4 はそれらの算術平均のグラフを表す。以前の授業と比較して、変化が見られなかった場合は 1〜5 の選択肢のうち、3 を選択することになっている。このため、ツール導入による授業の印象に変化が感じられない場合は算術平均が 3 に近づく。以前よりも改善された項目をみると、A グループでは「自分が友人をよく教えた」、「エラーの発見が容易になった」であったのに対し、B グループでは「課題が早く解けた」、「エラーの発見が容易になった」、「自分が友人からよく教えられた」、「理解が深まった」であった。
図５

ツールの効果(A グループ)

349

図６

5.2

ツールの効果(B グループ)

ツールの演習への効果

ツールの演習への効果を確かめるため、1 つの項目に関して否定的か肯定的かを複数回答可能として質問した。例えば、演習の円滑さを問う質問
では、「演習がスムーズにできた」と「演習がスムーズにできなかった」の両方の選択肢を用意し、「スムーズにできた」を選択した場合は正の回答、「スムーズにできなかった」を選択した場合は負の回答として分類した。
A グループに関しては図５、B グループに関しては図６の結果が得られた。
A グループでは「理解が深められた」ことに対する肯定的な意見が多く、「導入のしやすさ」に対しては否定的な意見が多かった。一方、B グルー
プでは「協力して課題に取り組めた」ことに対する肯定的な意見が多く、「課題がスムーズにできた」に関しては否定的な意見が多かった。
図７

350

良い評価を受けた機能

Peer Review に基づいたプログラミング実習

5.3

ツールの良い点

本ツールを使ってみて良かったと思われる点について複数項目選択可
能で質問した結果を図７に示す。いずれも「チャット機能」に対する評価が圧倒的に高かった。この問の選択肢以外にも良かったと思われる点がある場合は自由記載で意見を求めた結果、A グループからは「面白かった」、「使っていて良いと思った」といった意見が、B グループからは「授業に邪魔にならずに会話が可能」、「スムーズなコミュニケーションが取れて良い」、「チャット機能は間違いを指摘し合えて良い」といったような意見が得られた。

図８5.4

改善すべきとされた機能

ツールの改善すべき点

改善点についても良かった点と同様の方法で質問した結果を図 8 に示す。
A グループでは「エディタ機能」の、B グループでは「ウインドウの配置」の改善がそれぞれ最も望まれたが、数値的にはそれほど多くない。また、
この選択肢以外にも改善すべき点がある場合は自由記載とした結果、「エデ
ィタ機能の改善」と関連して、「フォントサイズが小さい」、「タブが効かない」、「行数が分かりにくい」、「ウインドウ配置」の改善と関連して、「ウインドウの数が多い」、「スクロールの仕方がおかしい」といった意見が得られた。

6．まとめ

本研究では、協調学習の 1 モデルである Peer Review (PR)の考え方を応351

用したツールを開発し実際の授業に導入し、評価実験を行った。
評価実験の結果より、ツール導入によって「エラーの発見が容易になった」、「自分が友人をよく教えた」、「自分が友人からよく教えられた」などの回答が多く、その結果「理解が深められた」、「協力して課題に取り組めた」などの意見が多くあげられた。以上のことから、開発したツールは学生間の協調学習の環境を構築し、学習理解を深めるために役立つことがわかった。
つづいて、ツール自体の使いやすさなどについてアンケートをとった。
まず、本ツールを使ってみて良かったと思われる点について複数項目選択可能で質問した結果、「チャット機能」に対する評価が圧倒的に多く、「授業に邪魔にならずに会話が可能」、「スムーズなコミュニケーションが取れて良い」、「チャット機能は間違いを指摘し合えて良い」といったような意見が得られた。一方で、改善すべき点については、「エディタ機能」の「ウインドウの配置」等についての指摘が多くみられた。
今後は、ツールのユーザビリティを改善しつつ、協調学習の教育効果として期待される「未知のコーディングテクニックの習得」が実現できるような環境を構築するような方法を検討していきたいと考えている。

参考文献
大畑 隆、2003、小学校における校内イントラネット等の活用に関する実践的研究、岩手県立総合教育センター教育研究報告書。
(http://www.iwate-ed.jp/db/db1/ken̲data/center/h15̲ken/15̲25.pdf)
佐藤弘毅・柳沢昌義・赤堀侃司、2001、授業において生徒のフィードバックを表示する電子化黒板ソフトウェアの開発と評価、日本教育工学会第 17 回全国大会公演論文集、529-30。
中原 淳・山内 祐・西森年寿、2000、携帯電話を活用した学習コミュニティ活性化支援ソフトウェアの開発と、バーチャル・ユニバーシティ「iii online」
における評価実験、平成 15 年度電気通信普及財団研究助成報告書。
生田目康子、2004、ピア・レビューをともなうグループ学習への評価、情報処
理学会論文誌、45(9): 2226-35。
原 潔・清水敏彦・井上裕司・今福美佐緒・岡本敏雄・香山瑞恵・吉原章司・
上田芳郎・伊東直幸、2001、協調作業上の規格の実現性を裏付ける分散協調
学習基盤と学習運営システムの開発、情報処理振興事業協会平成 13 年度成352

Peer Review に基づいたプログラミング実習

果報告書。
(http://www.ipa.go.jp/SPC/ report/01fy-pro/)
板東宏和・根本秀政・澤田真一、2001、黒板の情報化による教育ソフトウェア、情報処理学会論文誌、421(9): 624-32。
不破 泰、中村八束、山崎 浩、大下順二郎、2003、Web を用いた CAI シス
テムによる大学講義の高度化とその評価、教育システム情報学会誌、20(1):27-38。
向後千春、2003、Web ベース個別化授業システムによるプログラミング授業の設計、実施とその評価、教育システム情報学会誌、20(3): 293-303。

353