ラベル 教育 の投稿を表示しています。 すべての投稿を表示
ラベル 教育 の投稿を表示しています。 すべての投稿を表示

2025年8月9日土曜日

2025年度ベトナム研修

毎年,8月の第2週に開催しているベトナム研修,今年は8/3〜8/8のスケジュールで,無事,開催された.今年で8回目の開催である.昨年の様子は「2024年度ベトナム研修」をどうぞ.毎回,NECベトナムの皆様には多大なご協力,ご支援をいただいている.この場をお借りして御礼申し上げます.m(_ _)m


今年の中央大学からの参加者は3年生6名であった.昨年と同規模である.8/3の22時半に羽田空港に集合し,深夜便で,HCMCに向かった.

研修の様子

研修のスケジュールは,ほぼ例年どおりの,次のようなものである.

  • 8/3, 22時30分羽田空港集合,深夜便にてHCMCへ
  • 8/4, ホテルチェックイン後 e-Town に移動,昼食,午後,NEC訪問,NECの皆様によるレクチャーとWSの用意(会場準備,お茶菓子の買い出しなど)
  • 8/5, 日越合同Workshop初日.自己紹介,イントロダクション(飯尾),プレゼンテーション(日本側参加者・ベトナム側参加者),グループワーク
  • 8/6, 日越合同Workshop二日目.グループワーク(続き),プレゼン準備,最終プレゼンテーション・講評,閉会式
  • 8/7, 市内視察,夜便にて帰国
  • 8/8, 早朝,羽田空港着.解散

今年もグループワークでは活発なコミュニケーションが行われ,最後は素晴らしいプレゼンテーションとディスカッションができただけでなく,いつものように日本とベトナムの学生たちの友好関係が築かれた.

2025年6月23日月曜日

カッコと句読点

学生の論文指導をしていると,学生がよく間違える書き振りにはパターンがあることに気づく.今回指摘したい事項は,文末のカッコの取り扱いである.

そもそも,文末の参考文献リストに挙げている文献を本文中で参照していなかったり,挿入した図版の参照を本文中でしていないなど,論文のルールを逸脱した文章を平気で書いてくる.いかに論文を読んでいないかが明白なのだが,そこは,何度も根気よく指導していくしかなかろう.

そのような草稿を書いてくるので,「挿入した図版は本文で参照して説明しないといけないんだよ?一番イージーな参照方法は,カッコ書きで(図x)って入れればいいから」と指導した結果が,先に示した状況である.参考文献の引用記号の挿入でも多くの学生が同じミスをする.

本来,文Aで参照しなければならない「(図x)」を,句点の後に書いてしまうと,どうなるだろうか.「文A.(図x)文B」となるはずである.これでは,文Bにくっついてしまうではないか.とても気持ち悪いのだが,そう思わないのかな?

そんなことをSNSでぼやいていたら,Y先生が,「ここは『なぜこれが直感に反すると感じられるのか』という研究を始めていただいて……」と指摘してくださった.さすがにこのような研究をされているひとはすでにいるのではないか?と探してみたら,「日本語における句読点使用の定量的研究」というタイトルで,似たような研究をして学位を取ったかたがいらっしゃるではないか(いろいろな研究があるもんだなあ).

当該論文は要約しか読めていないが,博士論文の要約によると,第7章で,句点とカッコの関係性を論じている.そのままズバリではないが,こんな感じ(要約の該当部分を引用する)である.

句点と閉じパーレンの組み合わせでは,「パーレンのみ」は Yahoo!知恵袋とYahoo!ブログ,書籍,雑誌において半数以上を占め,最もよく使われる組み合わせであることがわかった.また,次に多く使用されていた「パーレン-句点」は書籍と新聞,教科書で多く使われる組み合わせであった.「句点-パーレン」は白書において多く使用されていた組み合わせであったが,文末というよりは,資料の引用を示すために文中で使用される例がほとんどであった.

カッコ閉じるで句点を使わず終わりにするパターンが一番多かったというのはやや意外ではあったが,電子的なテキストなどでは,そのようなケースも日常的に使われるだろう(たしかに,そのような指摘がなされている).書籍では「).」という組合せが多いというのは,私の感覚と合致する.そしてその逆は,文中のケースが多かったとのこと,さもありなんである.

ということで,正解は確認できたものの,なぜ学生たちは「文A.(図x)」としてしまうのか問題は未解決のままである.誰か解明してみませんか?

2025年6月19日木曜日

オンデマンド講座の(思わぬ)落とし穴

中央大学には「クレセント・アカデミー」という市民講座がある.私は運営委員の一人でもあり,もう長いこと,いろいろな講座を担当してきた.

最近のチャレンジとして,講義を録画して「オンデマンド講座」として提供する試みが始まっている.といっても,まだ,提供コンテンツはそれほど多くない.現在は,瀧澤先生のゲーム理論講座と,私のプロジェクトマネジメント入門が提供されているだけである.

このオンデマンド講座の試みは数年前から試行されており,事務局から,オンデマンド講座として提供してよいですか?と問われ,そのときは深く考えることなくOKした.とくに断る理由も思いつかなかったからだ.そして,それで問題ないと思っていた.

ところが,ここへきて,少し困った問題が発生した.それは,オンデマンド講座用に講義内容を提供してしまうと,翌年から同じ内容の講座を開けないという問題である.

以前なら,同じ内容で数年は講座を維持できた.しかし,現在,全てオンデマンド用に提供していいですよと快諾してしまったため,毎年,新しいテーマの講座を捻り出さねばならなくなっている.これは困った.

今年実施している「はじめての生成AI」講座は,私が担当する講座としては例年になく人気が高く,キャンセル待ちが出たとのことだが,これもオンデマンド用に録画しているので,来年は実施できない.

1回90分,それを3回実施するクレセントの講座である.新たな内容を毎年考えなければならないのは,なかなかしんどい.オンデマンド講座用に何本も講座を提供したのだから,来年は休ませてもらう交渉でもしようかしらん.

2025年4月13日日曜日

数学の深イイ問題

高校レベルの数学の問題ではあるが,なかなか面白い問題を教えてもらったので紹介したい.まずは次の図をみてほしい.

「左下の点Aから,右上の点Bに,最短距離となるように線上を移動するとする.このとき,点Pを通る確率はいかほどか?ただし,どの道を選ぶかの確からしさは一様に等しいものとする」という問題である.

答えを見る前に,少し考えてみていただきたい.どうだろう?(答えを知りたい方は,スクロールしてみてください)

問題の解答

角で曲がりつつ,最短距離を通ってAからBに移動するとき,何パターンの経路があるかを考えてみよう.

AからBに至るまでの最短経路は,どのパターンであっても必ず7個の辺を通る.ここで,上に行く場合を「↑」とし,右に行く場合を「→」で表現する.Aから真上に進んで左上の角を通ってBに至る経路は,A↑↑↑→→→→Bと表現できる.同様に,上に2回進んで,最上段は左から二つ目のパスを通ったとすると,A↑↑→↑→→→Bである.右下の角を通る場合は,A→→→→↑↑↑Bとなる.次の図のケースであれば,A↑→↑→→↑→Bである.

さて,ここまで気付けば,もうゴールは近い.どの経路を選ぶにしても,AからBまで行く7個の経路のうち,3個が「↑」,4個が「→」という性質は変わらない.言い換えれば,7個の選択肢のうち,どの3個を「↑」として選ぶか,その選び方は何通りあるか?である.ようするにこの問題は,7個から3個を選ぶパターンはいくつかあるか?という問題に帰着する(7個から4個の「→」を選ぶ個数でも同じである.なぜならば,3個選ぶと残りの4個は自動的に決まるからである).

ということで,これは組み合わせの数として計算できる.すなわち,7C3 = 7! /(3!・4!) = 35,AからBまでは,35通りの経路があるとわかった.

そのうち,Pを通るものは,AからPへの経路とPからBへの経路の組み合わせで表現できる.この場合は3C1×4C2 = 3×6=18.ということで,Pを経由する確率は,18/35 = 0.514,およそ半分強であると求められた.■

問題の条件が変わると……

ところで,問題が次のようなものであったとしたら,どうだろうか?

「左下の点Aから,右上の点Bに,最短距離となるように線上を移動するとする.このとき,点Pを通る確率はいかほどか?ただし,2方向に進めるときにどちらの道を選ぶかの確からしさは等しいものとする

先ほど求めた答えと同じ,Pを経由する確率は18/35?

否,そうではない.

Aから出発し,最短経路を選ぶとき,上図のように上に進むか右に進むかの選択肢がある.このとき,どちらか(赤と青)を選ぶ確率はそれぞれ1/2である.

ということは,Pに到達するまでには,3回の岐路を通っていくことになる.

Aから3回,どちらを通るかを選択した時点で,次の図の赤丸で示した点のどこかに居るはずである.そのなかにはPも含まれるが,Pに至る確率はいかほどだろうか.

二つの選択肢を3回選ぶパターンは,2^3=8通りある.それぞれのパターンを選ぶ確率は,2方向に進めるときにどちらの道を選ぶかの確からしさは等しいとの性質から(1/2)^3,すなわち1/8である.

さて,点Pに至るパターンはいくつあるか.これは,先ほど計算した3C1,つまり,3通りある(次図).

ということは,Pを経由する確率は,8通り中の3通りであって,8通りの確率が同様に等しいことに鑑みれば,3/8ということになる(残りの進み方は,どの経路を辿っても残り3回の交点の通過を経て最終的には最短経路でBに到達するので,考える必要はないことに注意).■

二つの問題の違い

さて,ほとんど同じようにみえる二つの問題だが,微妙な条件の違いで異なる答えとなった.問題を再掲する.

問題1:「左下の点Aから,右上の点Bに,最短距離となるように線上を移動するとする.このとき,点Pを通る確率はいかほどか?ただし,どの道を選ぶかの確からしさは一様に等しいものとする

問題2:「左下の点Aから,右上の点Bに,最短距離となるように線上を移動するとする.このとき,点Pを通る確率はいかほどか?ただし,2方向に進めるときにどちらの道を選ぶかの確からしさは等しいものとする

問題1の答えは18/35、問題2の答えは3/8である.このことから,次のような教訓が得られる.

「問題文は注意深く読み,問われている内容に適切に解答すること」

端的に表されるので数学の問題を例にして説明したが,これはなにも数学の問題に限った話ではなかろう.いずれにしても,本問はまさに,読解力や論理的思考の必要性を感じさせる,良問であると感じた次第.

2025年2月28日金曜日

2024年度インドネシア研修

2月の20日から26日まで,飯尾研有志(2年生4名,3年生2名,4年生4名)でインドネシア研修を実施した.2月22日にYogyakartaのジャガマダ大学で開催されたSPICE2025における発表(4年生)と,24, 25日に実施したYogyakartaの高校訪問において中央大学を紹介するプレゼンテーション(2, 3年生)が主な目的である.

SPICE2025では,以下の内容で発表した(私も,与えられた枠の前半を使い,概要について報告した).

Iio, J., Saito, Y., Iijima, M., Ito, N., Ogaki, R., Morimitsu, I., and Miyamoto, Y., (2025) SMILE Project Report, The Case of KMITL and Chuo iTL in AY 2024, The 5th International Conference on SMILE Project and Intercultural Communication Education (SPICE2025), Yogyakarta, Indonesia.

また,2, 3年生のプレゼンテーションも,時間が足りなくなって少し慌てたところはあったが,それなりにカッコよくできた.素晴らしい(写真は,私が彼らを紹介しているところ).

23日の日曜日には,研修のエクスカーションとして近隣にある世界遺産のボロブドゥールとプランバナン寺院群を視察,インドネシアの文化・歴史も学び,有意義な研修になったことだろう.

2024年9月17日火曜日

2024年度台湾研修

例年,海外への研修は3年生と4年生(場合によっては2年生も)混在で出掛けているのだが,今年は,8月の頭に実施したベトナム研修には3年生だけが参加した.4年生は昨年のベトナム研修にすでに参加しているからという理由である.そこで,今年は,4年生は4年生で別の場所に行きたいと,台湾を訪問することなった.

9月14日に大学院入試がありまた18日から国際会議で韓国に出かけなければならないと,私が少し忙しかったため,9月の15日から17日,2泊3日というかなり多忙なスケジュールとなった.しかし,TSMC博物館(TSMC Museum of Inovation, 台積創新館)と故宮博物院を見学し,最先端のデジタル技術と悠久のアナログ資産の両極端に触れられたのは,学生たちにとってとてもよい経験になったのではないだろうか.

TSMC博物館は私も初めての訪問である.今をときめく半導体メーカーのTSMCが公開している博物館で,見学には予約が必要だが,丁寧で分かりやすいガイド付きで案内してくれる.なお,TSMC博物館は台北から少し離れた新竹科学工業園区にあり,やや行きにくいのが難点か.台湾の新幹線,高鐵に乗り高鐵新竹駅まで行き,そこからタクシーで1,000円程度である.

TSMC博物館の展示物は,デジタルデバイスで使用されている半導体の説明,集積回路(IC)の進化,そしてTSMC創設者,モリス・チャン博士の紹介といったところで,小規模ではあるものの,興味深い展示物が公開されている.

世界最大の半導体や同じく最小の半導体(体内に入れるカメラ)など,他ではなかなか見られないICや,古いCPUと最新のCPUでどれだけ処理能力が違うかなど,いかにも最先端のデジタルミュージアムという仕掛けが仕組まれていて面白い.

たとえばこの写真,一見,なんともない展示のようにみえるが,奥にある物体はVRゴーグルやコントローラの実物であり,手前は透明ディスプレイに表示されたデジタルコンテンツである.透明ディスプレイを上手に利用した展示になっている.

VRライドで仮想現実を体験できる施設もある.私はVR酔いにはわりと強いほうのつもりだが,隣に座った学生が途中で「ぐぇー気持ち悪い」と中断していたのでつられてちょいと酔ってしまった.

さて,せっかく台湾を訪れたからには現地の文化も楽しむべきだろう.海外の楽しみといえば現地の料理.夜は台湾料理と台湾啤酒を楽しんだ.台湾料理,美味しいよね.

2024年8月19日月曜日

数学的思考とは

次のマンガは,FacebookのMeme for mathematiciansというページに掲載されていたものである.皆さん,いかがだろうか.共感する?しない?

さて,このマンガ,数学的思考あるいは数学的センスを身につけているひとにとっては,全くナンセンスである.なぜならば,1 = 0.99999…… という等式は,きわめて「当たり前」にしか感じないからである.

0.99999……,この表現を「数値そのもの」ととるか,あるいは,「数値+演算子(operator)」,「操作(operation)」または「式(formula)」ととるかで解釈が異なるだろう.前者と捉えた場合,最後のコマのようにwhat the fuckと感じるのもさもありなん,ではある.

後者の考え方によれば,0.99999という数に「……」という操作(オペレーション)が加わっていると理解できる.「……」は「その後に9が延々と続く」という操作である.分かりにくければ,循環小数を表すときに使われる,「0.9*」(9の上にドットを書く,この場合は適切に書けないのでアスタリスクで表現するものとする)という表現ではどうだろうか.この場合,「0.9」という数値に「*」という演算子が与えられていると捉えられよう.そして,そう考えれば,1 = 0.9* という式に,何の違和感も覚えないはず.

なお,初等数学で習う演算子のほとんどは,演算子の対象とする被演算子(operand)が二つである二項演算子(たとえば a + b とか,a ÷ b の場合,+や÷が演算子で,aとbが被演算子である.被演算子が2つあるので,二項演算子という)である.対して,今回考えた0.9*は,「*」という演算子に対して被演算子が0.9である,単項演算子なので,その点についても違和感を覚えるかもしれない.しかし,皆さんお馴染みの「√」記号,これを「平方根をとる」という演算子と捉えれば,被演算子が一つなので,それも,単項演算子である.階乗を表す「!」,たとえば 4! = 24 も,単項演算子(被演算子の後ろに置くので,後置演算子という)である.

ところで,1 = 0.9* にまだ納得できないひとは,これならばどうだろう?1=1^♾️ あるいは 1=9^0,前者は1を延々に掛け続ける操作,後者は9のゼロ乗である.いずれも,等式としては正しい.1=1^♾️ や 1=9^0 を理解できるのならば,1 = 0.9* を受け入れるのは,そう難しくないと思うのだが.

2024年8月12日月曜日

2024年度ベトナム研修

毎年,8月の第2週に開催しているベトナム研修,今年は8/5〜8/11のスケジュールで,無事,開催された.2014年に文学部主催の全学向け科目「グローバル・スタディーズ」として開講されたこの研修,2018年まで5年間,継続して開催されていたものの,2019年に飯尾の新学部(iTL)異動に伴い,いったん中断されていた.iTLでの再開を画策していたところへCOVID-19パンデミックである.昨年,2023年にようやく再開でき,今年で7回目の開催となった.

毎回,NECベトナムの皆様には多大なご協力,ご支援をいただいている.この場をお借りして御礼申し上げたい.今年も,カウンターパート学生の募集,会場の提供,ご講演,様々な側面支援と,同社のご支援がなければ成功しないイベントである.

今年の中央大学からの参加者は3年生6名,例年より少なめではあったが,このくらいコンパクトなほうが動きやすい.8/5の22時に羽田空港に集合し,深夜便で,ベトナムはHCMCに向かった.

今年の改善点

今年の成功ポイントのひとつが,TSN空港(タンソンニャット・ホーチミン空港)から市内への移動である.後述するように今年はGrabを利用した移動で効率よく動けたのだが,最初の移動をまとめて1台でできたのは安心感が大きかった.Booking.comであらかじめ予約しておいた8人まで乗れるバンで,ホテルまで全員で移動できた点は大きい.4月にハノイで同サービスを利用したときは,なかなかドライバーと合流できずあたふたしたが,今回はスムースに利用できたのもよかった.

あらかじめ日本で,現地で使えるsimカードを用意していったことも,これまでと比べて格段に大きな安心感をもたらした.なにしろ「誰かがはぐれてもなんとかなる」というのは心強い.これまではwifiルータを何台か持ち込んで対応していたが,やれ「バッテリーがありません」だの「接続できません」だの,トラブルの種になっていた.各自が自分専用の通信端末を持てたのは行動に大きな自由度を与えた.

移動はGrabを利用した.これまではタクシーを利用していたが,アプリを用いてどこでも呼べる手軽さがよい.運賃もタクシーより,若干,安い.ただし,最終日の最後の移動はタクシーを利用した.週末でホテルの周囲に交通規制があったり,大きなスーツケースを抱えての移動だったりと条件がキツい場合には,ホテルの人に呼んでもらう大型のタクシーが優れている.

研修の様子

研修のスケジュールは,ほぼ例年どおりの,次のようなものである.

8/5, 22時羽田空港集合,深夜便にてHCMCへ
8/6, e-Townに移動,昼食,午後,NEC訪問,NECの皆様によるレクチャーとWSの用意(会場準備,お茶菓子の買い出しなど)
8/7, 日越合同Workshop.自己紹介,イントロダクション(飯尾),プレゼンテーション(日本学生・ベトナム学生),グループワーク
8/8, 日越合同Workshop.グループワーク(続き),プレゼン準備,最終プレゼンテーション・講評,閉会式
8/9, エクスカーション(HCMC郊外視察)
8/10, 市内視察,夜便にて帰国
8/11, 早朝に羽田空港着,解散 

今年もグループワークでは活発なコミュニケーションが行われ,最後は素晴らしいプレゼンテーションとディスカッションができただけでなく,いつものように日本とベトナムの学生たちの友好関係が築かれた(写真).

本研修の真の目的は,異文化を知り,国際感覚を身につける点にある.語学力の涵養もさることながら,お互い第二言語である英語を用いて,不足する部分は身振り手振りなりITのツールを用いるなりして,なんとかして意思疎通を図る努力が重要である.

ワークショップの内容はいわゆる「アイデアソン」ではあるが,日本およびベトナムの双方の学生で構成された混成チームで企画を練り,プレゼンテーションまで持っていくところに価値がある.

本研修に参加してみたいという若者は歓迎する.ぜひとも飯尾研の門を叩いてほしい.

2024年5月11日土曜日

皆さんのレポートを読んでの諸注意

以下は新入生が提出したレポートに対するフィードバックである.段落先頭の字下げや行間の問題はこのブログの設定に当てはまらないので忸怩たるところがないこともないが,学生に配ったフィードバックレポートそのものは,ワードプロセッサで作成した適切な文書で配布したことを補足しておこう.

(フィードバックここから)

皆さんが提出したレポートを読んで,気付いたことを述べる.自分が提出したレポートを以下の指摘と照らし合わせ,以下の項目に当てはまるひとは,次回から,注意しよう.なお,皆さんの書いてきた内容はどれも面白く拝読した.

1. 文体

レポートや論文は「ですます調」(「〜です / 〜ます」で終わっているような文)で書かない.「である調」で書くこと.また,口語と文語を区別すること.「こういった」や「そんな」というような書き振りは口語であってかしこまった文章には使うべきではない(SNSなどに書き散らかしている文章はその限りではないが,きちんと区別すること).

2. 全体の体裁

行間を適切な設定にする.通常,ワープロソフトの標準設定で使えば問題ないはず.無闇に行間を空けたり詰めたりしないこと.

「両端揃え」にすること.左側が揃っていない人はいないが,右側がガタガタになっているのはみっともない.下記のように指定して両側をきちんと揃えること.ワープロの機能は正しく使おう. 


3. 段落の取り扱い

「段落」というものを全く意識しておらず,改行が一切ない(!)レポートを提出したひとが何名かいた.文章は,意味のまとまりごとに段落に分けること.この文書も参考にせよ.この文書では,段落に分けるだけでなく,見出しも活用している.違う意味の内容を述べているかたまりは,ひとつの段落で表現すること.だらだらと書き連ねればよいというものではない.段落の長さは,目安として4〜5行くらいが妥当である.

段落の先頭は「一字下げる」.小学校で習ったはずである.せっかくなので,ワープロの機能をきちんと使って,次のような設定を用いて字下げを行うこと.空白文字で字下げをするのは不適切である(なぜか.考えてみよ).


4. 断定的記述

レポートや論文では,「断定」すること.「〜と思う」「〜と考える」などの表現は使ってはいけない.なぜならば,レポートはその書き手が考えたこと,思ったことを記述して報告するものであるから,そもそも「〜と思う」「〜と考える」という表現は「無駄」だからである.

断定するためには勇気が必要である.勇気を持って断定的に書き切るためにはその根拠が必要であり,そのために十分な調査やデータ分析,実験の実施などが求められる.そのことを肝に念じておいてほしい.

(ここまで)

2024年3月16日土曜日

沖縄研修・2024春

飯尾研春の研究室旅行……ではなく国内調査実習ということで2・3年生総勢17名で沖縄に行きました.訪問先は,琉球大学の琉ラボ,沖縄科学技術大学院大学(OIST),沖縄ITイノベーション戦略センター(ISCO)などです.

琉ラボでは,同ラボにおけるスタートアップ支援や起業等に関するレクチャーを受け,そのあと積極的な質疑応答が行われました.

OISTではその豪華な設備や森の中に突如現れるコミュニティに,まるでZootopia!と驚きました(私も開学前の準備期間に一度訪れたことがありますが,そのときからの変化にびっくり).

最終日,ISCO訪問では,那覇市職員の方による沖縄県経済やIT振興に関する説明,ISCO山田専務による観光DXの現状等に関する講義を受けたあと,活発な意見交換が行われました.

ISCO訪問のあと,夜の飛行機で帰京する前のちょっとしたエクスカーションとして,慶良間諸島のあたりまでホエールウォッチングに出かけました.大きなザトウクジラの親子に遭遇,何度も豪快なブリーチを繰り返してくれて,見応えがありました.

(NEWS staff 撮影)

2023年10月31日火曜日

データサイエンス・アイデアコンテスト

3大学(関西・中央・法政)共催 データサイエンス・アイデアコンテスト(協賛 マイナビ)の最終選考会に出場した4チームのうち,iDS飯尾ゼミから出場した2チームが特別賞を受賞しました.おめでとう!

大学からのニュースリリースはこちら,「開催報告:3大学(関西・中央・法政)共催 データサイエンス・アイデアコンテスト(協賛 マイナビ)最終選考会」です.

最終選考に残らなかったチームも,頑張りました.惜しかった.次回は全員入賞を目指すぞ!

2023年6月14日水曜日

演習用のソースコード

データをダウンロードする

!wget https://www.iiojun.com/iDS/2023/hachimap.kml
!wget https://www.iiojun.com/iDS/2023/libraries.kml

GeoPandasをインストールする

!pip install geopandas

モジュールを読み込む

import geopandas as gpd
import fiona
import folium
import matplotlib.pyplot as plt
from fiona.drvsupport import supported_drivers

データを読み込む

supported_drivers['KML'] = 'rw'
df = gpd.read_file('hachimap.kml', driver='KML')
df.head()

試しにプロットしてみる

df.plot(figsize=(12,12))
plt.show()

地図を表示する

m = folium.Map(location=[35.66, 139.28], zoom_start=12, tiles='openstreetmap')
m

町丁目区画を重ねて表示する

for _, r in df.iterrows():
sim_geo = gpd.GeoSeries(r['geometry'])
geo_j = sim_geo.to_json()
geo_j = folium.GeoJson(data=geo_j,
style_function=lambda x: {'fillColor': 'grey', 'color': 'grey',
'weight': 0.5, 'fill_opacity': 0.3, 'line_opacity': 0.1 })
folium.Popup(r['Name']).add_to(geo_j)
geo_j.add_to(m)

m

図書館の位置を読み込む

import pandas as pd
df_libs = gpd.read_file('libraries.kml', driver='KML')
df_libs

地図上に表示する

for _, row in df_libs.iterrows():
folium.Marker(location=[row['geometry'].y, row['geometry'].x], popup=row['Name']).add_to(m)
m

アイコンが大きすぎるので,地図を作り直してサークルマーカーで図書館を表示する

m = folium.Map(location=[35.66, 139.30], zoom_start=12, tiles='openstreetmap')

for _, r in df.iterrows():
sim_geo = gpd.GeoSeries(r['geometry'])
geo_j = sim_geo.to_json()
geo_j = folium.GeoJson(data=geo_j,
style_function=lambda x: {'fillColor': 'grey', 'color': 'grey',
'weight': 0.5, 'fill_opacity': 0.3, 'line_opacity': 0.1 })
folium.Popup(r['Name']).add_to(geo_j)
geo_j.add_to(m)

for _, row in df_libs.iterrows():
folium.CircleMarker(
location=[row['geometry'].y, row['geometry'].x],
radius=4, color='red', fill_color='red', weight=3
).add_to(m)

m

2023年4月19日水曜日

人々はエシカル消費をどう捉えているか

「エシカル消費」という概念をご存知だろうか.倫理的消費ともいい,倫理的に適切な消費行動かどうかという概念である.具体的には,フェアトレード(発展途上国との公正な取引)とか,フードロス(食品廃棄)の削減,再生エネルギー,地産地消などである.身近なところではマイバックとかリサイクルとか,節電や節水などもその範疇に入るだろう.

市井の人々はエシカル消費に関してどのような態度をとっているのだろうか.皆さんはどうですか?飯尾ゼミのメンバーで,それに着目して分析を進めた2年生(現3年生)のグループがいて,ちょっと面白い結果が出たので(一部だけ)ここで紹介したい.

彼ら彼女らの興味は,エシカル消費およびその具体的なテーマに関して,Twitterではどんなツイートがなされているのだろうか,というものである.さらに,収集したツイートに対してセンチメント分析(感情分析)を行い,ポジティブなツイート群の特徴や,ネガティブなツイート群の特徴を調べた.

ここではその一部を紹介する.次の図は,ネガティブ群のデータに基づいて作成した共起ネットワーク図である.

いくつか面白いトピックが現れているが,注目すべきは右下の「紙ストロー」を中心とするクラスタであろう.この「紙ストロー」,とにかく評判が悪い.ネガティブ感満載である.ポジティブ群にもいくつか現れているが,そのほとんどが「料理が美味しかった!ただ,紙ストローがねぇ……」というようなものである.

さて,研究の具体的な方法や,他の分析結果については,6月の春季HCD研究発表会で,学生が発表予定である.乞うご期待!

2023年4月18日火曜日

iDS演習第2回のソースコード

データの導入

import pandas as pd
df0 = pd.read_excel('ethical_tweets_original.xlsx')
df0 = df0.drop(df0['Unnamed: 0'], axis=1)
df0

リツイートと広告ツイートの排除

df1 = df0.drop(df0[df0['retweet']].index)
df2 = df1.drop(df1[df1['advertise']].index)
df2

キーワードとツイート内容の列だけのデータフレームにする

df3 = df2[['keyword', 'tweet']]
df3

{ キーワード,ツイート内容 } の dict に変換する

tweets = df3.to_dict(orient='records')
tweets

センチメント分析の下準備(1)

!pip install transformers
!pip install transformers['ja']
!pip install sentencepiece
!pip install ipadic

センチメント分析の下準備(2)

from transformers import pipeline, AutoModelForSequenceClassification
from transformers import BertJapaneseTokenizer, BertTokenizer, BertForSequenceClassification

# パイプラインの準備
model = AutoModelForSequenceClassification.from_pretrained('koheiduck/bert-japanese-finetuned-sentiment')
tokenizer = BertJapaneseTokenizer.from_pretrained('cl-tohoku/bert-base-japanese-whole-word-masking')
classifier = pipeline("sentiment-analysis",model=model,tokenizer=tokenizer)

センチメント分析をして極性とスコアを返す関数を定義し,取得したツイートに適用する

def classify(tw):
result = classifier(tw)[0]
return (result['label'], round(result['score'], 4))

col_names = ['label','score','keyword','tweet']
df = pd.DataFrame(columns=col_names)

for tw in tweets:
(label, score) = classify(tw['tweet'])
new_row = pd.DataFrame([[label,score,tw['keyword'],tw['tweet']]],
columns=col_names)
df = pd.concat([df,new_row],axis=0)

df

インデクスが全部0でおかしいので,それを修正

df = df.reset_index().drop('index', axis=1)
df

簡単なテキストマイニングをしてみる.その準備(1)

#GiNZAのインストール
!pip install ginza
!pip install ja_ginza

#Matplotlib日本語化のインストール
!pip install japanize-matplotlib

#GraphViz関連のインストール
!apt install libgraphviz-dev
!pip install pygraphviz

#日本語フォントのインストール
!apt-get -y install fonts-ipafont-gothic
!rm ~/.cache/matplotlib/fontlist-v310.json

簡単なテキストマイニングをしてみる.その準備(2)

import pandas as pd
import spacy
import ginza
import math
import matplotlib.pyplot as plt
from itertools import combinations, dropwhile
from collections import Counter, OrderedDict
import numpy as np
from networkx.drawing import nx_agraph
import networkx as nx
import japanize_matplotlib

STOPWORDS = ['\n', 'o', '\u3000', '\n\u3000','\u3000\n',
'お','す','り','ご','いる','ある','ない','こと',
'なる','ござる','する','いう','言う','思う']

nlp = spacy.load('ja_ginza')
ginza.set_split_mode(nlp, 'C')

@によるメンションを削除する関数を定義

def remove_at_mention(text):
words = text.split()
return ' '.join([ x for x in words if x[0] != '@' ])

単語を抽出する関数の定義

def extract(s):
text = list(s)[0]
text = remove_at_mention(text) # @xxx... を取り除く
doc = nlp(text)
retvar = []
for sent in doc.sents:
noun = ''
for token in sent:
if token.lemma_ in STOPWORDS: continue
if token.pos_ in ['NOUN', 'PROPN', 'NUM']:
noun = noun + token.lemma_
elif noun != '':
retvar.append(noun)
noun = ''
if token.pos_ in ['ADJ', 'INTJ', 'ADV', 'VERB']:
retvar.append(token.lemma_)
if len(noun) > 0: retvar.append(noun)
return retvar

単語に分割した結果を新たな列として追加されたデータフレームを作成

df['words'] = df[['tweet']].apply(extract, axis=1)
df

共起ネットワーク図を書くコードの定義

def conet(df, outfile, min_count=3, edge_th=0.12):
# jaccard係数を計算する(回答の単語登場数:3以上、jaccard係数:0.12以上)
jaccard_coef = []
pair_all = []

words_array = [ set(x) for x in list(df['words']) ]
for chunk in words_array:
tmp_pair = list(combinations(chunk, 2))
for i, pair in enumerate(tmp_pair): tmp_pair[i] = tuple(sorted(pair))
pair_all += tmp_pair
pair_count = {x: count for x, count in Counter(pair_all).items() if count >= min_count}

word_count = Counter()
for chunk in words_array: word_count += Counter(chunk)
for pair, count in pair_count.items():
jaccard_coef.append(count / (word_count[pair[0]] + word_count[pair[1]] - count))
jaccard_dict = OrderedDict()
for (pair, count), coef in zip(pair_count.items(), jaccard_coef):
if coef >= edge_th: jaccard_dict[pair] = coef

# グラフの描画
G = nx.Graph()
G.add_nodes_from(sorted(set([j for pair in jaccard_dict.keys() for j in pair])))
for pair, coef in jaccard_dict.items(): G.add_edge(pair[0], pair[1], weight=coef)

plt.figure(figsize=(15, 15))
seed = 0
np.random.seed(seed)
pos = nx_agraph.graphviz_layout(G, prog='neato',
args='-Goverlap="scalexy" -Gsep="+6" -Gnodesep=0.8 -Gsplines="polyline" -GpackMode="graph" -Gstart={}'.format(seed))

values = nx.pagerank(G).values()
nx.draw_networkx_nodes(G, pos, node_color=list(values), cmap=plt.cm.terrain, alpha=1.0, node_size=[100000*v for v in values],
edgecolors='black')
nx.draw_networkx_labels(G, pos, font_family='IPAexGothic', font_size=24)
nx.draw_networkx_edges(G, pos, alpha=0.7, edge_color='black', width=[d['weight'] * 8 for (u, v, d) in G.edges(data=True)])

plt.axis('off')
plt.tight_layout()
plt.savefig(outfile, bbox_inches='tight')

クラス分けする

df_nega = df[df['label'] == 'NEGATIVE']
df_posi = df[df['label'] == 'POSITIVE']
df_neut = df[df['label'] == 'NEUTRAL']

共起ネットワーク図を描く(ネガティブ群)

conet(df_nega, 'nega.png')

共起ネットワーク図を描く(ポジティブ群)

conet(df_posi, 'posi.png')

ワードクラウドを作ってみる

import wordcloud

path_to_font='/usr/share/fonts/truetype/fonts-japanese-gothic.ttf'

def mk_wc(word_array):
wc = wordcloud.WordCloud(width=1000, height=600,
background_color='white', font_path=path_to_font)
wc.generate(' '.join(word_array))
plt.imshow(wc)
plt.axis('off')

import itertools

def mk_wc_from_df(df):
mk_wc(list(itertools.chain.from_iterable(df['words'])))

ワードクラウドを描く(ネガティブ群)

mk_wc_from_df(df_nega)

ワードクラウドを描く(ポジティブ群)

mk_wc_from_df(df_posi)

2023年4月10日月曜日

iDS演習成果発表会2023・冒頭挨拶の書き起こし

みなさん,おはようございます.これ,中継しているんですよね,録画してるんですか……,してる.はい,わかりました.じゃあ,あまり変なことは喋れませんね(会場笑).

まあ,いまのは冗談ですが,はえある第1回の成果報告会ということで,会場も,素晴らしいところで,天気ももう,雲ひとつないいい天気ですね.本当に,恵まれた,成果発表会になったと思います.

10分間挨拶をせよ,ということで私もどうしたものかと,最近流行りのChatGPTに相談してみました.ということで,普段,私はこういうあんちょこを見ながら挨拶することはないんですが,今日は特別で,ChatGPTに,「AIデータサイエンス演習(iDS演習)で10分間の挨拶をしなければなりません.挨拶文を考えてください」という相談をしてみました.ちょっと読み上げますね.彼,彼女ですか?ChatGPTの答えは次のようなものでした.

だそうです.すごいですよね.もう,なんか,私が考える挨拶文なんかよりはるかにすばらしい文章が綴られていました.ただ,たいへん残念なことにですね,私が読み上げた長さは3分くらいなので,「10分間の挨拶をお願いします」とお願いしたのにこれで終わってしまうというのは,もう少し頑張ってほしかったと思う次第です.

まあ,いずれにしてもですね,ChatGPT,これ,皆さん人工知能で,AIの応用ということで,いま,すごくもてはやされていますが,私の考える,私見ではありますが,あれはたんなる道具であってですね,そこに人格を見出してどうのこうのという話は,ちょっと違うのかな,まあ,そのへんの話は,このあと,皆さんの発表が終わったあとの,教員のトークセッションでもう少し深くご紹介したいと思いますが,そういうようなことを考えています.皆さんも,そういうことを理解できるように,勉強を進めていただきたいと願うところです.

それで,あとはChatGPTにばっかり頼っていてもしょうがないので,私の言葉で補足いたしますと,いくつか補足することがございます.

まず,この会場,素敵な会場ですね,先ほど樫山先生にお伺いしたところ,こけらおとしのイベントだということで,我々としても大変嬉しく存じます.この素敵な会場を使わせていただいたことに御礼申し上げます.

それから,順不同にいきますと,今回は新3年生,2年生の発表ですので,外部からご参加されている皆様は,そこはお手柔らかにということで,まだ2年生,そして,3年,4年とあと2年間,勉強を続けていきますので,そこは割り引いて,暖かく見守っていただければと思います.

あと,実行委員会の皆さんですね.実行委員会の皆さんが,精力的に準備を進めてくださって,今日のこの時間に至っています.本当に感謝します.ありがとうございます.

また,挨拶というか注意事項です.皆さんにお願いがございます.私のゼミではいつも言っていることですが,こういう発表会というのは,発表する人が,わーっと発表して終わり,ではありません.発表する人が,なぜ発表するのか,そして,皆さんはなぜそれを聞くのか.

それはですね,発表する人と聞いている人の,コミュニケーションの場である,ということをきちんと考えてくださいということです.すなわち,発表に対して,聞いている皆さんは真摯に聞いて,かつ,その内容について,わからないことがあったらきちんとメモをとる,そして,どんどん突っ込んであげる.そのあとの発表のあとはQ&Aのセッションがありますから,どんどん質問を出してください.質問じゃなくて感想とかコメント,何でもいいですね.一方的に発表するだけでは発表会の意味がありませんので,聞いている人たちはどんどん質問をしてください.

さっき,今井さんの説明 ※1 のあとで,えーとなんだっけ,沖縄だか九州だか,「確実に行けるにはどうしたらいいんですか?」という質問が出るかなと期待していたんですが,誰も質問してない.そういう,発表する人たちは丁寧に発表する,それから,聞いている人たちは,きちんと質問をして,活発な質疑応答で盛り上がる,まあ,これは日本人があまり得意としないところではありますけれども,これからはグローバルな社会ですので,ぜひですね,そういうスキルも身につけて,どんどんと成長していっていただきたい,というふうに思う次第です.

だいたい10分間になりましたかね ※2,ちょっと時計をみていないのですが……,まあ,じゅうぶん喋ったと思いますので,このへんで,冒頭の挨拶を終わりといたします.今日一日,楽しんでやりましょう!


※1 開催前のアナウンスで,沖縄や九州にインターンシップに行けるという説明があった

※2 10分に届かず.7分強のスピーチでした orz

2023年2月19日日曜日

第3回にこPシンポジウム開催

2023年2月18日土曜日の午後1時から夕方の6時頃まで,第3回「にこP」シンポジウムが中央大学多摩キャンパスの3105教室とオンラインでのハイブリッド形式で開催された.

参加者は日本,台湾,タイ,マレーシア,インドネシアの各国各地域から40名程度であり,発表の内容は,2022年度に実施した日本と各国の学校を結んで行われたオンラインでの異文化間交流活動の実践報告である.小学校のペア1組,高校のペア9組の報告を中心に,事例紹介や意見交換が行われた.

実践報告シンポジウム

次の写真は,教室での発表の様子である.

こちらはネットでの配信状況.海外から参加されている皆さんが並んでいる.なお,拍手アイコンが出ていることでお分かりかと思うが,これは終了時にとったスナップショットなので,実際の参加者数よりは少なくなっている.先に述べたように,実際にはもっと多数の皆さんにご参加いただいた.

今回,皆さんからの報告を聞いていて感じたことは,一応はテンプレートがある「にこP」のプログラムにおいても,皆さん様々な工夫を重ねられて,いろいろと楽しまれていたということ,および,そのバラエティの豊かさである.

かくいう私も,タイのKMITLとうちの学生を交流させている大学生版「にこP」では,たんに話をさせるだけでは大学生らしくもなかろうと,対話の後に議事録を作成させたり,プレゼンテーションを共同作成させたりといった応用編を実施している.2年目の今年は,2回のオンライン交流に加えて来月とうとう現地訪問でタイを訪れることになった.

Come and join us!

来年度の「にこP・2023」実施に向けて,既に準備活動は進められている.2023年度は体制をさらに強化して,参加校の拡大を計画中である.さらに,次回の「にこPシンポジウム」は高雄師範大学の協力により,台湾の高雄での開催が既に予定されている.

このプログラムは,実は参加する生徒や学生の熱意もさることながら,指導する先生の情熱が不可欠である.たしかにいままでにあまりない指導をしなければならないので,手探りで行うことに躊躇を感じる皆さんもいることだろう.しかし,そこは一般社団法人ことばのまなび工房(WILL)から我々が可能な限り支援するので安心していただきたい.

参加した児童,生徒,学生の楽しそうな顔をみるだけでも,この活動を実施した甲斐があったと感じるシンポジウムであった.皆さんも,にこPコミュニティに参加しませんか?

お問合せはWILLまでお気軽にどうぞ.

2023年1月20日金曜日

FY2023卒論テンプレート

先日,Facebookの某グループで,「WYSIWYGの幻想を捨てよ」という記事を紹介した.そのなかで,スタイルガイド機能を活用するとよいと案内した.さらに一歩進めて,卒論用テンプレートを作成したので,紹介したい.今年度はすでに卒業論文が学生から提出済みなので,少し気の早い話ではあるが,来年度の4年生向けである.

実はこの卒論テンプレート,毎年,用意して渡していたのだが,もともとLibreOffice.org用に作っていたものなので,設定の不具合も多数混じっていた.今回は,スクラッチから作成したので,フォントの設定等も含めて最新版の状況になっているはずである.

今後はこれをベースにじっくりと育てていきたいので,皆さんからのフィードバックは歓迎である.ご希望の方は私に連絡をくだされば差し上げます.ぜひとも活用していただければというところである.

2022年10月27日木曜日

ColabでPG教育を行う際のちょっとしたポイント

Google Colaboratory(以下,Colab)はBYOD環境でプログラミング教育を行うのに最適で,環境設定をする必要がないのでありがたい.とくに本学iTLはマジのBOYD(MacでもWindowsでもLinuxでもなんでもいい……そこそこの性能を持つものであれば)と言っているので,どんな環境でも同一のプログラミング教育環境を提供できる点でとても助かっている.

ところが,Colabを使ったプログラミング教育でしばしば問題になるのが,データファイルへのアクセスである.Colabではバックエンドに当てがわれるランタイムが毎回異なるものであるので,ランタイム側に永続的なデータを保存する術がない.そこで,Google Driveをいちいちマウントしなければならないのだが,それがいつもトラブルの種になっている.

データファイルへのアクセスは,1. Google Drive をマウントする,2. Drive 上のファイルへのパスを調べ,そこにアクセスする(ファイル右のケバブメニューで「パスをコピー」して貼り付ける)ようなプログラムを書く必要があるが,これが学生ごとに違うので,いつもエラーの原因になる.学生の環境設定によるのか,Google Driveのマウントの時点で「マウントできませーん」というエラーが報告されることもしばしば.

そこでJupyter Notebookをサーバに仕込めば問題解決?(次図)と思いきや,こちらは学生ごとにポートを開けなければならないという,また違った問題が発生した.

ところが,今回,PyTorch 使ったAIのサンプルプログラム見てたら,目から鱗の解があって「ユーレカ!なるほどその手があったか」とたいへん参考になったので,備忘録としてまとめておきたい.

その手順とは次のようなものである(次のコードは,サンプルプログラムのノートに,飯尾が手を加えたものである).

なるほど必要なファイルは毎回ダウンロードして,特定の箇所に決め打ちで置いてやればいいのか.ダウンロードするコード部分まで含めてプログラムを配布すれば,データファイルのパスも固定されるし,プログラム全体も同一化できる.なるほどなあ.賢い人は,きちんと考えるものだと感心した.

共有フォルダをマウントさせるという手もありそうだけれど,共有フォルダの設定が,またややこしいんだよなぁ……

2022年6月24日金曜日

オンライン・プログラミング演習のその後

これまで何度か,オンラインでプログラミング演習を実施する方法について紹介してきた(末尾のリンクを参照されたい).学生の作業でトラブルが生じていないかどうか,教室では机間巡回して確認できるが,オンラインではそれができない.オンラインで学生の作業状況チェックを実現する方法として,OBSを使う方法や既存のサービスを使うもの,あるいは,Google Colaboratory(以下,Colab)のノートを共有して一覧表示させるために開発したMultiViewなど,いくつかのパターンを紹介した.

「オンライン・プログラミング演習がいよいよスタート」で紹介したように,Colabのノートを共有してMultiViewで閲覧しつつ,それぞれのプログラミングを指導するという方法でオンライン演習を10回ほど実施した.履修者でアンケートに応えてくれたのが11名と,サンプルサイズは小さいものの,一定の傾向は見られたので報告したい.

参加学生の評価

まず,Colabを用いたプログラミング演習について.「とても取り組みにくい」から「とても取り組みやすい」まで,5段階で評価してもらった.結果は次のグラフに示すとおりで,おおむね,取り組みやすいという感想であった.

続いて,MultiViewで皆の作業状況を共有することについて.こちらも「全く好ましくない」から「とても好ましい」までの5段階評価である.ひとり「全く好ましくない」に印をつけた学生がいたが,それ以外は好ましく感じてもらえているようである(次図).


そして,教室でやったほうがよいか,オンライン演習のほうがよいか.これは,なかなか難しい結果となった.ほぼ半数が「どちらでもよい」と答えており,2名が教室,4名がオンラインを希望という結果になった.キャンパスの立地条件と全学ゼミという性質から,どうしてもオンライン参加とせざるを得ないとの制約もあるため,やむなくオンライン参加という面もある.しかし,オンラインで気軽に参加できる良さと,教室で丁寧に学びたいというせめぎ合いもあるようだ.

ともあれ,手探りで始めたオンライン・プログラミング演習ではあれども,なんとか無事に離陸できたと安堵しているところである.

おまけ

本件は,2022年8月25日に開催される私情協の「ICT利用による教育改善研究発表会」で報告します.より詳しく知りたいかたは,そちらもどうぞ.

(参考)これまでの経緯

オンライン・プログラミング演習がいよいよスタート

オンライン演習までの(厳しい)道のり

2022年6月17日金曜日

簡易版・反転授業の実施と効果

反転授業,反転学習(flipped learning)とは,事前に授業資料や授業動画を視聴しておき,教室では事前学習を前提として演習や議論をすることで理解を深めるというスタイルの授業方法である.通常の学習は,教室で授業を受けたのちに,復習で理解を深めるという建て付けになっているため,それとは逆である,順序が反転しているという意味で,反転授業と呼ぶ.

反転授業を行うと効果は高いだろうなと以前から常々考えていたが,なにしろ事前に動画を用意しておかねばならないという点で敷居が高く,反転授業の実施に踏み切ることがなかなかできなかった.ところが,COVID-19の影響でオンライン授業を行わざるを得ないという制約から,はからずもオンライン授業の動画コンテンツが充実してきた結果,それを用いれば反転授業の導入は容易くなるという福音がもたらされた.

ところがそうはいっても,今度は教室で何をやればよいのか,実はそれもよくわからない.簡単に「反転授業を実施してみよう」と,言うは易しだが実践は難しい.

今回,東大の1年生向けに駒場で実施している「情報」の授業を,なんとなくの反転授業っぽい形で進めたところ,少なくとも学生たちからのコメントや質問を見る限りは学習効果がずいぶん向上したのではないかと感じたので,紹介したい.

実践手順

昨年,一昨年とオンライン講義で実施した同講義も,今年からは教室において対面形式での実施に戻った.オンライン講義で実施していたときの録画はあるのだが,90分の動画を事前に通して見よというのは,学生にも負荷が高いのではないかと判断し,それらの動画は「欠席者用」,すなわち,授業を欠席したけれども動画を見て内容を理解したい,という学生にのみ,視聴を案内するにとどめている.

ではどのような形で「反転授業っぽい授業」をしているか.手順は次のとおりである.

  1. 事前に講義資料のスライドを学生に提示する
  2. 講義の課題として,その回の講義の感想と,次回の予習をしてわからないところの質問を提出させる.その際に「スライドを視聴するだけではなく,教科書の該当部分もしっかりと読み込むこと!」と補足する
  3. 教室では,次のような時間配分で,授業を進める:寄せられた質問やコメントへのフィードバック(20〜30分),講義資料の説明(40〜50分),演習(10〜20分)

最初に行う質問やコメントへのフィードバックが,学生からはたいへん評判がよく,最初のうちは10分程度にしていたが,どんどん長くなって,いまでは30分くらいかけて丁寧に答えるようにしている.他の学生がどんなことを考えているのか,それを共有するのが楽しいらしい.また,脱線した話題にも丁寧に答えている点も,嬉しいらしい.

実践の効果

事前にしっかり予習をさせるという点が,まさに反転授業っぽい授業設計の効果として現れている.次は,それを示す典型的な学生のコメントである.最近はこのようなコメントが増えた.

教科書を読んだだけではわからなかった,チューリングマシーンが先生の説明のおかげでわかるようになりました.その後教科書を読み直すとさらに理解が深まったので,予習復習の大切さを今更ながら感じました.次回の内容も抽象度が高くてわかりにくいですが,先生と教科書のダブルパンチで,完全に理解できるようになりたいです.

予習復習の意義や大切さを伝えるためにも,この方法が効を奏していると実感する.

また,講義資料の説明も,事前の質問やコメントの状況から「だいたいどのあたりで皆は躓いているかな」という理解度がわかるので,そのあたりを入念に説明すればよい.

さらに,最後に行う演習も効果的のようである.PC教室での対面授業のため,単なる講義で終わらせることなく,簡単なプログラミングやツールを用いた演習など,手を動かして能動的に学習させることに挑戦した.これも学生から非常に評判がよい.

そして何より,話をしている私が楽しいのが最も前向きな効果なのかもしれない.擬似的ではあるが,質問やコメントへの回答はインタラクティブなやりとりになっていて,教室の温度があったまる.その後の講義でも学生の興味を惹きつけている雰囲気が続くので,最後まで集中した時間が続く.これは教員にとっても学生にとっても喜ばしいことであろう.

東大には進振り(進学振り分け)という制度があり,入学後もよい成績を取らねばならないという条件もあろうし,そもそも学習に前向きな東大生だから,という面は否めないかもしれない.しかし,学生に興味を持たせる手段としては,どの大学でも通用するのではないかと考える.皆さんの参考になれば幸いである.