2022年8月21日日曜日

子供たちに教えてたい「最も効率的なプログラミング学習」とは何だろう



プログラミングの勉強をやっていると、ふと思うときがあります。

「この方法でいいのかな、、、」

もっと別な本を読んだほうがよいのか、別なものを作ったほうがよいのか、人に聞いたほうがよいのか、不安になることがあります。


どうにかして効率的な方法がないか、調べてみると
以下の記事を見つけました。


全4ページのそれぞれのシーンで、プログラミング上達に関係する出来事が紹介されています。

課題意識をもって現実の問題に対応しようとされた、コンビニ人員不足を解消しようとされた方は、まさにUberを彷彿とさせます。
ただ、こういった課題が見つからない人がほとんどかと思います。

どうしたものかな、、、と見ていたら、特に4ページ目の方の体験談に目が行きました。

「大した作品でなくても、『こんなのを作った』と発信するだけで褒めてくれる人がいて、やる気につながった」(掛札さん)。

美人がプログラミングしている、ということを差し引いたとしても、自分が作った作品を、誰かが見てくれてコメントしてくれるのは楽しいと感じるはず。

ではどうやったら他の人がコメントしてくれるのか。

SNSをされている方は、そこで自分の作品をアップすれば一応準備はできます。



小学校で、モノづくりの課題をしたら、評価するのは先生のみ。ちょっと周りの友達がコメントくれるかもしれませんが、友達も課題作成で忙しいはず。また、相手を褒めると自分の評価が想定的に下がることを懸念して、あまり褒めないかもしれない。

誰にも評価されず、黙々と作品をつくり続けられる人は、ゴッホとかまつもとゆきひろのような、特殊な能力を持った人だけではないでしょうか。

一般の人でも、楽しく学習し続けるような環境があるといいなと思います。


今回の記事では以下の成功パターンがあった
目の前にある問題→実現方法

で考えると、、、

1.コンビニ人員不足解消→プログラミングできる人を探す(人にやってもらう)
2.靴業界の再生→夜間教室で学ぶ(人に相談できる)
3.在宅で働きたい→SNSで発表してモチベーション維持(人に相談できる)

となっていました。
自分自身がプログラミングスキルを身に着けたい人は2.3.が参考になりますが
今回は1.に注目したいと思います。

作りたいサービスが明確で、頼れる人が見つかるのであれば1.も大いに「あり」だと思いました。

スティーブ・ジョブズも、自分自身でプログラミングはできるものの
スティーブ・ウォズニアックにプログラミングを任せ、自分はそれ以外の部分に注力したからこそ、あそこまで大きくなれた、と思います。

「プログラミング教育」というと、自分でプログラムが作れることがまず求められそうですが、「人に任せる」ことも含めた教育が、今後必要なのではないでしょうか。


例えば、、、以下のニュースを例にとると、、、



これは、母の作成するシフト表を代わりに自動作成するプログラムを作った息子さんの話。

通常?は、作った人自身について(今回の場合は息子さん)褒められるケースがほとんどだと思いますが、息子さんが自分でプログラミングできなくても、プログラミングできる人をみつけ、その人にシフト表の仕様を伝え、作ってもらう、というやり方でも、最終的に母親は楽になる点では一緒です。

でも、人に任せると、今の日本では、任せられてプログラミングを実装した人のほうが「えらい」と思われるでしょう。

でも、実際は、母が困っていることを解決するために、必要な人材を見つけ、必要な情報を提供し、完成までプロジェクトをコントロールできた人のほうが、「えらい」場合があるでしょう。

まあ、「えらい」と思われることよりも、母親が楽になることが最終的な目標なので、評価されるかどうかなんてのは大した問題ではないかもしれません。


最近面白いと思った漫画があります。


自分自身は戦う能力が無い主人公ですが、人脈がすごくて、様々な問題を「解決してもらう」ことで、依頼を達成する、というものです。

ひとによっては、このような生き方をする人を良しとしない人もいると思いますが、
このような生き方はもっと評価されていいと思うので、ちょうど漫画化されたことをうれしく思います。



もし、今回のお困りの母親(保育士)の件を「人脈チート」で解決する場合は、、、
A君:困っているお母さんの息子
Bさん:A君の母親
X君:A君の同級生でプログラミングできる友達
Yさん:X君の母親。最近子供を保育園に行かせようとしている

1.A君が学校でプログラミングできる友達をさがす。X君みつかる
2.A君がX君に仕様を友達に伝え作ってもらいたいことと、
  あわせて、X君のお母さんが子育てに困っていないか聞く
3.X君のお母さんのYさんが保育所探しで困っていることがわかる
4.A君は「プログラムが作れたら保育所探しも手伝う」ことを伝える
5.X君プログラム完成
6.A君は母親のBさんにプログラムでシフト表がすぐできることを伝え、それがX君のおかげであることと、母親のYさんが保育所探して困っていることを伝える
7.Bさんが自分の保育所に、シフト表がすぐできるようになったことと、Yさんが困っていることを伝える
8.保育所は、家庭環境などを考慮して市で検討・抽選した結果であるためどうしようもないことがわかる。
9.A君は学校やWebメディアに、X君が保育所向けにプログラムを開発した「小学生プログラマー」がいることを伝える。メディアの取材にはA君とX君は一緒に受けるようにし、その際、X君の母親のYさんが保育所探しで困っている状況も伝えるようにする。
10.学校やメディアがHPやWebサイトでX君の実績とYさんの保育所探しでこまっていることが掲載される。
11.A君は市役所に行き、保育所にシフト表作成のシステムを作成したX君のことを紹介し、母親のYさんが保育所探しで困っていることも伝える、また紹介されたメディアのことも伝える。
12.保育所探し問題が露呈してしまった市としては、何とかしないといけない、ということで、Yさんが優先的に保育所に入れるような、非公開条件をA君に伝える。A君はX君、Yさんに条件を伝える。Yさん準備する。
13.めでたくYさんのお子さんは保育所に優先的に入る条件を満たし、問題解決


な、ながい、、、

A君は人を巻き込み、人をうごかし、最終的に非公開の情報を引き出すことに成功
市役所側とX君とのマッチングもありえるかも。
市役所のアプリをX君が開発、とか。
X君の評判を聞いたほかのプログラミング経験者がA君にコンタクトを取り
A君もプログラミングできずに困っているほかの人とマッチングしてあげたり、、、

。。。。

こんなA君が生まれるような教育、できないかな、、、