G3-1

C 言語初学者のためのリアルタイムモニタリングシステムの有用性の評価
Basic Evaluation of Effectiveness of Realtime Monitoring Systemfor Beginners of C Programming Language
大下 昌紀*1, 買田 康介*2, 松本 慎平*2
Masanori OHSHITA*1, Kosuke KAIDA*2, Shimpei MATSUMOTO*2*1
広島工業大学大学院*1
Graduate School of Science and Technology, Hiroshima Institute of Technology*2
広島工業大学情報学部*2
Faculty of Applied Information Science, Hiroshima Institute of Technology
Email: {md18003, s.matsumoto.gk, bl16023}@cc.it-hiroshima.ac.jp
あらまし：大学などの高等教育機関では社会の要望に合わせてプログラミング教育が広く行われている．
プログラミングの授業では学習者のコンピュータ操作技能に応じて学習の進捗に大きな差が生じる場合があるため，より学習者に即した授業を実現するためには，学習活動のリアルタイムモニタリングは有用であると考えられる．そこで著者らは，C 言語初学者の学習活動をリアルタイムにモニタリング可能なシステムを開発した．本稿では，開発したシステムの概要及び有効性を述べることを目的とする．評価実験を行った結果，その有用性は十分であることが示された．
キーワード：プログラミング，教育，C 言語，モニタリング， リアルタイム

1.

緒言大学などの高等教育機関では社会の要望に合わせてプログラミング教育が広く行われている．プログ
ラミングの授業では学習者のコンピュータ操作技能に応じて学習の進捗に大きな差が生じる場合がある
ため，より学習者に即した授業を実現するためには，コンピュータ操作技能が十分ではない学習者であっても学びやすい環境の提供のみならず，学習活動のリアルタイムモニタリングは有用であると考えられる．これらの背景から，筆者らは C 言語学習支援システムである Hello C を作成している（1）．ところで，学習者に適切な学習環境を提供するために，教育者が学習活動をリアルタイムにモニタリングすることは重要であり，様々な研究が行われている．また，それらの研究から，その有用性が報告されている（24）．そこで本稿では，教育者が C 言語初学者の学習活動をリアルタイムにモニタリング可能なシステムが C 言語初学者の支援に有用であるかを調査することを目的とする．具体的には，C 言語初学者が HelloC を用いて行った学習活動をリアルタイムにモニタ
リ ン グ 可 能 な シ ス テ ム で あ る Hello C RealtimeViewer(以下 Hello C RV)を開発する．評価実験の結果，その有用性は十分であることが示された．

2.

Hello C

Hello C は C 言語初学者向けの C 言語学習支援システムである．クライアントサーバモデルをとっており，Hello C Client と Hello C Server の 2 種類のシステムからなる．Hello C Client は，初学者が C 言語を学習する際に，できる限り非本質的な負荷をかけないよう，簡易プロジェクト管理機能，簡易デバッガ機能，静的解析機能，オートコンプリート機能，

図 1 Hello C Client の外観
構文チェック機能，複数ファイルのコンパイル機能，ソースコード圧縮保存機能，練習問題取得機能など
様 々 な 機 能 を 有 す る ． Hello C Client は ， Visual
Basic .NET Framework 4.5 を用いて開発されており，コンパイルと実行は，Windows 用 gcc を用いて行う．
また，Hello C を用いて学習を行うための問題作成や送信，また学習ログの保存を行うためのシステムとして Hello C Server がある．一般的な C 言語学習では，Visual Studio などのリッチな環境や，反対に Vimや emacs などの簡潔な環境が用いられる場合が一般的である．これらの学習環境では，複雑なファイル操作や専門的な知識が必要とされる．これらの操作での躓きは C 言語学習において非本質的であると我々は考えており，したがって HelloC では非本質的な躓きを可能な限り回避できるよう諸機能や UI/UXを設計している．
Hello C Server が提供する機能は，Hello C Client を用いての学習を行う学習者が直感的に C 言語学習を行うことを可能とし，ファイル操作などの本質的でない箇所に余計な認知負荷をかけず C 言語学習に集中することを可能としている（1）．Hello C Server はOS として Ubuntu16.04，Web サーバソフトウェアと― 225 ―教育システム情報学会 JSiSE2019
第44回全国大会 2019/9/11-9/13

表 1 アンケート項目
1.
2.
3.
4.
5.

図 2 Hello C Real Time Viewer の外観

6.
7.

して Apache2.4.29，データベース管理システムとして MySQL10.1.28-MariaDB を 用 い て 構 築 さ れ た
LAMP 環境で動作し，開発言語は PHP7.1.11，アプリ
ケーションフレームワークは CakePHP 3.6 により開発されている．

3.

あなたが教授者としたときこのシステムは，あなたが学習者の進捗具合を把握するのに有用ですか
あなたが教授者としたときこのシステムは，あなたが学習者の躓きを把握するのに有用ですか
あなたが教授者だとしたときこのシステムは，あなたが学習者の適切な指導に有用ですか
あなたが教授者だとしたときこのシステムは，あなたが初学者を支援するのに有用ですか
あなたが教授者だとしたときこのシステムは，見やすいですか
あなたが教授者だとしたときこのシステムは，使いやすいですか
あなたが教授者だとしたときこのシステムから提供される情報量はどうですか（多いか少ないか）

リアルタイムモニタリングシステム

著者らは C 言語初学者が Hello C を用いて行った学習活動をリアルタイムにモニタリング可能なシステムである Hello C RV を作成した．Hello C RV の外観を図 2 に示す．Hello C RV はウェブブラウザ上で利用可能な Web システムであり，現在学習中の学習者の一覧，学習者別接続時間，問題別学習者数学習
者別コンパイル数，学習者別失敗コンパイル数，学習者別直近コンパイル時間を確認することができる．
また，それらの項目を降順にランキング形式で閲覧することも可能となっており，この機能により各項目において外れ値をとっていると考えられる学習者の検知を容易にしている．
Hello C RV の有用性を確認するため，被験者 16 名に対し実験及びアンケートを行った．実験では，被験者は教師としてシステムを利用し，教師としてアンケートに回答させた．アンケートの項目を表 1 に記す．アンケートは 6 段階リッカート尺度とし，アンケート項目 1 から 6 までの質問の選択肢では 1 を思わない，6 をそう思うとし，アンケート項目 7 の質問の選択肢では 1 を少ない，6 を多いとした．また，それぞれのアンケート項目に対して，なぜそのような回答に至ったのかを自由記述形式で問う追加質問を設けた．
アンケートの結果を図 3 に示す．グラフの縦軸は評価値平均，横軸はアンケート項目，エラーバーは標準偏差を表す．アンケート項目 1 から 6 において，評価値平均は高い数値が確認された．また，アンケート項目 7 において，評価値平均 3.94 と，選択肢の中央値である 3.5 に近い数字となり，適した情報量を提供できたといえる．しかしながら，否定的な回答もみられ追加質問の回答に，「どの箇所で悩んでいるのか把握できないため躓きを検知することは難しい」といった意見がみられた．学習者の躓きをリアルタイムに検知することは，学習者に適切な学習環境を提供することにつながる．よって，躓きを検知することが可能な機能の追加，検証などが今後の課題となる．

図 3 アンケート結果

4.

結言

本稿では，教育者が C 言語初学者の学習活動をリアルタイムにモニタリング可能なシステムを開発し，それが C 言語初学者の支援に有用であるかどうかを調査した．具体的には，C 言語初学者が Hello C を用いて行った学習活動をリアルタイムにモニタリング可能なシステムである Hello C RV を作成し，有用性について評価を行った．結果，Hello C RV は C 言語初学者の学習支援に有用であることが示された．

謝辞
本研究は，独立行政法人日本学術振興会科学研究費助成事業(基盤研究(C)17K01164，19K02987)及びFOST 公益財団法人科学技術融合振興財団平成 30 年度補助金助成による助成を受けて実施した成果の一部である．ここに記して謝意を表します．
参考文献(1) 買田康介, 大下昌紀, 松本慎平:“大学生のための C 言語エディタの開発”, 2017 年度教育システム情報学会
学生研究発表会講演論文集, pp.207-208 (2018）(2) Cambridge, D. and Perez-Lopez, K:“First Steps Towards a
Social Learning Analytics for Online Communities ofPractice for Educators”, Proceedings of the 2nd
International Conference on Learning Analytics andKnowledge, pp.69-72, Vancouver (2012)(3) 大森将, 垣内洋介, 松本慎平:“授業における PC 操作
情報を用いた活動状況可視化手法”, 情報システム情報学会誌, Vol.36, No.2, pp.107-117 (2019）― 226 ―