北海道地区

教育システム情報学会 2023年度学生研究発表会

IT インフラ演習におけるコマンドライン活用支援システムの試作と評価
The evaluation of prototype system to support
command line training in IT infrastructure
大平 友翔 1, 深町 賢一*2
Yuto Ohira*1, Ken'ichi Fukamachi *2*1 公立千歳科学技術大学 情報システム工学科*1 Chitose Institute of Science and Technology, Information Systems Engineering*2 公立千歳科学技術大学*2 University of Chitose, Information Systems Engineering
Email: oohiray2015@gmail.com
あらまし：本稿ではクラウドサービスの普及と Unix や CLI 操作の重要性が増している現代において、教育現場でのこれら技術の教育が不十分である問題を指摘する。先行研究の限界を踏まえ、学生の CLI 操作を支援し、その理解を深めるための新しい学習支援システムを開発・提案する。システムは、学生のコマンド操作をリアルタイムで捉え、適切なアドバイスを提供することで、学習効果を高める。実際の演習を通じてシステムの有効性を評価し、学生からの肯定的なフィードバックを得た。この研究は、CLI 操作の教育における新たなアプローチを提示し、将来的な教育改善への貢献を目指す。
キーワード：CLI 操作、クラウド、AWS、学習支援、ログ収集

1.

しかし，あくまでも教員が進捗状況を把握するものであり，自律的に学生が理解を深めるといった点では課題が残る．

はじめに近年、クラウドサービスが急速に普及している。
この背景にはオンプレミス環境に比べてスケーラビリティやコスト面で優位にあることが挙げられる。
クラウド化が進むにあたり Amazon Web Services（以下 AWS）をはじめとするクラウドサービスプ
ロパイダでは WebUI が充実しており、初学者でも扱えるように感じる。しかし、WebUI で容易に操作できる範囲は定番の構成に限られており、多少ともカスタイマイズを行う際には Unix オペレーティングシステム（以下 Unix）操作の理解が必須である。
それはクラウド環境の裏側では Unix が主流だからだ。しかしながら高校における情報 I（必修）[1]や大学での数理データサイエンス教育（文理問わず全ての大学生に求められる教育内容）[2]では、Unix な
どの Command Line Interface（以下 CLI）操作に関わる知識や演習に関する授業は含まれていない。しかし現代のサービスはクラウド上で動作するものが多く、私達たちが普段使用しているサービスの裏側（CLI や設定ファイルの読み書き）を概念的にある程度理解することは学びを深めるために重要であると考えられる。

2.

3.

本研究の位置づけ

先行研究では学生の演習進捗状況を把握し，それをもとに教員がアクションを起こす形としての解決を測っているが，それは学生の理解を促進しているわけではなくただ演習を終えるためだけの対策に見え，本質的な解決になっていないといえる．また，CLI 演習において類似パターンの動画を検索できるようにすることで，解決を図った事 例がある．これは演習内容の詰まったところを解決するものであり，求めている Linux の汎用的な知識，概念を理解してエンジニアとして活躍するための基盤を学ぶといった意味でも，本質的な解決になっていない．また，notebook を活用した web 上でのプ ログラム開発演習を行うことで課題の提出や，実行のログなどが確認できるシステム の活用例もある．これは，直接ターミナルからサーバーに入り，CLI で中を操作することが目的である本研究とは違い，GUI とマウスを使って操作する環境となっている． しかし一種のイレギュラーな演習環境であるため，汎用的なCLI 演習の解決策ではないと言える．本研究は実際のターミナルを用いて演習を行い，そのマシンでのログを取得し，それを元にアドバイジングを行い理解を深めていくものであるため差別化ができている．
また，近年 GUI の一般化が進み CLI での操作は減少傾向であり，CLI での演習支援システムの例がない．本研究ではその分野に対してアプローチを行う．

先行研究

Jelena Mirkovic らの研究 [3]Jelena Mirkovic らは，学生のマシン上のログ収集システムである ACSLE を開発し，そのデータを基に分析を行った．ACSLE は仮想マシン上の Linux環境での演習を管理し，学生の進行状況を監視するために設計されている．ACSLE はターミナルの入力，出力，ユーザー名，現在のディレクトリ，各インタラクションの時間を記録する．また，おおよそのコマンドの誤りパターンの判別に成功している．

4.

実装

現在行っている講義では多くの資料や教科書を丁寧に書いても学生からの質問は減らない。教員側の1

北海道地区

教育システム情報学会 2023年度学生研究発表会

効率化になる管理システムの先行研究はあるが、ユーザの CLI 操作に対して、インタラクティブな演習支援を行うアプローチはない。このような課題に対して、本研究ではコマンドライン活用支援システムを開発し、学生の Unix などの CLI 操作の知識や、Unix の理解度向上を狙う。具体的には本学でのクラウドでの演習講義中の学生の実行コマンド、出力、ファイル編集の差分を取得し、そのログから学生が現在取り組んでいる課題を推測し、参照すべきドキュメントの提示や、操作の正誤についてメッセージを送信する（図 1）。ログを取得するプログラムは複数ある．主に ttylog，history，script などは，学生が実行したコマンドやその出力を記録する一般的な手段である．しかし，これらでは今回の目的，すなわち学生の動作をリアルタイムで詳細に捉えるという要件を満たすことができなかった．そのため，本研
究ではログの取得レベルから開発を行うこととした．
具体的に、このシステムは学生の入力をカーネルレベルで取得し、クラウドのデータベースに格納する。新たなデータが追加されるたびに学生の取り組んでいる課題について推測、判定を行い、メッセージを送信する設計となっている。

5.

評価

本システムの評価は 2 年生 7 人を対象に、検証を行った。検証は演習の進捗に応じたメッセージについての評価、知識の習熟度について、検証前後でアンケートを実施した。アンケートの結果から学生はコマンドの意味や作業を進める各段階で適切なメッセージを受け取れたことを高く評価していた。またUnix は、Windows のように正解でも間違いでも通知を出すシステムではないため、初学者は、自分の作業内容に自信が持てず、学習を阻んでいると言える。そのため、作業における各段階で、様々な通知

図 1.システムの動作の流れ2（例：正しくダウンロードできました。
）を表示した点も好評であった。よって、これらの評価結果から本システムは知識の習得や、内容の理解について有意性があったと考えられる。

6.

考察

検証の様子は「小さい画面に複数のウィンドウを出して大変そう」「現在の作業の達成度合を見失いがち」の様に見えた。この観察結果によれば、学生はノートバソコンの小さい画面でワークシート、教科書、ターミナル、本システムからのメッセージなど多くのウィンドウの表示、操作を行っており、その作業に時間を要しているように見える。そのため、本システムのブラウザ操作への統一、進捗度合の表示の開発が必要と考えている。
改善点として「惜しい」「誤った方向に進んでいることを通知してほしい」との意見があった。この機能についてはルールベースで判定はできない。そのため今後、機械学習を用いたアプローチを検討していく。
参考文献[1] 文 部 科 学 省：高 等 学 校 学 習 指 導 要 領
https://www.mext.go.jp/content/1407073_11_1_2.pdf（参照：2024-2-6）[2] 文部 科 学 省：数 理・デ ータ サ イ エン ス・AI 教
育 プ ロ グ ラ ム 認 定 制 度
https://www.mext.go.jp/a_menu/koutou/suuri_datascience_ai/00001.htm（参照：2024-2-6）[3] Jelena Mirkovic, Aashray Aggarwal, David Weinman, Paul
Lepe, Richard Weiss,
Using Terminal Histories to Monitor Student Progresson
Hands-on Exercises SIGCSE ’20, March 11 ‒ 14, 2020,
Portland