I2-3

受講者満足度向上を目的とするプログラミング教育の一手法
A Method of Programming Education to Improve Student Satisfaction
館 宜伸*1
Yoshinobu TACHI*1*1 金沢工業大学*1Kanazawa Institute of Technology
Email: tachi@neptune.kanazawa-it.ac.jp
あらまし：本稿では，著者が担当している科目「プログラミング」における，受講者の技術修得と満足度の向上を目的とした実施内容を記載する．科目「プログラミング」では，Moodle（LMS : Learning Management
System）上に構成されている穴埋め問題と，紙面よる小テストを組み合わせることで実現した．これらの実現に至った経緯と結果を報告する．
キーワード：プログラミング教育，LMS，小テスト

1.

はじめに

本研究では，金沢工業大学（以降，本学）の C 言語プログラミングの科目「プログラミング（以降，本科目）」において，受講者の満足度向上を目指したプログラミング教育を実施することで「誰も置き去りにしない」・「誰一人取り残さない」持続可能な教育を実現する．具体的には，課題の量を最小限にし，小テストを段階的な紙面による小テスト (1)を実施することで，他教員作成の期末試験の点数，全体の成績，受講者の理解度と満足度を向上させることを目的とする．紙面による小テストは，受講者と対面した状態で採点し，必要な箇所の復習を促すことで，学習者へのケア(2)を実施する．また，Moodle を活用しているため，プログラミングを理解している受講者は，Moodle 上の難解な問題への挑戦，他の受講生へのサポートにより，更なる向上を期待する．

2.

「プログラミング」科目概要

本章では，本学メディア情報学科の「プログラミング」科目について説明する．
本科目は，２年前学期の必修科目であり，１年後学期の必修科目「プログラミング基礎」の後継科目である．前提となる「プログラミング基礎」で C 言語の基本的文法を学ぶ演習形式の科目である．基本的な文法には，変数から始まり，ポインタ，ファイル入出力，構造体までを含む．
「プログラミング基礎」の授業クラスを 3 分割し，本科目では 3 名の教員で少人数教育を実施する．
本科目では，C 言語の基本的な文法を学んでいることを前提とし，Moodle や小テスト・レポートによる C 言語の演習が中心の科目である．

5) ファイル入出力（コマンドライン引数も含む）
6) ポインタ・他
7) 構造体（スタック・キュー・リストといった事例）
8) 基本アルゴリズム（ソート・サーチ）
2.2 成績評価
本節では，大きく分けて次の３種類となる成績評価を説明する．
 「試験」
40%：
 50 分間の他担当者作成の期末試験
 「レポート」30%：
 4 月末から毎月月末に 3 回(各 10%)
 「小テスト」30%：
 内 10%は Moodle 上の点数の平均点
 紙による小テスト 4 回(各 5%)「試験」は，複数クラスの別クラス担当教員が作成した期末試験であり，「レポート」は，その月の第３週に Moodle 学習進捗の平均までを範囲としたレポート課題である．
「小テスト」のうちの 10%は Moodle 上の 1) 基本文
法～6) ポインタ・他の範囲の平均点とし，全クラス統一している．残りの 20%は紙面による小テストを4 回実施している．

3.

段階的な紙面による小テスト

本章では，Moodle の単元の区切りで実施している紙面による小テストを説明する．
前述のとおり，小テストは 4 回実施しており，次のように小テストを実施した（表 1）．

2.1 Moodle 上の穴埋め問題
本節では，Moodle 上の穴埋め問題の単元（詳細内容）を示す．
1) 基本文法（変数・演算）
2) 制御構造（条件分岐・繰り返し）
3) 関数
4) 標準ライブラリ関数（文字列処理・数学処理）― 181 ―

表 1 Moodle の単元と小テスト
12
3
4
56

Moodle
基本文法制御構造関数
標準ライブラリ関数
ファイル入出力
ポインタ・他

小テスト
１回目
２回目
３回目
４回目

教育システム情報学会 JSiSE2019
第44回全国大会 2019/9/11-9/13

Moodle の単元と小テストの構成で異なっている点を説明する．1 と 2 に関しては，1 の内容である基本文法のみで小テストを実施するよりも，2 の内容である制御構造も含めた方が現実的なプログラムの小テストが可能となることから，1 と 2 をまとめた小テストとして実施した．Moodle の単元 6 は，小テストの 10%に入る最終単元であることと，理解度が低めの単元であるから，小テストを実施せずとも，学習者が必死に学んでくれることを期待し、小テストは実施しなかった．
小テストは，昇級試験のように，点数が半分以下の場合は再テストとし，半分より多くの点を取得した場合は，何回目の小テストであっても成績上の 5%である 5 点満点とした．再テストの回数に応じて内容違いの小テストを作成して実施した．

4.

100

88.5

95.8

50

79.3

79.3

H25

ここで，成績と評語を表 2 に示す．

表 2 成績と評語
C69～60D60～0247.1

H28H29H30

単位修得率(F含)

次に，成績と成績評価項目３つの相関（表 3）を示す．

表 3 成績との相関係数の値
年度
H25H26H27H28H29H30

試験0.93
0.94
0.86
0.96
0.89
0.98

小テスト
0.87
0.97
0.86
0.99
0.94
0.97

レポート
0.92
0.90
0.93
0.95
0.90
0.96

4.2 考察
成績に関しては，図 1 よりほぼ正規分布となっていることが分かる．また，図 2 と図 3 から過去 3
年間，出席不良学生を除くと成績不良学生が 0 であり，再履修者の割合が 40%超であっても，関係性がないことが分かる．小テストとレポートを工夫した
結果として，試験・小テスト・レポート，全ての項目と強い相関（表 1）があることが分かった．
授業時間中，受講者を観察したことで，お互いに教えあうことが多くなったように感じた．また，
Moodle 上の進捗が他者に分からない状況よりも，紙の小テストを受験してもらうことにより，他者の進捗が分かることによる競争心から気力や理解に繋げている学習者の存在も確認できた．

おわりに

本研究では，必修科目「プログラミング」における Moodle による課題とは別に，レポート課題 3 回，Moodle の単元末で実施する紙面による小テストを実施した．過去 6 年の成績の状況から誰一人として置き去りにしない教育が実現できたと実感している．
また，再履修者が最も多い授業クラスを担当したことで，再履修者率に左右されない授業形態を確立できた．今後はプログラミングに限らず，あらゆる科目において，学習者との会話によるケアを重視する予定である．
参考文献

図 2 過去６年の成績（単位未修得 D/F）

B
79～70

26.9

85.7

図 3 過去６年の単位修得率と再履修者率

5.

A
89～80

H271009680.815.4

H26100

再履修者率

4.1 実施結果S成 100
績 ～90

41.4

100

単位修得率

実施結果と考察

図 1 過去６年の成績（単位修得 S/A/B/C）

92.3

6.90

本章では，実施結果とその考察について述べる．
単位修得に関係する，過去 6 年の成績分布（図 1，図 2）と過去 6 年の単位修得率と再履修者率（図 3）を示す．

92.3

F
出席不良

(1) 館宜伸:“LMS を利用した段階的な小テストの実施に関する一考察”, 平成 27 年度 ICT 利用による教育改善研究発表会（2015）(2) 佐藤学(監訳)，ネル・ノディングス:“学校におけるケアの挑戦”, ゆみる出版，東京（2007）― 182 ―