プログラミングの学習可能性を事前に把握するための素養診断テスト
荒木諒*1・高瀬晴彦*2・北英彦*2
Email: 422M203@m.mie-u.ac.jp*1: 三重大学大学院工学研究科博士前期課程電気電子工学専攻*2: 三重大学大学院工学研究科◎Key Words

1.

プログラミング能力，素養診断，プログラミング学習

はじめに

経済産業省によると，2030 年には IT 人材が 79 万人不足すると言われており(1)，大きな課題となっている．このような時代を生きる我々は時代のニーズに応えられるような資質や能力を習得しておく必要がある．小学校では，中学校や高校に先駆けて，2020 年度からプログラミング教育が必修化されている(2)．電気電子工学コースのプログラミング授業の担当をしている著者らにアンケー
トをとり，経験則から図 1 にプログラミング学習者のおおよそのレベル分けを示す(3)．

箱 a，b，c にそれぞれ数値 1，2，3 を格納する

2割
6割① 自分でプログラム作成できる学習者② 教科書を参考にプログラム作成できる学習者③ 講師による指導を必要としている学習者
図 1 プログラミング学習者のレベル分け
プログラミングを学ぶために必要な素養には人によって大きな差がある．プログラミングを学ぶ前に素養の有無を知ることができれば適切な指導をできる可能性がある．著者らはプログラミング演習を受講する学習者を対象とするプログラミング素養診断テストを開発した(4)．
しかし，高得点者の中にもプログラミングに関係する科目の成績の低い学習者がいるため，プログラミング素養診断テストを改善する必要がある．

2.

答え a = 3, b = 3, c = 1
図 2 代入とシーケンス実行問題

プログラミング素養診断テスト

プログラミング素養診断テストではプログラミングを習得するうえで学習者に必要とされる「新しく学んだ構文や意味を理解して，それを正しく使用する能力」と「目的の動作を実現するために表現を組み合わせる論理的思考力」についての診断をしている．この能力を診断するために素養診断テストは代入とシーケンス実行・分岐実行・繰り返し実行に関する問題がある．代入とシーケンス実行問題例を図 2 に分岐・繰り返し実行問題を図 3 に示す．

問題例） 3[⦿5|◎4]【⦿2○4|2】= ( ? )図 3 分岐・繰り返し実行問題

3.

従来の素養診断テストの課題

従来の素養診断テストの結果を図 4 に示す．結果としては素養診断テストとプログラミング演習Ⅰの科目の成績との間に相関があり，赤破線の素養診断テストの点数が低い学習者は科目の成績も低い．この結果からプログラミング能力が低い学習者の弁別は可能である．しかし，問題点としては黄色実線の従来の素養診断テストの点数が高くても，プログラミングに関係する科目の成績が低い学習者がいる点である．考えられる要因として診断できていない素養があることや問題形式に問題があることがあげられる．また，素養はあるがプログラミングにやる気がない学習者がいることも考えられる．

診断できていないプランニング力について診断する．実際のプランニング力とは目的や結果のための処理内容や方針を決定する力のことである．しかし，素養診断テスト
ではプランニング力の中でもプログラミングで結果を得るために処理の順序だけを考え計画する能力を診断する．
フローチャートの穴埋めをする問題を検討した．問題例を図 5 に示す．

4.2 間違い探しの能力
プログラミング演習ではプログラミング作成の演習を行っている．このとき，スペルミスなど簡単なコンパイルエラーを修正できず，プログラムの作成が止まっている学習者がしばしば見受けられる．プログラムの作成を円滑に進めるためには間違い探しの能力が必要である．素
養診断テストで診断できていない間違い探しの能力について検討する．この能力は間違いを見つけ修正する力のことである．問題例を図 6 に示す．

図 4 素養診断テストの結果とプログラミング演習Ⅰの成績との関係

4.

プログラミング素養診断テストの改善

本研究では，プログラミングの学習に苦労する学習者を事前に把握できるようにするために，プログラミング素養診断テストを改善する．方法としては素養診断テス
トに２つのテストを追加する．プログラミングに必要な素養の中で以下の 2 点について検討する(5)．
・プランニング力・間違い探しの能力

4.1 プランニング力
プログラミングで求める動作を実装する際にプランニング力は必要であると考える．よって，素養診断テストで

図 6 間違い探し問題例

5.

結果

プログラミング素養診断テストを三重大学総合工学科電気電子工学コースのプログラミング言語Ⅰで88 名の学習者を対象に実施した．過年度生は全員プログラミング経験者であるため対象外とした．

選択肢（a）等しい角が 2 つ以上（b）3 つの角が等しい（c）1 つの角が直角

図 5 プランニング問題例

5.1 プランニングの結果
図 8 にプランニングの結果を示す．プランニング問題の結果について，高得点への偏りが発生した．プランニン
グ問題では学習者の素養の有無が診断できず，事前に学習者を弁別することができない．要因としては問題の難易度が低かったことや制限時間が長すぎたことがあげられる．

4.

5.

7.

要指導学習者 11 人の内プログラミング言語Ⅰの不合格者は 7 人である．対象者全体の不合格者が 10人であるため検出率は 70%もあり，有用性があると考える．
不合格者の検出率に関しても従来の素養診断テス
トより検出率が高い結果であった．

本手法の利用案

本手法には改善点があるが，本研究の弁別度向上のための診断項目の追加によって弁別できる学習者が増えていることが確認できており，プログラミングの素養を測る手法として効果が期待できる．この手法の利用案を示す．

7.1 プログラミング演習システム PROPEL に反映

図 8 プランニング問題の結果

5.2 間違い探しの結果
図 7 に間違い探し問題の結果を示した．結果としては分布にばらつきがあり良い結果を得られたと考える．図 7の赤枠に囲まれた学習者16 名は間違い探しの素養が無いためコンパイルエラーの修正が遅い可能性が高く，講師は注意が必要である。

PROPEL はプログラミング演習機能や学習者のコーテ
ィング状況把握システムもあり，このシステムによってコンパイルエラーや動作エラーなどを長時間修正できない学習者を PROPEL によって把握することができる．また，講師はタブレットで学習者の座席とコーティング状況を確認できる．利用案としては以下のものである．
・要指導学習者の把握・座席を指導しやすい席に移動
・それぞれの学習者にあった教育や演習

7.2 IRT テスト（項目応答理論）
項目応答理論とは受験者を評価したテストに対する受験者や受験者の解答データを確認することで，そのテストの難易度や，問題の適正度を調べることができる試験理論のことである．これによってテスト項目が受験者の能力を適正に評価できるかを示す指標をつくることができる(6)．本手法ではテスト受験者の分布から要指導学習者を弁別しており，学習者それぞれに正確な結果や診断ができない．よって，本手法を用いて IRT を用いた CAT（コンピュータ適応テスト）の作成を考えている．

8.
図 7 間違い探し問題の結果

6.

考察

表 1 に本研究であるプログラミング素養診断テストの事前判定結果を示した．結果を以下の 5 つについて考察をした．
1. プログラミング素養診断テストで素養項目ごとの低得点者であった 30 人のうち，11 人がプログラミングの能力が低い要指導学習者である．
2. 間違い探しの項目で見ると，事前判定 16 人の内 8人が要指導学習者であり，有用性が確認されている従来の素養診断テストより検出率が高い．
3. 間違い探し問題と従来の素養診断テストの 2 つのテストで低得点者であった 4 人の重複者は要指導学習者であることから，2 つのテストが低得点であった場合，要指導学習者である可能性が非常に高い．

おわりにプログラミングの授業において，プログラミングの素養によってプログラム作成にかかる時間には大きな差がある．教師はプログラミングに苦労する学習者を中心に指導するため，プログラミングを得意な学習者が時間を余らしてしまうのが現状である．
プログラミング素養診断テストは授業を受ける前に学習者を素養の有無を事前に判定することができ，この問題の改善に役立てることを目的としている．
本研究では素養診断テストの弁別度を向上させるためにテスト問題を 2 題追加した．プランニング問題については大幅な改善が必要であるが，間違い探し問題は弁別度向上に期待できる結果となった．
学習者を弁別する際に点数の高低による判別のみであるため判別方法を改める必要がある．結果としては素養項目の追加により，従来の素養診断テストでは弁別できていなかった学習者を弁別できており，目的に近い結果を得ることができた．

表 1 素養診断テスト事前判定結果と不合格者内訳

参考文献(1)

(2)

(3)

(4)

(5)

(6)

経 済 産 業 省 「 IT 人 材 需 給 に 関 す る 調 査 」，
https://www.meti.go.jp/policy/it_policy/jinzai/houkokusyo.pdf（閲覧日 2021 年 7 月 18 日）
文部科学省「小学校プログラミング教育の手引き（第三版）」，https://www.mext.go.jp /content/20200218-mxt_jogai02100003171 _002.pdf（閲覧日 2021 年 7 月 18 日）
高桑稔，北英彦：プログラミング能力向上を目的としたプ
ログラムテストの学習システム，CIEC コンビュータ利用
教育学会，PC カンファレンス 2014 （2014）
小林史生，北英彦：学習者のプログラミングの素養を調査する手法，CIEC コンピュータ利用教育学会，PC カンファ
レンス 2014（2014）
大塚，12 の素養で判断できる！プログラミングに向いている人の特徴，https://pro-academy.tech/programming-suited/（閲覧日 2021 年 7 月 22 日）
宇佐美慧，荘島宏二郎，光永悠彦，登藤直弥：項目応答理論（IRT）の考え方と実践，研究委員会企画チュートリアル
セミナー2019（2019）