• 検索結果がありません。

プログラミング演習における個別指導のためのコーディング状況把握方法の提案 —進捗度の観点から—

N/A
N/A
Protected

Academic year: 2021

シェア "プログラミング演習における個別指導のためのコーディング状況把握方法の提案 —進捗度の観点から—"

Copied!
2
0
0

読み込み中.... (全文を見る)

全文

(1)

プログラミング演習における個別指導のための

コーディング状況把握方法の提案

―進捗度の観点から―

2015SE018五十里貴斗 指導教員:蜂巣吉成

1

はじめに

大学におけるプログラミング演習では,学習者数十名, 指導者1名,TA少数名という形式で授業が行われる事が 多い.演習時間は限られているため,指導者(以下,教員 とTAを指導者と記述)は学習者に対し効率的に指導する ことが求められる.しかし,学習者の進捗には個人差があ る.質問のために挙手した学習者に指導員が指導したり, 指導者が教室を巡回して,ソースプログラムを読み,行き 詰まった学習者を発見して指導したりすることが行われる が,演習時間内に少数の指導者が多くの学習者を効率的に 指導することは難しい. 石元ら[1]はプログラミングにおいて重要な,変数の値 を変化させるという観点に着目し,ソースコード中の演算 と変数の型について同値類分割を行う方法を提案してい る.同値類分割を行うことで読むソースコードの総数を減 らすことができるので,少数のソースコードから全体の進 捗状況の把握を行う.演算が単純な問題については同値類 分割はまとまるが,演算が長くなる問題については記述が 複数あり,分割結果がまとまらないという課題がある.ま た,全体の進捗状況を把握することはできるが,学習者個 人の進捗状況を把握できない. 本研究では,学習者の進捗度の観点から,学習者のコー ディング状況を把握する方法を提案する.進捗度とは,学 習者がどれだけ演習課題を解き進められているかを表した ものである.学習者の記述したソースコードを[1]の方法 を用いて正規化,抽象化したもの(以下,評価コードと記 述)と,あらかじめ用意された模範解答の編集距離を比較 し,その差を比較することで進捗を把握する.しかし,別 解の場合には,解にたどり着いていても進捗が低いと捉え られてしまうことが考えられる.そこで,実行結果通りの プログラムができているかによっても進捗を把握する.実 行例が正しく動作すれば,進捗していると言える.これら から,学習者ごとに進捗度を求め,指導が必要となる学習 者を特定する.

2

関連研究

文献[2]では,ソースコードの行などの4種類のメトリ クスから生徒の学習状況を把握し,その状況に即した指導 を可能としている.文献[1]では,ソースコード中の演算 と変数の型について同値類分割を行うことで,少数のソー スコードから全体の進捗状況の把握している. 文献[2]では,相対的に遅れている学生を特定する点,文 献[1]では,学習者個人の進捗状況を把握することができ ない点で,本研究とは異なる.

3

プログラミング演習における進捗度の提案

学習者がどれだけ演習課題を解き進められているかを表 す,進捗度を定義する.進捗度は0から100とし,100が 完成した状態である. 文献[1]のWebIDEを用いてソースコード,コンパイル 情報,実行結果を収集し,ソースコードは1分ごとに,コ ンパイル情報はコンパイル時,実行結果は実行時にそれぞ れ保存するものとする. 3.1 編集距離の分析 学 習 者 の 評 価 コ ー ド と 模 範 解 答 の 編 集 距 離 を 計 測 す る.学習者s の時刻 t における編集距離による進捗度 progressedis(s, t)の定義を次に示す.

progress

edis

(s, t) = 100

m−xs,t m m:何も書いてない時と模範解答の編集距離 xs,t:t分の学習者sの評価コードと模範解答の編集距離 3.2 実行結果の分析 別解の場合には編集距離による進捗度が100にはならな い.しかし,解にはたどり着いているので,実行結果によ る分析により適切な進捗度を算出できる.実行結果による 進捗度progressexec(s, t)の定義を次に示す. progressexec(s, t) =    30 (最初にコンパイルしたとき) 50 (最初にコンパイルが成功したとき) 50 + a50n (実行結果通りに動いたとき) aは意図通り動いた実行例の数であり,nは実行例の数 である.重みの付け方は課題が終了するまでの時間のかけ 方の割合を基準としている.過去のデータから,解き始め てから半分ぐらいの時間で多くの学習者がコンパイル成功 していた. 3.3 総合的な進捗度の分析 編集距離の分析による進捗度progressedis(s, t)と実行 結果の分析による進捗度progressexec(s, t)の大きい方を その学習者の総合的な進捗度progress(s, t)とする.

4

実験

文献[1]のデータを用い,次の実験を行う. 実験1 編集距離による進捗度が100に近づくかを確認 する. 1

(2)

実験2 実行結果による進捗度が100 に近づくかを確認 する. 実験3 総合的な進捗度により個別指導が必要な学習者が 見つかるかを確認する. 問題は5問ある.実行結果が1つもあってないと実行結 果による進捗度は最大50なので,実験3では進捗度が50 以下の場合を個別指導が必要とする. 今回の実験では編集距離の重み付け(括弧の中の数値) を以下とする. • for⇔whileの置換(0.5) • if⇔for,whileの置換(2) • for,while,if,elseの挿入,削除(2) 波括弧の挿入,削除(0.5) 4.1 結果 実験1:図1に学習者Bの編集距離による進捗度を示す. 図のy軸は進捗度であり,x軸は演習経過時間(分)を表 す.青が問1,赤が問2,黄が問3,緑が問4,紫が問5で ある. 実験2:図2に学習者Bの実行結果による進捗度を示す. 実験3:図3に学習者Bの総合的な進捗度を示す. 0 20 40 60 80 100 120 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 図1 学習者Bの編集距離による進捗度 0 20 40 60 80 100 120 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 図2 学習者Bの実行結果による進捗度 0 20 40 60 80 100 120 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 図3 学習者Bの総合的な進捗度

5

考察

実験1:解にたどり着いていても,別解のある問題だと編 集距離が100にならない場合があるため,編集距離による 進捗度は別解の場合には100に近づくとは言えない.編集 距離による進捗度は初期段階から進捗が把握できる. 実験2:別解の場合でも解にたどり着いていれば,すべて の学習者の進捗度は100になっていたため,実行結果によ る進捗度は最終的に100に近づくと言える.しかし,最初 にコンパイルをするまでは進捗度が0のままであるため, 初期段階では進捗を把握することができない. 実験3:編集距離による進捗度と実行結果による進捗度に より,初期段階で進捗を把握することができ,別解の場合 にも進捗度が100になる.また,進捗度が50以下の場合 に,確かに解に全くたどり着けていない.これらから,総 合的な進捗度により個別指導が必要な学習者が見つかると 言える.しかし,制御構造がない場合に初期段階で進捗度 が100になってしまう.編集距離による進捗度の最大値を 低くすることにより適切に進捗度が求められると考える.

6

おわりに

本研究では,プログラミング演習における進捗度の観点 から,学習者のコーディング状況を把握する方法を提案し た.学習者の評価コードと模範解答の編集距離及び実行結 果に着目し,手法の提案及び実験を行った.学習者の進捗 度を確認することができた.今後の課題としては,指導者 の意向に合わせた他の設問や学習者を対象とした実験,設 問ごとに重みづけをするなどの検証が必要である.

参考文献

[1] 石元慎太郎,蜂巣吉成,吉田敦,桑原寛明,阿草清滋:プ ログラミング演習における構文要素の種類毎のビュー によるコーディング状況把握方法の提案,情報処理学 会,情報教育シンポジウム,8pages (2018). [2] 井垣宏,井上亮文,齊藤俊,山田誠:プログラミング 演習における学生のコーディング過程可視化システ ムC3PVの提案,情報処理学会論文誌,Vol.54,No1, pp.330-339 (2014). 2

参照

関連したドキュメント

この調査は、健全な証券投資の促進と証券市場のさらなる発展のため、わが国における個人の証券

 当社は取締役会において、取締役の個人別の報酬等の内容にかかる決定方針を決めておりま

3. 利用者の安全確保のための遊歩道や案内板などの点検、 応急補修 4. 動植物の生息、 生育状況など自然環境の継続的観測および監視

学期 指導計画(学習内容) 小学校との連携 評価の観点 評価基準 主な評価方法 主な判定基準. (おおむね満足できる

小学校学習指導要領総則第1の3において、「学校における体育・健康に関する指導は、児

析の視角について付言しておくことが必要であろう︒各国の状況に対する比較法的視点からの分析は︑直ちに国際法

具体的な取組の 状況とその効果 に対する評価.

処理 カラム(2塔) 吸着材1 吸着材4 吸着材2 吸着材4 吸着材3. 吸着材3