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

鯛焼きの是非 その限界について

鯛焼きの是非 その限界について

『クラスは「鯛焼きの型」のようなものです。』

初心者にとって,プログラミングの概念をイメージで捉えることは重要なステップです。一方で,イメージはあくまでもイメージであり,コンピュータの仕組みとは異なるものです。
初心者にオブジェクト指向言語,特にJavaを教える際,「現実のモノ」に例えて教えるか否かは,これまでも長きにわたり議論されてきました。

私は「初心者に例え話でイメージを伝えることは重要である」という立場から,今回はとりわけ「鯛焼き」を題材にして教えている部分について,そのメリット,デメリットをお話しします。

4faa93641b771f4f3e8a30e2975a2c7f?s=128

KINOKO Matsumoto

March 24, 2022
Tweet

More Decks by KINOKO Matsumoto

Other Decks in Education

Transcript

  1. 2022年03月25日 第一回プログラミング教育について話し合う会 松本キノコ 鯛焼きの是非 その限界について

  2. キノコって誰やねん • フリーランスっぽいエンジニア • 2児のお母さん • ガチめのDIYer • 教材作成(業務委託) •

    研修講師(Java) • Angular + firebase
  3. Javaのクラス,どう教える? プログラミング手法のひとつ • 手続き型言語の辛さを受けて生 まれた手法 • クラスでまとめる • 似たもの(機能,データ)をた くさん作るための仕組み

    ・・・などなど モノに例えて教える • 「鯛焼きの型と鯛焼き」はク ラスとインスタンスの関係 • 動物クラスと犬猫クラスで継 承,ポリモフィズムを教える ・・・などなど
  4. Javaのクラス,どう教える? プログラミング手法のひとつ • 手続き型言語の辛さを受けて生 まれた手法 • クラスでまとめる • 似たもの(機能,データ)をた くさん作るための仕組み

    ・・・などなど モノに例えて教える • 「鯛焼きの型と鯛焼き」はク ラスとインスタンスの関係 • 動物クラスと犬猫クラスで継 承,ポリモフィズムを教える ・・・などなど キノコはこっち派!!
  5. モノに例えるメリット あくまでも経験則ですが・・・ • 初心者にとって,プログラミング(魔法の世界)を具体的なイメー ジで捉えられるようになることは,第一歩を踏み出すために大事な こと。 • 一旦親しみやすさを感じてもらって,理論や仕組みは後から身につ けてもらってもいい。 •

    実際にコードを書きながら説明すれば,より具体的にコードと結び つく。
  6. 鯛焼きで説明できる領域 よくある • クラス:鯛焼きの型 • インスタンス:鯛焼き • フィールド:鯛焼きの中身(あんこ,カスタード...など) 少し無理すると •

    コンストラクタ:たいやき屋さん • コンストラクタの多重定義:たいやき屋さんでオーダーするときの メニュー(メニュー表がない=デフォルトコンストラクタ)
  7. 鯛焼きで説明できない領域 • メソッド:鯛焼きを泳がせるのは無理がある。 • クラスフィールド,クラスメソッド:尻尾の形を変え る...きつい。そんなものに例えても,逆に現実のイメージ ができない。 • 継承:デニッシュ鯛焼きとか?いやいや...。 •

    インターフェースの実装:no idea💀
  8. モノに例えるデメリット • 実際にアプリケーションレベルのものを書くまでは,「クラスの何が嬉し いのか」が伝わりにくい。 • どれか1つの例えだけでは全てを説明できず,新しい単元に入るたびに新 しい例えを使わなければならない。学習者は,せっかく得たイメージを壊 されたように感じる。 ちなみに,私自身はモノに例えて学んでいません。BASICからプログラミングを始めて ,まさに手続き型言語の辛さと構造体の素晴らしさと限界を経験した人間です。

  9. それでも 私は鯛焼きを焼く ありがとうございました