第 6 章 エレメント空欄補充問題の学
の受講生46名に自習課題として与えた.これらの問題コードは,表6.1に示す授 業の進捗に合わせて,教科書[17]-[20]およびWebサイト[21]-[23]より収集した.
6.2.2 解答状況
表6.1に本自習課題の週毎の解答状況を示す.ここで,繰り返し回数は,学生が 繰り返し採点した回数である.
表6.1: 週毎の問題情報と学生の解答状況
週 出題数 問題の特徴 平均 解答 平均繰り 平均正 空欄数 者数 返し回数 解率%
1 24 symbol 8.41 46 2.59 99.88
2 21 reserved word 7.00 46 1.96 99.36
3 28 class 9.75 46 6.35 98.84
4 10 data type 15.80 46 13.57 97.52
5 3 quiz 20.00 46 12.03 90.71
6 5 file input/output 12.75 46 10.59 99.26
7 12 design pattern 15.50 30 10.95 98.67
8 5 array 11.60 30 6.7 99.58
9 5 data structure 29.20 20 21.26 99.16
10 8 GUI 20.12 16 10.29 99.24
最初の3週間は,教科書[17]中の演習問題のプログラムを利用した.Java言 語の基本となる文法記号や予約語(if,else,forなど),クラス関連の予約語(class,
extendsなど)を空欄とした平易な問題であり,解答状況には問題は見られなかった.
4週目は,Webサイトからダウンロードした10個の問題コードで,データ型宣 言のエレメントを中心とした問題とした.その結果,平均繰り返し回数(平均値 13.57)は前の週の2倍以上となり,平均正答率も低くなった.この理由として,問 題コードがより長くなったことと,空欄数(平均値15.8)が増えたことが考えら れる.
Java言語の基本的な内容の勉強を終えた6週目以降,[18]-[21]のコードを用い て,より応用的な問題を出題した.7週目のデザインパターンの問題では,平均正 答率は低くなった.この理由として,デザインパターンのコードは,複数のクラ スやメソッドで構成され,より複雑であったためと考えられる.
9週目のデータ構造の問題では,平均繰り返し回数が21.26回であり,今回の中 で最大となった.これは,コード中のアルゴリズムの処理の理解が困難なためと 考えられる.
7週目以降,応用的なプログラムコードを対象としており,問題コードの難しさ と共に,解答者の人数が減少していることに注意する必要がある.そのため,今
後,JPLAS利用の低下を防ぐために,学習の進捗状況や受講者のレベルに応じて,
適切な難しさを有する問題を提供することが必要である.
6.2.3 最終点数
本授業では,最終課題として,各受講生に対して,テーマを各自で自由に選択 し,そのJavaアプリケーションプログラム(以下,最終制作物と呼ぶ)を作って もらった.最終製作物には,「ブロック崩し」,「タイピング練習」,「もぐら叩き」,
「イライラ棒」,「ダンジョンゲーム」などが見られた.授業の最終週である15週 目に,本最終制作物の実装結果の発表を行った.その際,テーマの発想の良さと 作成したプログラムの完成度に関して,教員による評価および受講生同士の相互 評価により,100点満点で点数を与え,最終点数とした.その内訳は,教員の評価 は20%,受講生同士の評価は80%とした.
6.2.4 評価のためのグループ分け
図6.1に,受講者の最終点数(縦軸)と正答した空欄数(横軸)の関連を示す.
正答した空欄数が多い受講者の最終点数が高いことが分かる.これ以降の学習効 果の評価のために,正答した空欄数の順に,46名の学生を同じメンバー数の2グ ループA,Bに分けた.
図6.1: 最終点数と正答空欄数の分析
表6.2に,各グループの正答した空欄数の範囲,平均最終点数,平均繰り返し回 数を示す.グループAでは,正答した空欄数が多く,平均最終点数が高いことが 分かる.
表6.2: グループ情報
グループ A B
人数 23 23
正答空欄数範囲 1392〜1460 703〜1357 平均最終点数 81.48 73.74 平均繰り返し回数 7.80 7.68
6.2.5 評価結果
1. 正答空欄数と最終点数の評価
グループA,Bにおいて,正答空欄数と最終点数の相関関係の分析を行っ た.それぞれの結果を図6.2と図6.3に示す.その結果,グループAでは,そ れらに強い相関があること(r=0.60),グループBには,相関がない(r
=-0.15)ことが分かった.この結果から,受講者のJavaプログラミングのス
キルを向上するには,グループAのように,十分な数のエレメント空欄補充 問題を解答する必要があると言える.グループBのように,途中で解答を諦 めた場合,Javaプログラミングのスキルの向上が難しいと言える.
図6.2: グループAの正答空欄数と最終点数の関係図
図6.3: グループBの正答空欄数と最終点数の関係図
2. 繰り返し回数と最終点数の評価
グループAにおける,エレメント空欄補充問題の繰り返し回数と最終制 作物の点数の関連を図6.4に示す.ここでは,負の相関(r=-0.72)が存在 する.グループBにおける,それらの関連を図6.5に示す.ここでは,相関
がない(r=-0.15)ことが分かった.JPLASでは,学習者が何度でも解答の
提出と採点を行うことができるため,一部の学生は,問題コードを理解せず に,機械的に解答の提出と採点を行っているものと思われる.以上の結果で は,そのような行動をした受講生の最終点数が低く,Javaプログラミングの スキルを向上させることができていないことがわかる.
図6.4: グループAの繰り返し回数と最終点数の関係図
図6.5: グループBの繰り返し回数と最終点数の関係図
6.3 2015 年度の授業での評価
次に,2015年度のJavaプログラミング授業における,エレメント空欄補充問題 の学習効果を評価する.
6.3.1 授業での課題
空欄エレメント選択アルゴリズムを用いて,表6.3に示す,エレメント空欄補充 問題を計16問生成し,2015年度の「応用プログラミング言語II」の受講生33名 に自習課題とし,授業の進捗に合わせて与えた.
6.3.2 解答状況
表6.3に,課題毎の解答状況を示す.ここで,空欄数の多い問題の平均正答率が 低いことが分かった.これにより,5.4章での空欄数が問題の難易度に影響を与え る結果が確認された.
6.3.3 最終点数
今年度の授業の評価では,前年度同様,最終制作物での評価に加え,小テスト,
期末筆記試験の結果も考慮した.授業評価を示す最終点数として,100点満点で,
小テストを30%,期末筆記試験を30%,最終制作物を40%で評価した.最終制作 物は,学生のプログラミング能力を直接評価できるものと考え,他よりも高い割 合の40%に設定した.
表6.3: 問題情報と学生の解答状況
問題 問題の特徴 空欄数 解答 平均繰り 平均正 番号 者数 返し回数 解率%
1 配列 8 30 9.17 83.75
2 配列 8 24 4.46 83.75
3 メソッド戻り値 11 24 5.67 86.32 4 メソッド戻り値 6 28 2.68 88.27
5 反復処理 5 25 1.90 91.67
6 変数 3 22 5.45 93.85
7 反復処理 5 26 6.73 93.94
8 メソッド戻り値 6 32 3.50 94.08 9 プリミティブ型 5 19 2.42 95.79
10 例外処理 3 19 4.63 96.49
11 クラフ 7 24 7.61 98.08
12 メソッド戻り値 6 31 6.03 98.39 13 プリミティブ型 2 26 2.00 98.76
14 分岐処理 7 22 7.18 99.68
15 メソッド戻り値 6 27 4.15 100.00 16 プリミティブ型 4 24 6.50 100.00
6.3.4 評価のためのグループ分け
図6.6に,受講者の最終点数(縦軸)と正答した空欄数(横軸)の関係を示す.
正答の空欄数が多い受講者の最終点数が高いことが分かる.これにより,学習評 価のために,正答した空欄数の順に,33名の学生を17名と16名の2グループA, Bに分けた.
表6.4に,各グループにおける,正答空欄数の範囲,平均最終点数と平均繰り返 し回数を示す.グループAでは,正答した空欄数が多く,また,最終点数も高い ことが分かる.
6.3.5 評価結果
1. 正答空欄数と最終点数の評価
グループA,Bのそれぞれにおいて,正答空欄数と最終点数の関係を図6.7 および図6.8に示す.その結果,グループAでは両者に強い相関があること
(r= 0.62),グループBでは相関がない(r=0.32)ことが分かった.これ は,前年度の結果と同じ傾向にあることと言える.
図6.6: 最終点数と正答空欄数の分析
表6.4: グループ情報
グループ A B
人数 17 16 正答空欄数範囲 68〜92 14〜66
平均最終点数 74.51 68.97 平均繰り返し回数 6.25 3.87
図6.7: グループAの正答空欄数と最終点数の関係図
2. 繰り返し回数と最終点数の評価
図 6.9,図 6.10に,各グループでの繰り返し回数と最終点数の関係を示す.
その結果,グループAでは負の相関があること(r=-0.55),グループBで は相関がない(r=-0.11)ことは分かった.これも,前年度の結果と同じ傾 向にあることと言える.
図6.8: グループBの正答空欄数と最終点数の関係図
図6.9: グループAの繰り返し回数と最終点数の関係図
図6.10: グループBの繰り返し回数と最終点数の関係図
6.4 おわりに
本章では,Javaプログラミング学習支援システムJPLASにおいて,提案アルゴ リズムを用いて作成したエレメント空欄補充問題を,Javaプログラミング授業の 自習課題として提示し,その学習効果に関する評価を行った.今後の課題として,
学生の学習レベルに応じたエレメント空欄補充問題の難易度調整や,解答の提出・
採点機能の利用回数の抑制などが挙げられる.