教育

もう挫折しない! 得意な人も、苦手な人も学びやすい
アンサンブル・プログラミングの試み【古川知志雄准教授】

横浜国立大学では、学部・学科を問わず、プログラミングを学ぶことのできる授業の充実を図っている。しかし、「何がわからないのかがわからない」という初学者が多いのも事実だ。古川知志雄先生の授業では、初学者にとってのつまずきやフラストレーションを緩和し、すでにスキルがある学生も理解を深めていける「アンサンブル・プログラミング」を取り入れている。

目次

経済学におけるプログラミングの重要性

あらゆる分野でデータ分析の需要が高まっているが、それは経済学も例外ではない。古川知志雄先生は、「学問も技術や社会に応じて変化するもので、近年の研究の8割から9割が実証研究や統計分析になっている」印象を受けるという。

実際、先生が2年前に世界最大規模のアメリカ経済学会の年次大会に参加されたとき、各日50もののパラレル(同時)セッションが3日間開催されたが、純粋に理論のみのセッションは数えられるほどのみで、ほとんどが応用の政策効果に関する分析や統計手法、何らかの形で実証研究をむすびつけるものだった。もちろん、学会によって理論がより主要なものも多くあるけれど、実証研究の広がりに、他の先生もショックを受けていた。

もちろん経済学を学ぶ上ではきちんと理論を勉強し、理解することは不可欠だ。それでも、過去30~40年ほどをかけて、実証研究がより大きな流れとなっている。

データ分析にはなぜプログラミングが大切か?

表計算ソフトとしてより身近なものとしてExcelがある。カーソルを当てて図やグラフを作ったり、ある程度、表や図を変形させたりできるが、なぜ新しいプログラミング言語を学んで、自分でコードを書き、解析する技術が重要なのだろうか。古川先生は次のように話す。

「コードを書いて分析することが役立つ理由は、主に2つあります。まず、データの結合など、Excelの操作では難しいこともできるので、分析のできる範囲が広がります。そして、コードを保存・公開することで、データをどのように整形し、変数がどのようにつくられているかを明確に記録し、第三者にとっても検証しやすくなります。」

古川先生は公共経済学が専門。政策に関する理論的な側面と実証データを使って生活に関わるデータの分析の研究や、統計手法に関する新しい推定方法の検討を行っている。

アンサンブル・プログラミングとは?

通常、統計学の授業というと、記述統計の基礎から始まり、確率論、回帰分析、そしてその後に重回帰分析や機械学習などについて学ぶことから始まる。そうして知識を学んだうえで、一人ひとりが自分のPCに向き合って黙々とコードを書き、エラーメッセージと苦闘するのが一般的だ。

これに対して古川先生は、プログラミングの授業にアンサンブル形式を取り入れた。従来の一人で課題を進めていく「ソロ形式」に対して、「アンサンブル形式」ではひとつの課題にグループで取り組むもの。大学の授業に取り入れた例は身近になく、ユニークな試みといえる。

対象は2年生以上で、課題もマクロ経済やビジネスのデータに加え、プロ野球の投手と打者の過去の成績データなど、学生の関心を持ちやすいものに工夫をした。学生たちのアイデアでいろいろなデータを変数に取り入れることができ、取り組みやすい内容となっている。

メンバー全員がPCを共有し、意見を出し合いながらプログラミングを行っていく。キーボード担当がコーディングを進めるのではなく、あくまでメンバーの提案を聞いて打ち込む「書記」の役割。10分ごとに配置はローテーションされるので、得意な人に任せきりにはならない仕組みだ。

アンサンブル・プログラミングは学年やスキルレベルが異なる4~5人でチームを構成。学生が笑顔で取り組んでいるのが印象的だ。

つまずきが減るのがいい――受講者の反応と感想

受講生のアンケートによれば、履修学生の70~75%がアンサンブル形式でプログラミングの実践を経験することが、ソロ形式より効果的だと答えている。

プログラミング初学者の場合、「ここはどう書くのかな」と詰まってしまう「挫折ポイント」がある。スチューデントアシスタントを務める五十嵐大和さんは「最初の方でつまずいてしまうと、その後に進めずに終わってしまいます。その点、アンサンブル形式だと、授業中に課題100のうち10しか分からなかった学生も、50~60くらいまでみんなと一緒に進めることができます」と話す。

授業に参加した林原七音さんは「みんなと喋っていると、自分と同じぐらいわからない人もいるんだとわかるし、学生同士だからこそ気軽に相談できます」という。「もちろん全部自分でできればそれが一番いいと思います。でも、そうではない人の方が多いし、ちょっとした成功体験を積み重ねることが次の学ぶ意欲につながると感じました」

スキルレベルが異なる学生が1つのチームになることで、得意な学生が苦手な学生に教え、苦手な学生も質問しやすい。それによって経験者は理解を深められる。また、話し合いを通じて自分の発想にフィールドバックを得られるのもうれしい点だ。

どの変数を使うかなどはグループの裁量に任されるので、同じ課題でも分析結果が違ってくる。

アンサンブル・プログラミングのメリットやデメリットやソロ・プログラミングとの比較などをみても、学生は好印象を示している。

横浜国立大学経済学部を志望する皆さんへ

例えば今、社会ではヤングケアラーの問題がある。これは子どもと直接関わる先生たちの気づきから始まり、それを受けた内閣府の調査により実態が把握されたことで、政策課題として認識された。個別の認識を社会全体の共通認識とし、問題として把握するためにはデータの適切な分析が重要だ。そこでプログラミングやデータサイエンスの知見が生きてくる。

「プログラミングはあくまでもツールでしかありません。たとえば、ガザ地区の空爆において「何百人が犠牲になりました」と数字のみが注目されがちだけれど、その背後に一人ひとりの物語があるという“We are not numbers.”というガザ攻撃の被害者の運動がありました。だから、定量化が政策作りの論理的な基盤として重要だという視点を持ちながらも、物事の深刻さや意味づけをするのにデータしか見ない人間になってほしくはありません。まずは広く社会経済のことを知ってもらいたいと思います。その問題を見る目があってこそ、データサイエンスやプログラミングの力が本当に生きてきます。」

左から、五十嵐大和さん(経済学部4年、神奈川県・聖光学院高校出身)、古川知志雄准教授、林原七音さん(経済学部3年、鳥取県・米子北高校出身)。

2024年度インタビュー