ゼミを主催した経験から得られた知見を言語化してみる

初めましての方は初めまして．そうでない方はいつもお読みいただきありがとうございます．

私事ではありますが，研究室に配属されて約1年，初めてゼミを主催する事になりました．
本記事では，研究室に配属された学生のためのゼミを実施したときの知見を，その時系列に沿ってまとめる，自分語りのような記事です．これから研究室等でゼミを開催する人の参考の1つになれば幸いです．
なお，具体的な内容にまでは触れていないので，その点についてはご了承ください．


# TL;DR
- **対面**でのコミュニケーションを大切に
- コミュニケーションは**先輩から積極的に**
- **手を動かす**ような内容にする


# はじめに
私事ではありますが，私の所属する研究室に約3ヶ月前に新しく学生が配属されました．その指導ですが，成り行きで私（と同期）で担当することになりました．
私が配属されたときは最高学年の方に指導いただいており，その指導は非常に慣れたものでした．一方で，私は昨年研究室に配属されたばかりの学部生で，まだ対外発表も数回程度しか経験しておらず，圧倒的な経験不足......

ちなみに，私の所属する研究室では決まった指導内容がある訳ではありません．その時に必要とされる知識や共通して必要となる知識を伝えるので，内容を考えるところから始まります．


# 昨年のゼミの振り返りをしよう
先ずは，私が指導いただいたときのゼミの振り返りをおこなうことで，ゼミの進め方や方針の参考にすることにしました．
大まかな内容は以下の通り．

- Linuxの基本を勉強
- 1冊の本に沿って進める
- 輪講形式
- 約3ヶ月

以上を踏まえて，周囲の人と相談しながら以下のように決定しました．

- Linux以外にも広く扱う
    + git / github
    + Python
    + Docker
- 講義形式で進める
- 約3ヶ月

1つ目に，昨年度のゼミで深い部分までLinuxを勉強したことでエラーへの対処が容易になった実感はあるものの，他にも必要な知識があるはずという判断で，広く（昨年に比べ）浅く扱うことにしました．
2つ目に，広い範囲の内容を扱う上で，輪講形式は研究室に入りたての学生には負担が大きいと感じたため，講義形式で実施することにしました．
3つ目に，期間は昨年のゼミに習って約3ヶ月としました．卒論の時期と被ってしまうということもありますが，一番の理由は長くなりすぎるとダレてしまうということが危惧されたためです．


# 内容の肉付けをしよう
先に決定した要件に従って，どういった内容をどういった順番で教えるべきかを決めていきました．全ては書いていませんが，最終的な内容は大まかに以下のような感じです．

1. 初期セットアップ
    + 連絡用ツールを始めとする研究室内で利用するシステムに必要なツールのインストール
2. Linuxの基本
    + 基本的なコマンド
3. git / githubの基本
    + gitとは
    + 基本的な使い方
4. Pythonの基本
    + 基本文法
    + 頻出ライブラリ
    + 環境構築
5. Dockerの基本
    + 仮想環境とは
    + 基本的な使い方

意識した点は「**実践的な知識を（重点的に）伝えること**」「**共通して必要になる知識を伝えること**」でした．昨年のゼミは実践的なものはあまりなく，どちらかというと学問的な要素が強かったように感じます．それが悪いわけではないということは明言しておきますが，今回の要件（広く扱う）には合わないため，即戦的な知識となるように意識しました．
また，昨年のゼミではLinuxを重点的に扱ったため，ゼミの終了時点で同期の間でゼミで扱った以外の知識の範囲に大きなバラツキがありました．これはこれで同期の間のコミュニケーションのきっかけになったという点でメリットがありましたが，前提知識のバラツキが無いに越したことはないと考えました．

上ではサクッとまとめていますが，実はゼミを進めながら試行錯誤しており，最初は正しさ（厳密さ）をどの程度求めるかが分からず，新入生にとっては非常に難しいものとなってしまいました......（すみません）

# 日程調整をしよう
実はこれが結構大変でした．個人的には一番大変なポイントだったかなと思います．
最初はSlackで日程調整をおこなったのですが，思った以上にレスポンスが悪かったです．（決して愚痴を言っている訳ではなく，自分の認識が甘かったという話です．）
おそらく原因として，研究室に入りたての学生にとってチャンネルで発言するのはハードルが高いことと，そもそもSlackを使用するのが初めての人が多かったことが挙げられるかなと思います．

これを受けて以下のような工夫をおこないました．

- プライベートチャンネルを作成する
    + 効果：小
- 対面でコミュニケーションを取る
    + 効果：大
- スタンプなどのリアクションを求める
    + 効果：中
- 文面を可能な限りフランクにする
    + 効果：小 ～ 中

最も（個人的な印象で）効果が高かったのは「**対面でコミュニケーションを取る**」ことだったかなと思います．実はこれまで，ただのMTGはオンラインで全てやれば良い，とさえ考えていたのですが，対面でのコミュニケーションを意識的に取るようにしてその効果を実感してからは，全てオンラインでやるのは味気ないのかなとも感じるようになりました．


# 手を動かすようにしよう
方針を決定する段階で講義形式を選択したのですが，そこで付きまとう問題として「演習が不足する」ということが挙げられると思います．この事自体は初めから予想はしていたものの，それほど大きな問題ではなく，簡単に対処できるだろうと考えていました．しかしながら，思っていたよりも大きな問題に直面しました．それは「**理解度が確認しにくい**」「**モチベーションの維持が難しい**」ことです．
「理解度が確認しにくい」ということの影響は思った以上に深刻でした．当初は（対面で実施しているので）反応を見れば理解度が分かるだろうという程度に考えていたのですが，思ったより難しいです．（先生ってすごい......）また，「モチベーションの維持が難しい」ということは完全に想定外でした．

この対策として以下のような工夫をおこないました．

- （無料）学習ツール / サイトを紹介する
    + 効果：中
- ロードマップを提示する
    + 効果：小
- 復習になるような簡単な演習を実施する
    + 効果：大

「学習ツール / サイトを紹介する」という対策は**取り組めば**理解が深まるとは思うのですが，取り組むかどうかはその人次第となり，学生全体の指導としては良くない点も多いと感じました．また，同様にロードマップを提示するというものもその人次第となり，さらにロードマップだけでは取り組みにくい点もあったようでした．
今回，効果的だったのは「**復習になるような演習を実施する**」ということでした．これが今回のゼミにおいて効果的であった理由として，「**能動的に働きかけたこと**」が挙げられるのではないかと思います．右も左も分からない人にとって，自分で考えてどうにかするというのは中々にハードルが高いということが再認識できました．


# 最後に
今回のゼミで指導する立場になって，自らの経験不足を痛感しました......
この経験を糧に，ゼミや他の場面にも活かすことができればと思います．