国立大学法人 室蘭工業大学では、情報教育の強化に向けた取り組みの一環として、クラウドとJupyter Notebookを用いたプログラミング教育を行っています。その狙いと成果について、情報教育センター長 教授 桑田 喜隆氏と、情報教育センター ひと文化領域 助教 石坂 徹氏にお話を伺いました。(インタビュー実施:2020年2月21日)
桑田氏:本学では産業構造の変化や新たな社会イノベーションへの対応を果たすべく、2019年度に従来の工学部を理工学部へと改組しました。工学・科学の基礎と情報処理能力を習得し、変化する社会に対応できる人材を育成することが狙いです。これに伴い、情報教育のさらなる拡充も進めていくため、情報教育センターでも様々な形で支援を行っています。ちなみに当センターでは、2015年3月にISMS(情報セキュリティマネジメントシステム)/BCMS(事業継続マネジメントシステム)の国際認証を同時に取得しました。これは大学として世界初の事例になります。2018年に発生した北海道胆振東部地震の際には、実際にコンテンジェンシープランの発動も行いました。幸い本学に大きな被害はありませんでしたが、想定通りの対応が行えました。
石坂氏:理工学系の専門的な教育研究を行うこともあり、学内に導入するクライアント等については、なるべく潤沢なスペックを確保するようにしています。これにより、CADやシミュレーションなどの重たいアプリケーションも快適に動作させることができます。とはいえ、技術の進化も非常に早いので、4年から5年おきに入れ替えを行って、環境が陳腐化しないようにしています。
桑田氏:小中高等学校の授業にも取り入れられるなど、プログラミング教育に対する関心は大きく高まっています。しかし現状を省みると、我々のような理工学系の大学を志す学生であっても、入学時点でのレベルは結構バラバラです。非常に高いスキルを持った学生もいれば、苦手だという学生もます。こうした中、本学では、2019年度より理工学部全学科でプログラミング教育を必修科目としました。そのための教育環境を模索する中で、クラウドとJupyter Notebookが浮かび上がってきたのです。
桑田氏:演習に関しては、学生の理解度に応じた助言を行うことが重要との仮説を事前に立てていました。疑問や分からないことを抱えたままだと、次のステップに進んだ時にますます分からなくなりますからね。とはいえ、従来型の演習環境では学生の状況が把握できなかったため、適宜フォローを行うのは難しい面がありました。その点、Jupyter Notebookを利用すれば、セルの実行回数やエラー数、利用者ごとの評価履歴などの情報がグラフで可視化できます。これを元に教員やTA(ティーチング・アシスタント)が助言を行うこともできますし、教材自体の改善に役立てることもできます。この点に関しては、狙い通りだったと考えています。
桑田氏:Jupyter Notebookを使うというのは、NIIの合田 憲人先生のグループとも議論する中で浮かんできたアイデアです。元々はクラウドの運用に利用することを目的に研究が進められてきたわけですが、プログラミングを教える環境としても良いのではないかと気付いたんですね。viでコードを書いてCコンパイラでコンパイルしてという昔ながらの方法もありますが、本質的な部分に入るまでに結構時間が掛かります。その点、Jupyter Notebookなら、いきなり計算に取り掛かれます。
石坂氏:本学にもPC教室用の設備がありますので、最初はそちらを使うことも考えました。しかし、教員が自前でプログラミング教育用の環境を構築したり、そのメンテナンスを行ったりするのは非常に負担が重い。その点、クラウドならすぐに利用できますし、規模をスケールさせるのも容易です。
桑田氏:加えて、NIIでは、授業で必要となる進捗状況のモニタリングやレポート収集などの機能をJupyter Notebookに追加した「CoursewareHub」を提供しています。そこで今回は、これを使わせてもらうことにしました。
桑田氏:まずはどのような形になるのか体験してみようということで、教員4名による評価実験を行いました。Pythonを学ぶための教材をJupyter Notebookで作成し、課題を解くのに掛かった時間や進捗状況などのデータを収集・確認するといった具合ですね。その結果、ある程度の手応えが得られましたので、次に全7回の模擬授業を実施しました。ここでは、学生やTAにも参加してもらい、本番の授業と同様のスタイルで検証を行っています。
桑田氏:事前検証の際は数名~十数名でしたが、本番の授業では受講者が600名規模にも上ります。これだけ人数が多いとなると、なかなか個々の学生の状況まできめ細かく追い切れない面があります。せっかくデータがあるわけですから、遅れている学生がいたらアラートを上げるなどの仕組みがあった方が良いかも知れません。また、学生が提出した課題へのフィードバックも、現在は3週間ほど掛かっていますので、これももう少し早く返せるようにしてあげたい。加えて、現在は手作業で行っているLMSとの連携なども、さらなる効率化が図れればと感じています。
石坂氏:授業に外部のサービスを使うのは、我々としても初めての試みです。それだけに、事前にいろいろ心配事があったことは確かです。しかし、NIIが全面的な支援体制を敷いてくれたこともあり、杞憂で済んだのは大変良かったですね。
石坂氏:Jupyter Notebookに関しては、学内の他の先生方からも自分の授業で使えないかという相談が寄せられています。実行結果やエラーがインタラクティブに返ってくるというのは、学生が学ぶための環境としても非常に取っつきやすい。将来的には工学系のデータ分析など、いろいろな分野への展開が考えられると思います。
桑田氏:今年度に関しては、まだとにかく始めてみたという段階です。今後は授業で得られたデータの分析なども行って、次年度以降の授業の改善に活かしていきたい。また、実験的に取り組んでいるうちはいいですが、大学のメイン業務として継続していくとなると、ちゃんとしたインフラもどこかに確保しなくてはなりません。こうした技術面以外のことも含め、今後もいろいろな検討を進めていきたいですね。