Upgrade to Pro — share decks privately, control downloads, hide ads and more …

人になにかを教えるときに考えていること(2025-05版 / VRC-LT #18)

Avatar for sksat sksat
May 17, 2025

人になにかを教えるときに考えていること(2025-05版 / VRC-LT #18)

Avatar for sksat

sksat

May 17, 2025
Tweet

More Decks by sksat

Other Decks in Education

Transcript

  1. なんか最近人に教えることが多い • 仕事 ◦ 同僚、共同研究先の学生、インターン生のメンター • セキュリティ・キャンプ ◦ 『探査機自作ゼミ』講師 •

    (直接的にではないけれど)技術同人誌 ◦ OtakuAssembly Vol.3 ▪ 『Raspberry Pi Pico でできる!組み込み(Rust 入門)』 Booth で電子版売ってます 技術書典18(2025/06/01)で再版します 今年もやります(エントリー06/02まで)
  2. 「教える」とトク • 再掲:私は教育のプロではありません • 色々とお得なのでやってる ◦ コンテキストを共有した仲間が増える ◦ 相手(・チーム)の将来の選択肢が広がる ◦

    自分のナアナアな理解に向き合わないといけなくなる ◦ 自分が何を知ってることを知らないのかがわかる ◦ 自分の知識・メンタルモデルが整理される • あまりにもお得 個人的な事情 • 会社のフェーズ的なところ • 分野の横断が多い ◦ ex:HW の人が SW のことをわかるとトク(逆も)
  3. 相手を観察する • 人間もひとつのシステム • 教育はパフォーマンス改善に近い営みだと思う • ということは、事前・事後の”計測”が不可欠 • 定量的/easy な計測手法:ペーパーテスト

    • 人間は常に大量のメトリクスを出力している ◦ 何がわからない(と思っている)のか ◦ 質問の仕方 ◦ 口調、仕草 • 会話できる ◦ 色々な入力と出力の対応から内部状態を探る 入力:x f(context, state, x) たぶん**が わからない これって**ってこ とですか? ** みたいなやつ?
  4. 相手を観察する • 人間もひとつのシステム • 教育はパフォーマンス改善に近い営みだと思う • ということは、事前・事後の”計測”が不可欠 • 定量的/easy な計測手法:ペーパーテスト

    • 人間は常に大量のメトリクスを出力している ◦ 何がわからない(と思っている)のか ◦ 質問の仕方 ◦ 口調、仕草 • 会話できる ◦ 色々な入力と出力の対応から内部状態を探る 入力:x f(context, state, x) たぶん**が わからない これって**ってこ とですか? ** みたいなやつ? context や state の 逆演算
  5. 相手を観察する • 人間もひとつのシステム • 教育はパフォーマンス改善に近い営みだと思う • ということは、事前・事後の”計測”が不可欠 • 定量的/easy な計測手法:ペーパーテスト

    • 人間は常に大量のメトリクスを出力している ◦ 何がわからない(と思っている)のか ◦ 質問の仕方 ◦ 口調、仕草 • 会話できる ◦ 色々な入力と出力の対応から内部状態を探る 入力:x f(context, state, x) たぶん**が わからない これって**ってこ とですか? ** みたいなやつ? context や state の 逆演算 フィードバック ループを回す
  6. 相手を観察する • 人間もひとつのシステム • 教育はパフォーマンス改善に近い営みだと思う • ということは、事前・事後の”計測”が不可欠 • 定量的/easy な計測手法:ペーパーテスト

    • 人間は常に大量のメトリクスを出力している ◦ 何がわからない(と思っている)のか ◦ 質問の仕方 ◦ 口調、仕草 • 会話できる ◦ 色々な入力と出力の対応から内部状態を探る Note on Programming in C/Rob Pike (いわゆる「推測するな、計測せよ」) Rule 1. You can’t tell where a program is going to spend its time. Bottlenecks occur in surprising places, so don’t try to second guess and put in a speed hack until you’ve proven that’s where the bottleneck is. プログラムが何処で処理時間を費やすのかは分からない。ボトルネックは驚くべき場所で起 こる。だからその箇所がボトルネックであるという証明をするまで、当てずっぽうで高速化 のためのハックを入れようとしてはならない 。 Rule 2. Measure. Don’t tune for speed until you’ve measured, and even then don’t unless one part of the code overwhelms the rest. 計測せよ。計測するまで最適化をするな。そしてたとえ計測したとしても、ある部分のコード が圧倒的に残りの部分より重い場合でなければ、最適化をしてはならない 。 訳: https://aki33524.hatenablog.com/entry/2023/08/25/231051
  7. 相手を観察する • 人間もひとつのシステム • 教育はパフォーマンス改善に近い営みだと思う • ということは、事前・事後の”計測”が不可欠 • 定量的/easy な計測手法:ペーパーテスト

    • 人間は常に大量のメトリクスを出力している ◦ 何がわからない(と思っている)のか ◦ 質問の仕方 ◦ 口調、仕草 • 会話できる ◦ 色々な入力と出力の対応から内部状態を探る Note on Programming in C/Rob Pike (いわゆる「推測するな、計測せよ」) Rule 1. You can’t tell where a program is going to spend its time. Bottlenecks occur in surprising places, so don’t try to second guess and put in a speed hack until you’ve proven that’s where the bottleneck is. プログラムが何処で処理時間を費やすのかは分からない。ボトルネックは驚くべき場所で起 こる。だからその箇所がボトルネックであるという証明をするまで、当てずっぽうで高速化 のためのハックを入れようとしてはならない 。 Rule 2. Measure. Don’t tune for speed until you’ve measured, and even then don’t unless one part of the code overwhelms the rest. 計測せよ。計測するまで最適化をするな。そしてたとえ計測したとしても、ある部分のコード が圧倒的に残りの部分より重い場合でなければ、最適化をしてはならない 。 訳: https://aki33524.hatenablog.com/entry/2023/08/25/231051 理解に詰まっているところ
  8. 相手を観察する • 人間もひとつのシステム • 教育はパフォーマンス改善に近い営みだと思う • ということは、事前・事後の”計測”が不可欠 • 定量的/easy な計測手法:ペーパーテスト

    • 人間は常に大量のメトリクスを出力している ◦ 何がわからない(と思っている)のか ◦ 質問の仕方 ◦ 口調、仕草 • 会話できる ◦ 色々な入力と出力の対応から内部状態を探る Note on Programming in C/Rob Pike (いわゆる「推測するな、計測せよ」) Rule 1. You can’t tell where a program is going to spend its time. Bottlenecks occur in surprising places, so don’t try to second guess and put in a speed hack until you’ve proven that’s where the bottleneck is. プログラムが何処で処理時間を費やすのかは分からない。ボトルネックは驚くべき場所で起 こる。だからその箇所がボトルネックであるという証明をするまで、当てずっぽうで高速化 のためのハックを入れようとしてはならない 。 Rule 2. Measure. Don’t tune for speed until you’ve measured, and even then don’t unless one part of the code overwhelms the rest. 計測せよ。計測するまで最適化をするな。そしてたとえ計測したとしても、ある部分のコード が圧倒的に残りの部分より重い場合でなければ、最適化をしてはならない 。 訳: https://aki33524.hatenablog.com/entry/2023/08/25/231051 理解に詰まっているところ 「たぶんここがわからないんだろうな」 は本当に詰まっているところか?
  9. 相手を観察する • 人間もひとつのシステム • 教育はパフォーマンス改善に近い営みだと思う • ということは、事前・事後の”計測”が不可欠 • 定量的/easy な計測手法:ペーパーテスト

    • 人間は常に大量のメトリクスを出力している ◦ 何がわからない(と思っている)のか ◦ 質問の仕方 ◦ 口調、仕草 • 会話できる ◦ 色々な入力と出力の対応から内部状態を探る Note on Programming in C/Rob Pike (いわゆる「推測するな、計測せよ」) Rule 1. You can’t tell where a program is going to spend its time. Bottlenecks occur in surprising places, so don’t try to second guess and put in a speed hack until you’ve proven that’s where the bottleneck is. プログラムが何処で処理時間を費やすのかは分からない。ボトルネックは驚くべき場所で起 こる。だからその箇所がボトルネックであるという証明をするまで、当てずっぽうで高速化 のためのハックを入れようとしてはならない 。 Rule 2. Measure. Don’t tune for speed until you’ve measured, and even then don’t unless one part of the code overwhelms the rest. 計測せよ。計測するまで最適化をするな。そしてたとえ計測したとしても、ある部分のコード が圧倒的に残りの部分より重い場合でなければ、最適化をしてはならない 。 訳: https://aki33524.hatenablog.com/entry/2023/08/25/231051 理解に詰まっているところ メンタルモデルの獲得の前に 各論をやらない 「たぶんここがわからないんだろうな」 は本当に詰まっているところか?
  10. 相手の特性を観察する • 人には人の認知特性 ◦ 文字列的にやるのが得意か、画像的にやるのが得意かとか ◦ 基礎的な理論から組み立てていきたいか、具体から入りたいかとか • よくあるミス:自分と特性が離れた相手への「自分はこう教えられてよかった」のリバイバル •

    少人数(n<5とか)が対象の場合、各々にチューニングした方がよい • チューニング:DAG の辿り方や辿るべき/解きほぐすべき DAG が変わる • 大人数/不特定多数の場合:あんまり経験ないです。教えてほしい。 ◦ 個人的にはマジョリティの特性を狙った上で脚注とかでのポインタ張りをがんばりがち https://twitter.com/hsjoihs/status/1914925211700568368 そもそも DAG の組み方は一意ではない
  11. 「教える」ことによる(よくある)ミス 観察を怠ると、ミスる • 天狗になる ◦ 相手の成長はお前の偉さではない • 「人に教えている俺」は別に偉くもなんともない • 「教える」だけで報酬系が満たされてしまい、学ばなくなる

    ◦ ずっと昔話してるおじいちゃんになる どうすんねん • まあ謙虚にやっていきましょう • 積極的に「教えられる側」もやっていく ◦ 「教える」ことによっても学べる/相互に「教えられる」関係性を築く • 計測せよ
  12. 自走したい/自走させたい • 一発「教えた」だけではあんまり満足したくない • 「教え」ないと「学べ」ない、という状況はたいへん不健全 ◦ お互いの労力的にも、関係性的にも • 自走できるようにしたい •

    「自走できる」とはなにか? ◦ 一人でフィードバックループを回せる ◦ 知らない(知らなさそう)ところを知っている わからないことが手を動かして わかるようになった成功体験 大局(≒分野間の接続) を知っている
  13. 自走したい/自走させたい • 一発「教えた」だけではあんまり満足したくない • 「教え」ないと「学べ」ない、という状況はたいへん不健全 ◦ お互いの労力的にも、関係性的にも • 自走できるようにしたい •

    「自走できる」とはなにか? ◦ 一人でフィードバックループを回せる ◦ 知らない(知らなさそう)ところを知っている わからないことが手を動かして わかるようになった成功体験 大局(≒分野間の接続) を知っている 他人の自走 ≒ 自分とは異なる経験 たまに会って話を聞く →別の視点での経験(の一部)が取得できる
  14. 自走したい/自走させたい • 一発「教えた」だけではあんまり満足したくない • 「教え」ないと「学べ」ない、という状況はたいへん不健全 ◦ お互いの労力的にも、関係性的にも • 自走できるようにしたい •

    「自走できる」とはなにか? ◦ 一人でフィードバックループを回せる ◦ 知らない(知らなさそう)ところを知っている わからないことが手を動かして わかるようになった成功体験 大局(≒分野間の接続) を知っている 他人の自走 ≒ 自分とは異なる経験 たまに会って話を聞く →別の視点での経験(の一部)が取得できる