GakuNin Cloud by NII

座談会 オンデマンド構築サービス

Web型プログラミング教育支援システム活用実践座談会

―MCJ-CloudHub/CoursewareHub を活用した各大学の取り組み ―

(座談会実施:2026年3月)


2026年3月18日に開催された「大学等におけるクラウドサービス利用シンポジウム2026」のハンズオンセミナー「Web 型プログラミング教育支援システム活用ワークショップ -MCJ-CloudHubとCoursewareHubによる実践事例と運用ノウハウ-」において,実際にシステムを活用している各大学の教員によるミニ座談会を実施しました。

本ワークショップでは,MCJ-CloudHubやCoursewareHubなどのJupyterHubを活用したプログラミング教育・データサイエンス教育を中心に,主に以下のテーマについて,各大学における実践事例や運用ノウハウの共有が行われました。

  • 開発・実行環境の統一
  • Moodle/LTI連携
  • 演習教材設計
  • 課題配布・回収・自動採点
  • 学習ログ活用
  • 生成AI時代の教育

本稿では,座談会の内容を当日のスライド資料とあわせて紹介します。

参加者

モデレーター:

大江 和一 特任准教授(国立情報学研究所)

パネリスト:

浜元 信州 教授(群馬大学) CoursewareHubユーザ

齊藤 智也 講師(山口大学) MCJ-CloudHubユーザ

井関 文一 教授(東京情報大学) 独自JupyterHubユーザ

斉藤 準 准教授(帯広畜産大学) MCJ-CloudHubユーザ

久保田 真一郎 准教授(熊本大学) CoursewareHubユーザ

※発表順。所属・役職は座談会当時のものです。

ミニ座談会の様子
左から浜元氏、齊藤氏、井関氏、斉藤氏、久保田氏

Q1:Web型プログラミング教育支援システムを使うことで出来ること、嬉しいことをご紹介頂けますか

Q1 への各先生の回答(浜元氏・齊藤氏)

浜元 信州 氏(群馬大学):やはり学生が自分でパソコンにJupyterの環境を作らなくてよい、ということが、この上ないメリットです。指導する側からしても、クラスが完全に統一されたシステム環境で演習に臨めるので、初歩的なインストールトラブル等の対応に授業時間を奪われることなく講義が行えます。また、学修ログが取得できることには個人的に非常に価値を感じていて、学修ログを活用して個別最適な指導に繋げていくことができるという、いろいろな活用への夢があるシステムです。Jupyter Notebook自身のインターフェースが秀逸ですので、直感的に値を変え実行結果を確認するプロセスが、学生にとっても理解を深めやすいのだと思います。

齊藤 智也 氏(山口大学):大きなメリットは開発・実行環境の統一性が得られること、そして学生の学習進捗がある程度可視化されることです。以前はとにかくエラー対応が絶えませんでした。Pythonパッケージのバージョンが学生ごとに微妙に異なり、教員のPCでは動いていたコードが、ある学生のPCでは不具合によって動かないという問題が頻繁に発生していました。Web型システムでサーバ側がすべての環境を統一していると、こうした学習の本質とは全く関係のない設定トラブルが起きず、教員の対応負担が圧倒的に削減されます。

Q1 への各先生の回答(斉藤氏)

斉藤 準 氏(帯広畜産大学):皆様と同じく環境統一は非常に嬉しい点ですが、特筆したいのはMoodle(LMS)とのLTI連携が可能である点です。これによって、Moodleからアクセスするだけでアカウントの認証・作成が自動的かつシームレスに完了し、ログインの手間が一切不要になります。また、課題回収や自動採点機能も非常に便利で省力的にできました。少し前は学生にNotebookファイルをLMSからダウンロードさせて課題後に再アップロードさせていましたが、拡張子が2重になる、ファイル名に枝番が付くなどのトラブルが大量発生していました。これらがWeb上で完結するだけで、トラブルが激減しました。

Q1 への各先生の回答(久保田氏・井関氏)

久保田 真一郎 氏(熊本大学):一番重要なのは、エラーが出たときの原因特定です。ローカルPCの設定・導入におけるエラーなのか、プログラミング・論理構造におけるエラーなのかを切り分けるのは、初心者相手には非常に困難です。Web型システムを使い環境を完璧に固定しておくことで、学生の間違いであることをはっきり指摘できます。これが指導負担の大幅な軽減と、学習者本人の本質的な学び(論理的思考、課題解決)の育成に多大な恩恵をもたらしていると考えます。

井関 文一 氏(東京情報大学):学生さんがウェブブラウザさえあれば、どこでも、どのPCでもアクセスしてすぐに勉強できるという簡便性が素晴らしく、教員にとっても対応が最も楽です。またこの利点はプログラミング授業に留まりません。セキュリティ関連でRSA暗号を解説する授業でも、あらかじめ鍵生成や暗号化ロジックが書かれたNotebookを用意しておき、学生はパラメータや一部のコードだけを書き換えて即座に動かせるような実演教材としても活用できます。

Q2:演習教材の作成で工夫している点などをご紹介頂けますか

(例:課題の粒度、JupyterHubでの調整方法、学生のレベルへの合わせ方、教材へのフィードバック)

Q2 への各先生の回答(浜元氏・齊藤氏)

浜元 信州 氏(群馬大学):講義が基本となる授業なので、課題は時間がかからないようにしています。入力セルで変更する内容は最小限になるようにしており、ログが出るようにprint文を入れるなど課題を調整することもあります。

齊藤 智也 氏(山口大学):課題の粒度の調整まではできていないのですが、前回の課題の進み具合やよくある間違いを把握し、次回の課題の内容や講義資料、口頭での説明に反映させています。Jupyter型ノートブックのセル実行順序に起因する混乱については、何か不具合があったら余分なことは考えずに一度カーネルを綺麗にしてすべてのセルを実行し直してみなさい、という指導を繰り返すだけで、大半のトラブルが自己解決されることを実感しています。

Q2 への各先生の回答(斉藤氏)

斉藤 準 氏(帯広畜産大学):私の講義構成は①予習→②例題→③演習の3ステップで固定しています。予習フェーズでは、あえてPythonではなく使い慣れたExcelを使わせてデータを分析させ、データ解析のフローチャートを事前に頭の中で作らせます。授業中のプログラミングでは同じ作業をRまたはPythonで実装し、全員に合格(満点レベル)を取らせる成功体験を与えます。その後に複数のライブラリの命令を組み合わせないと解けない「チャレンジ問題」を追加し、できればボーナス点がもらえるレベル別の課題設計で学生の探求心を刺激しています。統計プログラミングの授業ということでPythonとRの両方で同等の内容を用意しており、自動採点にはPythonはassert、Rはstopifnot / .Last.valueを活用しています。

Q2 への各先生の回答(久保田氏・井関氏)

久保田 真一郎 氏(熊本大学):全学部1年生1800名が対象のため、理系・文系の混在によるプログラミング経験の格差が課題でした。Jupyter環境をデータ分析を実演する道具として捉え、値を少し変えるだけでグラフがインタラクティブに変化する面白さを体感してもらう構成にしました。また授業1回のまとめとなる課題にはWebベースのピアレビュー(相互評価)を採り入れ、不正コピー防止と主体的学習促進の両立を図っています。

井関 文一 氏(東京情報大学):プログラミングの授業では学生はその後いろいろな言語を勉強することになるので、言語の詳細な文法よりアルゴリズムを中心に教材を作成しています。問題文はあまり程度を下げないが、コードは穴埋めを使用しており、問題文をよく読めばある程度解けるようにしています。その点、Jupyter Notebookは便利です。

Q3:運用の観点で工夫している点などをご紹介頂けますか

(例:学生のサポート方法、教材の配布・回収・採点、トラブル対応)

Q3 への各先生の回答(浜元氏・齊藤氏)

浜元 信州 氏(群馬大学):授業中は多数のユーザ用コンテナを起動し,授業時間外は自習用として開放しつつコンテナ数を絞ることで、mdxの利用料金削減にも配慮しています。ログを可視化することで学生の進捗状況を把握し、進度に合わせた授業進行を行っています。

齊藤 智也 氏(山口大学):システム管理者側の工夫として、事前に各科目で必要なプログラミング言語・パッケージ・ライブラリをサーバへインストールしておくことで、授業時間中のトラブルを軽減しています。特にオンプレミス環境では授業時間中に受講生が一斉にRのライブラリをインストールしようとすると失敗しやすいため、この事前準備が非常に効果的です。理学部の事例では、教員側の工夫として、JupyterHubのnbgraderのフィードバック機能にPython用パッケージを追加し、エラー表示を色付けや強調で学生が読みやすくする工夫を施しています。

Q3 への各先生の回答(斉藤氏)

斉藤 準 氏(帯広畜産大学):授業は教員がNotebookを順に実行・補足し、コードはコピペできるサンプルを多数用意したため、あまりサポートの必要はありませんでした。おそらくメモリ不足でカーネルが止まってしまう学生が数名いましたが、いずれもサーバへの再接続で解消しました。またアカウント名にアンダースコアがあるとサーバが起動しなかったため、名前を変えました。教材面では、PythonとRのうち未実行のファイルも削除を求めなかったため、自動採点スコアが50%で満点となるようMoodle側で処理しました。

Q3 への各先生の回答(久保田氏・井関氏)

久保田 真一郎 氏(熊本大学):他の授業回でもMoodleを利用しているため、LTIでCoursewareHubを利用できるよう構成し、学生にとって教材の提供・提出・評価のワークフローが一貫した体験になるよう設計しています。

井関 文一 氏(東京情報大学):学生のサポートはMoodleのフォーラム機能を使用し、教材配布・回収には今回紹介したシステムを使用しています。採点については、学生ごとではなく問題ごとに採点できるようなスクリプトを今回のシステムの一部として開発して使用しています。

生成AI時代のプログラミング教育について

座談会終盤では、ChatGPTをはじめとする生成AIとプログラミング教育の関係についても議論が行われました。AIを拒絶するのではなく,どう向き合い活用していくかを模索する姿勢が各大学に共通して見られました。

浜元 信州 氏(群馬大学):生成AIは対立や拒絶するものではなく、うまく使いこなす共存だと考えています。中身が分かっていないと適切な指示が出せないので,AIがあってもすぐにプログラミングがなくなるとは思っていません。

久保田 真一郎 氏(熊本大学):AIと対立ではなく共存です。学生にも生成AIを使ってコードを完成・修正してよいという指導をしております。ですが、AIがどんなプログラムを出力しているのかを読み解く知識と論理的な仕組みが頭の中に入っていないと、不適切な処理や誤作動に全く気付けません。Jupyterで実行・修正をこまめに繰り返しながら基本のアルゴリズムを自分で構築してデバッグしていくといった本質的で主体的なトラブルシューティング能力の訓練こそが、今後のプログラミング教育で最も大切なことではないでしょうか。

斉藤 準 氏(帯広畜産大学):共存になるのかどうかは分かりませんが,学生の状況が分かったとしても,教室の中でどの学生がどういう状態にあるかをリアルタイムに把握して適切にサポートすることはなかなか難しいです。そうした助言やサポートの部分こそ,システムの機能やAIを活用して実現できるといいのではないかと感じています。

本座談会では,各大学がそれぞれ異なる教育目的や対象学生を持ちながらも,Web型プログラミング教育支援システムであるCoursewareHubを活用しながら,以下について取り組んでいることが共有されました。

  • 環境構築負荷の軽減
  • 教材設計の工夫
  • 学習ログ活用
  • AI時代を見据えた教育

CoursewareHubは単なる実行基盤にとどまらず,今後のプログラミング教育・データサイエンス教育を支える重要な教育基盤となりつつあることが示唆されました。

(本稿はミニ座談会の内容をもとに編集したものです)