Abstract
大学の情報系学部学科の初年次における必修のプログラミング教育では,数十名から数百名の学生を一度に指導する必要がある.さらに,初めてプログラミングを習う初学者から,プログラミングをやったことがある経験者までを対象とした講義を行う必要があるため,各講師は趣向を凝らしている.
しかし,COVID-19の影響により大学のプログラミング教育がオンライン講義で行われるようになってきた.プログラミングのオンライン講義を行うことは容易ではなく,学生がタイピングを行う様子や顔色が対面講義に比べて見にくくなることで理解しているのかの確認ができないことや,オンライン通話特有の会話のしにくさによって指導がスムーズにできないことなど,大きな障壁がたくさんある.そこで,本研究では,大学初年次におけるプログラミングのオンライン講義の際に生じる最も重大な2つの問題点に着目した.
対面講義では,講師が学生の表情や手が動いているかどうかなどから苦手な学生を把握でき,個別の指導や対応を行うことが可能であったが,オンライン講義では,どの学生が苦手かを把握することが困難になった上に,オンライン上での指導には限度があるため適した指導が出来ず,大きな問題となる.ここで,初学者がプログラミング学習においてつまずく点は様々であるが,これまでの数年にわたるプログラミング教育の経験から,タイピングの技量と基本的命令の理解が不足していることが観察されていた.タイピングの技量不足については,タイピング速度の遅さや,プログラミングに利用される英単語,カッコやセミコロンなど特殊文字の入力に抵抗があることが妨げとなっていた.タイピング練習を行うためのタイピングゲームもあるが,多くは英単語を入力の対象としているため,プログラミング特有のタイピング練習には時間がかかってしまう.また,基本的命令を理解せずに学びを進めてしまうと,新しい命令や複雑な使い方を行うときに学習を止めてしまう.さらに,使いたい命令を思い出せないときに調べる手間が生じるため,学習の妨げになっていた.そこで,講師の指導が行き届かない問題を解決するためにプログラミングのタイピング練習を行うことでプログラミングが苦手な学生を減らせると考えた.そのために,学生のタイピングの技量と基本的な命令の理解が不足していることに着目し,プログラムの逐次的な実行などによってプログラムの動作を把握しつつ,自身や他者と競いながらタイピング速度を上げつつプログラムを学ぶ,プログラムタイピングシステムtyping.runを提案および実装する.本システムを演習型プログラミング講義にて,講義前までの課題として11回ある講義ごとに複数回学生に取り組むことを課した運用の結果,学生118名によって88,293回分のタイピングが行われた.その分析より,タイピング速度にばらつきがなくなっていることや全体的なタイピング速度が向上していることから学生のタイピング技量の底上げが出来ていることを明らかにした.また,アンケート結果より,システムを繰り返し使用することで基本的命令の定着が可能であることが示唆された.
次に,プログラミング教育では学生の質問に対応するTA(ティーチングアシスタント)が必要不可欠である.しかし,学生の人数や質問数に対してTAの人数が十分でないことも多く,講義を円滑に進めることの妨げになっている.また,学生が手を上げた順番を考慮しながらTAが対応する必要があることに加えて,TAが学生の質問を解決できずに時間がかかったり精神的な負担がかかったりするといった問題もあった.さらに,学生がTAに対して些細な質問をして良いのかという不安や,質問している様子が恥ずかしいなど積極性を出せない問題があった.このような対面講義でもあった,質問したい学生とTAの間のコミュニケーションに生じる問題は,オンライン講義になったことで,より大きな問題となっているといえる.学生の積極性を考慮すること,TAの精神的な負担を軽減すること,そして質問順番の管理を適切に行うことが重要である.そこで本研究では,学生がTAに直接質問をするのではなくシステムに対して質問を行い,TAはシステムに投稿された質問を事前に確認をし,対応可能な場合に学生の呼び出しを行う,オンラインTA質疑システムaskTAを提案および実装する.本システムを実際の演習型プログラミングのオンライン講義で計1600分運用した結果,61名の学生から367回もの質問を受け付けた.学生が質問を投稿してからTAが対応を開始するまでの時間とTAが指導をしていた時間を求めたところ,多くの場合,1分以内にTAが対応を開始し,20分以内には指導を終了していたことが分かった.また,学生とTAの双方のアンケート結果より,提案手法の効果が確認でき,肯定的な意見が多く集まった.オンライン講義において,質問したい学生とTAとのコミュニケーションを学生の積極性とTAの精神的な負担,質問順番の管理に着目して,円滑にすることができた.
最後に,2つの提案手法の総合的な考察と, COVID-19の状況下で学生にどのような影響を与えたかの考察を行い,本研究の運用からは明らかになっていない制限と今後のオンライン講義でのプログラミング教育や対面講義について,本手法がもたらす可能性やプログラミング以外の講義への応用について述べる.