はじめに
こんにちは、GxPのあさかです。
この記事はグロースエクスパートナーズAdvent Calendar 2024の23日目の記事です。
GxP社内では様々な有志による勉強会が開催されており、2日目の記事でも紹介した通り、僕は約5年くらい競技プログラミングをやっているので、その経験を活かして今現在社内でアルゴリズム・数学勉強会を開催しています。
その勉強会でやってることや心がけていることを少しだけ紹介したいと思います。
やってること
週に1回、米田 優峻 (著)問題解決のための「アルゴリズム×数学」が基礎からしっかり身につく本をベースに、僕自身が内容を説明し、参加者がそれを聞くという学校の授業スタイルで進めています。
数学・アルゴリズムを座学で理解するパートと、学習した内容を演習問題として実装するパートがあり、プログラミングの問題はPythonを使って解いています。
僕は義務教育~高校卒業レベルのベーシックな数学は一通り理解していて、大学でも理論的なことについては学んだので、毎回特に予習をすることなく勉強会に臨んでいますが、時々鋭い質問が飛んできて驚かされることもしばしばあります。
詰まりそう・理解が難しそうなところは「ここでわからなくてつまづいた」「こうやって考えたら理解できた」という自分の経験もフルに活かして丁寧に説明することを意識しています。
心がけていること
全員に参加してもらう
こういう「ひとりがしゃべって他の参加者は聞くだけ」スタイルの勉強会・授業にありがちだと思うんですが、しゃべってる人以外は注意散漫になってしまうことです。せっかく時間を割いて参加してもらっているのに、内職していたらお互いの時間がもったいないと思うんですよね。
そこで、全員に発言するチャンスが回ってくるように、参加者に発言を求めるようにしています。
例えば、最初の式変形は僕が説明して「じゃあ同じように式変形するとどうなる?〇〇くん教えて」みたいな感じで、簡単な内容でもすべて僕が答えを埋めずに発言を促すようにしています。
リアルタイムで参加者の理解度を聞くことで、今の内容をもう少し丁寧に説明したほうがいいのか、しっかり理解できているのかも把握することができます。
「なぜ?」を大切にする/理由を言語化してもらう
数学というのは、理由無くして突然答えが降ってくるということは絶対にないです。
上で紹介したように、参加者には勉強会内で発言をしてもらうようにしていますが、「答えを言うだけで終わらせない」ということを意識しています。例えば以下のような感じです。
あさか:「10種類のアイスの中から3つのフレーバーを選ぶ組み合わせ」を計算をしてください
参加者:10C3?
あさか:なんでそう思った?
この場合、答えは10C3(120通り)で正解です。ただ、正解だったとしても(もちろん不正解のときも)「なんでそれが答えだと思いましたか?」ということを、簡単な問いかけ以外は必ず聞くようにしています。直近で扱ってた式を勘で言って当たるパターンもあれば、正しく理由を説明できるパターンもありますが、誘導しつつ必ず参加者の口で正しい答えとその理由を説明してもらうようにしています。
これは数学ガールの著者として知られている結城浩先生の考えからきています。よければこちらも併せてお読みください。
また、昨今AIが進化して、結構ハイレベルなコーディングも提案してくれるようになりました。その一方で、エンジニアが担保すべきなのはプロダクトの質です。「なんかAIが提案してくれたの書いたら動いたけど、どういう内容なのかよくわかりません」ということでは困ります。「わからなければ自分で裏取りをして、正しく動く理由を説明できるようにする」という習慣をつけてもらえればな、という思いも少しだけあります。
メモを取るのに一生懸命にならないようにしてもらう
こういう授業みたいなものに限らず、LTとかもそうですが、大事なことって資料には書いてないんですよね。
本質は頭に刻んで、あとから本や資料を見れば「そういやあのときこんなこと言ってたなー」となるような状態がベストだと考えています。「これは大事だから何回も言うからね」とか「あとで本見ればいいよ」というようなことを何度か言った覚えがあります。
硬い雰囲気にならないようにする
有志の勉強会なので成績を付けるわけでもなく、当然人事評価や昇進なんかも関係ありません。静かにやるよりワイワイやってた方が楽しいし、つまらないよりも楽しい方が参加していて嬉しいと思います。数学の授業ってどちらかというと難しいな、つまらないな、というイメージを持ってる人が多いんじゃないかと勝手に思っていますが、できればそういうイメージを払拭してもらえるようにやっています。
また、勉強会での交流を通して、勉強会以外の場面でもコミュニケーションを取れたらそれはとても嬉しいことです。
おわりに
僕が参加している勉強会の話をしていきました。
勉強会に参加している方・主催している方が少しでも参考になれば嬉しいです。
話の終着点がよくわからなくなってしまったのでこの辺で...
「存在すれば一意」という表現ができているのは偉いです。じゃあ「存在しないときはどうするんですか」と思う人もいると思いますが、存在しないときはどうでもいいんです。