Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

キノコって誰やねん ● フリーランスっぽいエンジニア ● 2児のお母さん ● ガチめのDIYer ● 教材作成(業務委託) ● 研修講師(Java) ● Angular + firebase

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

モノに例えるメリット あくまでも経験則ですが・・・ ● 初心者にとって,プログラミング(魔法の世界)を具体的なイメー ジで捉えられるようになることは,第一歩を踏み出すために大事な こと。 ● 一旦親しみやすさを感じてもらって,理論や仕組みは後から身につ けてもらってもいい。 ● 実際にコードを書きながら説明すれば,より具体的にコードと結び つく。

Slide 6

Slide 6 text

鯛焼きで説明できる領域 よくある ● クラス:鯛焼きの型 ● インスタンス:鯛焼き ● フィールド:鯛焼きの中身(あんこ,カスタード...など) 少し無理すると ● コンストラクタ:たいやき屋さん ● コンストラクタの多重定義:たいやき屋さんでオーダーするときの メニュー(メニュー表がない=デフォルトコンストラクタ)

Slide 7

Slide 7 text

鯛焼きで説明できない領域 ● メソッド:鯛焼きを泳がせるのは無理がある。 ● クラスフィールド,クラスメソッド:尻尾の形を変え る...きつい。そんなものに例えても,逆に現実のイメージ ができない。 ● 継承:デニッシュ鯛焼きとか?いやいや...。 ● インターフェースの実装:no idea💀

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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