はじめに
あけましておめでとうございます。みなさんご存知の通り、昨年3月ごろから世界的に新型コロナウイルスの流行により、これまでとは違う生活が余儀なくされています。
昨年度は全国のほとんどの大学において、春学期はオンラインで授業が実施されることになりました。秋学期も多くの大学が引き続きオンラインで授業を実施しています。私の勤務する京都産業大学においても、秋学期から少しずつ対面の授業が開始されているものの、私の持つ授業はすべてオンラインで実施されています。
オンライン授業、そして、リモートワークとなってこれまでと異なることはたくさんあります。私事ですが緊急事態宣言の最中の5月に第二子が誕生しました。その時点でリモートワークとなっていたため、第一子のとき以上に子育てに参加できたのは良かった点の一つです。
とはいえ、多くのことはこれまでのやり方を踏襲できず、試行錯誤で取り組んでいるところです。これ以降も事態が急に好転することも期待できませんので、今後もオンライン、対面が併用されると予想されます。本稿では、この一大学教員の試行錯誤の取り組みと、今後の展望を紹介したいと思います。
大学の授業
様々な取り組み
このコロナ禍にあって、多くの大学の教員、職員、学生が戸惑い、そして試行錯誤を繰り返しています。
Facebookでは2020年3月に「新型コロナのインパクトを受け、大学教員は何をすべきか、何をしたいかについて知恵と情報を共有するグループ」という公開グループが作成され、2020年12月の時点で20,584万人が参加しています。このグループでは、所属や専門を超えて、遠隔授業の情報やノウハウの共有を目的として、日々様々な議論が行われています。
2000年3月からNII主催で「4月からの大学等遠隔授業に関する取組状況共有サイバーシンポジウム」が定期的に開催され、これまでに23回開催されています。ここでは様々な分野・大学での事例の共有だけでなく、通信料削減のための議論や、著作権法改正など多岐にわたった講演資料が確認できます。
情報処理学会では2020年9月の会誌にて「情報化社会のニューノーマル」と題してコロナによりどのような変化が引き起こされ、著者らがどのように対応したのかの記録を特集しています。特に第2章の「教育のオンライン化 〜実施してみて分かったこと〜」では、医療や体育など様々な分野の5名の教員がコロナ禍においてどのように授業のオンライン化に取り組んだかが取り上げられています。また、ぺた語義という教育に関するコラムが常設されており、ここにもコロナによる教育の変化が取り上げられています。
これらの資料から、みんな混乱しながらもこの困難に取り組もうとしていることがわかるのではないでしょうか。
玉田の授業
では実際に、私がどのようにオンライン授業を取り組んだのかを紹介したいと思います。私は今年度は4種類の授業を持ち、次のようにオンライン授業を実施しました。
- プログラミング演習科目(Javaの初級)
- 講義資料の配信(GitHub Pages)、オンラインでの課題提出(Moodle)
- 座学
- 講義ビデオの配信(Microsoft Stream)、講義資料の配布(Moodle)、オンラインでの課題提出(Moodle)
- リアルタイム講義配信(Microsoft Teams)、録画動画の配信(Microsoft Stream)、オンラインでの課題提出(Moodle)
- ゼミ科目
- ビデオチャット(Zoom)、Wiki(esa.io)、チャット(Slack)、GitHubなど。
すべての授業でメールやチャット(Microsoft Teams)による質問を受け付けています。なお、Microsoft TeamsやStream、Moodleは大学で採用しているシステムであるため、利用しています。その他のSlackやesa.io、Zoomは個人的な好みで採用しました。
プログラミング演習科目
この授業は150名程度を3名の教員、6名のTA、補助員で担当しています。コロナ禍の前から反転授業として設計、実施しています。つまり、学生はあらかじめ講義資料を読み、課題に取り組みます。当学部では入学時にMacBookを購入し、それをBYOD環境として学習に利用してもらっています。本講義でもそのMacBook上に環境を構築し、学習します。従来は講義室で質問、課題の提出を受け入れていたのですが、Moodleを利用して提出してもらうよう変更しました。質問も学内で採用されているMicrosoft Teamsで行ってもらうようにしました。これまでとは上記の内容のみを変えて、その他はほぼ同じ内容を実施できました。
学生に対するアンケートによると、このやり方を好まない少数の学生はいるものの、アンケートに答えた学生(全体の51%)のうち、92%の学生には受け入れてもらって、とりあえずは安心しています。
座学
2つの講義を受け持ち、講義ビデオをあらかじめ撮影し、配信する方法(70名弱)と、リアルタイムで配信し、その様子を録画しておいたものを配信する方法(170名程度)を採用しました。
両講義ともコロナ禍の前からPowerPointの資料を利用しています。講義ビデオ撮影ではPowerPointの録音機能を利用し、動画を作成しました。リアルタイム配信では、Microsoft Teamsのビデオ会議でPowerPointの資料をもとに講義を行い、それを録画したものを後日配信しました。
情報系の学生だと普段から常時接続の環境を持っていることが多いため、問題になることはあまりないと思いますが、そうでなければギガ不足が大きな問題になりそうです。同僚の荻原先生はLight LectureというPDFに音声などを埋め込み、再生できるツールを公開しています。このツールを使うと90分の講義でも20MB程度のデータ量で済み、学生がmacOSを使っているという前提がクリアできればLight Lectureを使うのが良さそうです。
また、リアルタイム配信を行っていたとしても、学生の責によらない理由でリアルタイムに視聴できないケースも考えられます。例えば、親、兄弟が別のビデオ会議システムを利用中で満足な視聴ができないケースや、ネットワークの不調などです。そのため、後からでも見直せるような仕組みが必要となるでしょう。
ゼミ科目
修士学生(1名)、4年生(3名)、3年生(4名)と3つのゼミ科目を持っており、それぞれ修論、卒論の指導を行っています。そこでは、毎週の定例報告会の前にその週に行ったことをWikiで報告してもらっています。そして定例報告会で、その内容を元に全員で議論を行います。なお、卒論に関する進捗(卒論自体や卒論に関するプログラムや分析結果など)はすべて各人のGitHubのリポジトリにpushして初めて進捗として報告可能であるものとしています。この定例報告会が毎週の定例報告が対面からビデオチャットに置き換わり、そのほかは従来から用いている方式です。定例報告会では学生が画面共有など主体的に話すことはありますが、これまでのトラブルは、その日だけなぜかZoomに接続できない学生が一人出たくらい(PCの再起動で解決)で、大きなトラブルは起こっていません。ビデオチャットでは学生も基本的にカメラをONにしてもらっていますが、体調がそれほど良くないなど、何らかの理由があるならOFFでも問題ないとしています。
なお、チャット(Slack)は私からの事務連絡や進捗に詰まった時の相談窓口、また雑多な連絡など研究室内の連絡に用いています。このような使い方で体面上は問題なく動いているように見えます。ただ以前のように、学生部屋にフラッと寄ったときに、学生が困っている問題をその場で一緒に解決することができなくなった点が歯痒く感じています。
学生の苦労、教員の苦労
授業ごとに使うツールが違っていて大丈夫⁉
一般的に学生は一つの学期の間に複数の授業を履修します。それらの授業間で利用するツールが異なる場合、それぞれのツールに習熟する労力が必要となります。ただ、私が教える学生の大半は情報系の学生です。情報系であるから、それらのコミュニケーションツールを一通り使ってみることが重要であると思います。また、学生自身が解決できないトラブルの場合、教員が対応する必要があります。
一方、情報系以外の学生が主な受講生の場合は、大学が用意している環境を使うほうが望ましいでしょう。そうすると、何か困ったことがあっても大学のサポートが得られるはずですので、自力で解決が難しい問題であってもなんとかなるケースが多いでしょう。
ビデオ配信って大変⁉
あらかじめ講義ビデオを録画し配信する場合、従来の講義資料の作成に加えて、ビデオを撮影する労力が別途必要となります。録画に慣れていない時は、1つの授業の録画にその授業時間の倍以上かかっていました。何度か録画していくうちに円滑に録画できるようになりましたが、それでも私の場合は授業時間の1.5倍程度は録画にかかっています。リアルタイムで配信し、その録画を後で配信するのは対面授業と方法は異なれど、労力的には大差ないでしょう。ただこれも、学生のリアルタイムの反応が見えないため、一方通行になってしまいがちです。
加えて、配信や録画などでは従来の対面の授業とは異なり、教員の環境が問題になる場合があります。私の場合、授業をリアルタイムで配信している時に第二子が泣き出し、その音声も含めて配信されたことがあります。また、ゼミでビデオチャット中に宅配便が届いたりなど、プライベートを垣間見せてしまったことがあります。録画であれば無かったことにしてやり直せますが、リアルタイムでのやり取りの場合は完全に避けることはできません。私自身は仕方ないものとして割り切っています。
オンライン授業の展望
情報系の授業の中でもプログラミング演習科目は、オンライン授業であっても様々な開発ツールを利用できます。また、自作のツールと組み合わせて特色を出すこともできるでしょう。ここでは、プログラミング演習科目のオンライン化に絞って考えを述べていきます。
プログラミング環境をBYOD環境で構築すると学生間で微妙な差異が出てきます。GitHub Codespacesが昨年5月にリリースされていますので、今日ではこれを利用できるでしょう。これはVisual Studio Codeのブラウザ版の全機能が利用でき、いつでも演習環境に接続・中断が可能になります。ただし、まだパブリックベータであるためか、GitHub classroomでは利用できず、代わりにRepl.itとMicrosoft MakeCodeの2つのオンラインエディタのいずれかを利用することになります。gitの操作に慣れない学生には、オンラインエディタを利用してもらい、gitの操作に慣れた学生や、git操作の学習も行う場合は、オンラインのエディタを使わない、という選択になりそうです。
昨年の3月にGitHub classroomにおいて、宿題の自動採点やインラインフィードバックが可能なツールが発表されました。このツールを利用すればプログラムの評価の多くを自動化できそうです。これはGitHub Actionsを使って実現していますが、GitHub Actionsのようなワークフローを自分で書く必要がないようになっています。もちろん、課題の元のリポジトリでGitHub Actionsのワークフローを書いておくと、より複雑な処理も可能となります。ただし、私が担当するような初心者向けの演習科目(短いプログラムをたくさん書くことを目指す)では、数多くのリポジトリを用意しなければならないため、準備が大変であるという問題もあります。
大阪大学では、プログラムの正しさだけではなく、品質にも目を向けてもらえるように、実績可視化システムを利用した授業があるそうです。このシステムはゲームなどで利用されている実績という形式を採用しており、メトリクス値が規定値を達すれば(下回れば)実績を解除します。これにより正しいプログラムを書くだけでなく、プログラムの品質を高めるモチベーションも与えています。
また、従来から演習科目の最終課題に対しては、2つの自作ツール、pochiと9rulesを少し修正して適用し、コピー&ペーストチェックとプログラムの品質チェックを行っています。pochiはJavaクラスファイルの類似度を算出することでソフトウェアの盗用を検出するツールであり、9rulesは ThoughtWorksアンソロジーの第5章で紹介されているオブジェクト指向エクササイズを検査するツールです。先程述べた実績可視化システムやこれらのツールをGitHub Actions上のアクションとして提供すれば、GitHub classroomでも利用できるようになります。これらのチェックが自動的に行え、結果が学生にフィードバックされると、プログラムが得意な学生の良い発奮材料になると期待できます。
まとめ
このコロナ禍により、学会もオンラインで実施されるようになり、交通費や宿泊費が不要となりました。さらに学会参加費も値下がりしたため、国際会議であっても気軽に参加できるようになったメリットもあります。
一方でオンラインの学会では、雑談が非常に難しくなった点が非常に大きなデメリットであると個人的に思います。私のこれまでの研究のアイデアの多くは、このような場での雑談から生まれています。オンラインの雑談だと議論が深まることもなく、あっさり終わってしまう点が寂しく思います。
たわいない会話から交流が深まることは皆さんも経験があるのではないでしょうか。オンライン授業を受ける学生も同じような気持ちなのかもしれません。コロナの流行が落ち着き、オンラインとオフラインを上手い具合に併用できるような世の中になりますように。