月別アーカイブ: 2018年11月

こどもの個性に合わせた成長のために

当教室のテーマは、「自ら学び、考え、行動する子に」。

教室に来るすべての子供たちが、このサイクルを自分で回して、新しい世界を創り上げていく人間に成長していってもらいたい、そう考えています。

でも、この3つの要素をバランスよく備えた子など、滅多にいるものではありません。
たいていはどれかが強くてどれかは弱い。例えば、学ぶことは得意で、言われたことはどんどん吸収するのだけど、ちょっと間違えるともう何をしていいか分からない、教わったことからちょっと外れると頭が回らなくなる、そんな傾向を持つ子もいれば、自分でどんどん新しいものを生み出そうとするのだけれども、学ぶことが苦手で説明、指導を受けるのが好きじゃない、そんな傾向の強い子もいます。

それは何が良い、というわけではなく、全てこどもたちの個性です。そんな個性を認めながら、それに合わせて成長をサポートしていくことが、教室の役割と考えています。(ただ残念ながら現状では、極端すぎる子は指導の限界もあります。。)

そのような考えから、当教室の授業は、完成作品を観察することから始まります。じっくりと観察して、どうしたらプログラミングで再現できるかを考えてもらいます。

自分で進めるのが好きな子には最初は指導せず、自分が思うとおりに進めてもらい、詰まって動けなくなってしまったり、この方向で進むと修正が大きくなって子供のやる気が続かなくなると思われるときには、ガイドしています。といっても指導者がそのまま答えや修正方向を指示してしまうと、生徒は意味も分からず正解に進んでしまい、自ら考えることになりません。生徒には少し困ってもらうことで、実際に問題があってこのままではうまくいかないということを理解してもらったうえで、指導者が遠回しにヒントを出すことで、できるだけ生徒が自力で解決できるように指導しています。

学ぶのが得意な子には、少しづつヒントを出し、出来るだけ自分で解決策を見出すプロセスを重視しています。吸収力の高い子が陥りがちな、上っ面の理解に終わらないよう、わざと間違ったやり方に誘導して失敗させたりすることもあります。一見、遠回りのように見えますが、自分ひとりの力でプログラミングができるようになるためには落とし穴がいくつもあり、それを早く体験させることによって自力でプログラミングできる力を養っています。プログラミングに限らず、「教わることを鵜呑みにせず、物事の本質を理解しようとする」とはどういうものか、ということを学んでもらいたいと考えています。

このように、生徒一人一人の個性に合わせた指導をするため、教材は当教室でオリジナルに開発した動画を使用しています。動画と言っても、ただ指示通りに作業すれば完成する、という内容ではなく、頻繁に「問い」が入り、それを解決しながら進めていく形となっていますので、自分で考えなければ先に進めません。授業内容と生徒の状況にもよりますが、基本的な説明は動画に任せ、指導者は生徒の状態を見ながら、生徒が自力で解決策を見出していくよう、その都度最適と思われるガイドをします。

このような体制で、様々な個性を持つこどもたち全てに、「自ら学び、考え、行動する子に」なってもらえるよう、教育を進めています。

意外とシンプルなAI?

現在、不定期ですが大人向けにAI(人工知能)、特にディープラーニング、ニューラルネットワーク(NN)を題材としたプログラミング授業を進めています。

昨日の授業は、手書き文字(0-9)認識用の2層NNの学習機能についてでしたが、動かした結果を見て「こんなに簡単なプログラムで、コンピュータが学習できちゃうんですか?」という質問が出ました。
実際にソースコードを読んだうえで動かし、コンピュータが賢くなっていく結果が出てくると、このように感じるのも無理はないと思います。まだ誤差逆伝播法に入っていませんが、ディープラーニング、NNの本質的な理屈の部分は、これまでの授業で理解して頂いている状態です。
Pythonだと行列計算がシンプルな形で記述できるので、ディープラーニング、NN専用のライブラリを利用しなくても、本質的な部分だけなら意外とすっきりした形で表現できます。(実利用となると話は別ですが)ディープラーニング、NNも本質的なところはこんなにシンプルなんだ、ということが理解してもらえて良かったと思います。

AIってこんなものなんだ、と感じてもらえる人を、老若男女問わず、もっと増やしたいですね。