実験を恐れるな! みなさん、たのしくプログラミングに取り組んでいますか? 小学生は、失敗を恐れずに、ともかく、いろいろとやってみること! 試行錯誤(試しにやってみて、いろいろとまちがうこと)は、みなさんにとって、とても重要なことです。もし、試してみることも、まちがうこともしないで学んでいるとしたら、あとになって、すっかり忘れてしまうかもしれません。どんな学習でも、まちがうからこそ、記憶できるし、身につきます。 記憶の仕組みは、まちがいや失敗が起動(スイッチ)になっていて、まちがったり失敗したりすると、みなさんの脳は、おなじまちがいをくりかえさないために、「これは、しっかり覚える必要があるぞ」と働き始めます。まちがいも失敗もないのなら、脳は働かずに休んでしまいます。脳は、からだの中でもっとも酸素と血液を使用する部分ですが、知っていることは覚えようとしないし、新しい刺激を吸収せずに過去の記憶で置き換えて知っているつもりになるなど、予想以上にさぼる傾向があるようです。 ですから、試行錯誤でまちがえたり失敗したりして、「これはたいへんだ。しっかり覚えねば」と脳を目覚めさせる必要があります。まちがいや失敗が重要なことがわかるでしょう。 MITのレズニック博士の四つ目のアドバイスは、まさに、 4. 実験を恐れるな! Don’t be afraid to experiment 「指導に従うことは役立つ。指導に従うなら、イケアの家具だって組み立てられるし、おいしい料理もつくれる。たぶん、学校でもうまくやれるだろう。でも、いつも指導に従っているだけなら、君は、創造的なことも、新しいこともできやしない。指導外のことに出くわしたとき、君は立ち往生するだろう。創造的に考える人になるなら、実験しなきゃだめだ。新しいことにトライして、型にはまった知恵は無視するんだ。なるほど、料理のレシピを勝手に修正したら、失敗した食事になるかもしれない。でも、創造的な新しい料理ができあがるチャンスもあるんだ」 スクラッチやプログラミングは、指導に従っているだけでは学習になりません。なぜなら、スクラッチやプログラミングは、「創造力を培うこと」が目標だからです。 スクラッチ開発チームの責任者であるレズニック博士の『人生の幼稚園』Lifelong Kindergarten(The MIT Press)は、本質的に教育の本です。いいアドバイスが続くのですが、なかなか新しいテーマに移れませんので、今回は、残りのアドバイスも挙げておきます。 5. いっしょにやれる友だちをみつけて、アイデアを分け合おう! Find a friend to work with and share ideas 6. 君にアイデアをくれるなら、コピーもOKだ! It’s OK to copy stuff (to give you an idea) 7. 君のアイデアをスケッチブックに記録しておこう! Keep your ideas in a sketchbook 8. つくって、こわして、またつくる! Build, take apart, […]
ともかく、いろいろ試してみよう! MITのレズニック博士の「プログラミングを学ぶ人たちへの10のヒント」の三つめは、 ③どうしたらいいのか、手がかりがないなら、ともかく、いろいろ試してみよう! (If you have no clue what to do, fiddle around.) この三つ目のアドバイスは、プログラミングにかぎらず、発明や発見、研究や学問にとっても、とても重要です。どうしていいのか、わからないとき、いきなり誰かに尋ねるのではなく、自分でいろいろ試してみろ、ということです。 Fiddle around(about)という英語は、人に対して使う場合、いじめっ子が誰かをいじめている感じの言葉です。日本語では「もてあそぶ」に近いでしょう。 しかし、プログラミングの相手はコンピューターですから、「いじくりまわす」「いろいろ試してみる」となります。 ※「新しいプロジェクトをスタートするとき、不安を感じるだろう。一枚の白い紙を見つめているような感じだ。なにが書きたいのかもわからない。でも、心配するな。ゴールがなくても、プランがなくても、OKだ。いろいろやっているうちに、とてもいいアイデアが浮かんでくる。新しい方法で君のツールや材料を試してみる。ふつうの材料をふつうじゃない使い方をしてみる。ふつうじゃない材料をふつうに使ってみる。材料を使って、ばかげたような、気まぐれなようなことをやってみる。なにかが君の注意をとらえたとき、それをしっかりと見つめて、探求してみるんだ。好奇心を君のガイドにしよう。好奇心にしたがっていけば、君は、最後に、新しいゴールやプランにぶつかる。そして、新しい情熱を発見するだろう」 このレズニック博士のアドバイスは、優秀な研究者やエンジニアやプログラマーの多くが、必然的に経験することです。 研究者やエンジニアやプログラマーが、なぜ研究やプログラミングを続けられるのかというと、試行錯誤(trial and error)がおもしろいからです。いろいろ試してみるかぎり、失敗は必ずありますから、失敗でくじけているようなら、すぐれた研究者やエンジニアやプログラマーにはなれません。 発明王のトーマス・エジソンは、白熱電球を発明したとき、何千回と実験をくりかえしました。 白熱電球のなかには、高温になると光るフィラメントが入っています。(ご家庭にありましたら、ぜひ見てください)当初のフィラメントは炭化した紙であり、短時間で燃えてしまいました。 そこで、実用化のためにエジソンは、実験をくりかえします。 さまざまな素材を試す過程で、中国の竹に出会い、さらに世界中の竹を集めて、日本の京都の竹に出会いました。石清水八幡宮の竹でつくったフィラメントは、1,200時間、光り続け、白熱電球の実用化が実現します。その後、エジソンは、他のさまざまな素材でフィラメントをつくり、さらに実験を続けます。エジソンは、自分で納得できるまで、どこまでも実験(試行錯誤)を続ける人でした。 プログラミングにもおなじことがいえます。いちど、だれかがつくりあげたとしても、プログラミングにエンドはないでしょう。たとえば、マイクロソフトのOSは、MS-DOSから最新のWINDOWS 11まで、ずっと続いています。WINDOWSのOSだって、「ともかく、いろいろ試してみた結果」です。 ぜひ、みなさんも、いろいろ試してみてください。 山手学院 学院長 筒井 保明 ※Lifelong Kindergarten (Mitchel Resnick) The MIT Pressから引用・訳
好きなことに取り組めば、プログラミングはうまくなる! MITのスクラッチ開発チームを率いるミッチェル・レズニック博士は、優秀な指導者でもあって、「プログラミングを学ぶ人たちへの10のヒント」の一つ一つが、プログラミングを学ぶ子どもたちのことを本当によくわかっているなあ、と感心するアドバイスになっています。 先月は、一つ目の、①かんたんなことから始める。(Start Simple)を解説しました。 今月は、二つ目の、②君が好きなことに取り組もう(Work on Things that you like)についてです。 ②君が好きなことに取り組もう (Work on Things that you like) レズニック博士は、スクラッチ開発チームの同僚、ナタリー・ラスクの言葉を引用して、 「ナタリーは、興味こそ学習に燃料を与える自然資源だ、っていうんだ。プロジェクトに取り組んでいるとき、それがチャレンジであれば、君は、より長く、より厳しく、より粘り強く、取り組もうとするだろう。ナタリーは、弟を例にして、彼は子どものときから音楽が好きだった。音楽は、楽器の演奏だけでなく、エレクトロニクスやサウンド物理学(録音、音の増幅、音楽と音の操作など)も学ばせた。学習とやる気が結びつくと、どちらにも進むのよ、とナタリーはいう。なるほど、教育は、バケツを満たすことではなくて、火を灯すことだ、とアイルランドの詩人W.B.イェーツはいっている」※ 簡単にいえば、好きなことは、「やる気」を引き出すということです。 プログラミングにかぎらず、小学生の世界は、「好きこそものの上手なれ」が真実で、「下手の横好き」はほとんどありません。なぜなら、下手なままだったら、いつのまにか、小学生はそれを投げ出してしまうからです。大人の視点で見ますと、いつまでも下手に見えるかもしれませんが、子どもの視点で見ますと、好きなことは、徐々にではあっても、まちがいなく進歩しているのです。好きなことを5年、10年と、ずっと続けてみれば、大人の視点がまちがっていて、子どもの視点が正しいことがわかります。大人は、年をとればとるほど、長いスパンでものごとを見ることが苦手になるようです。 子どもたちが好きで取り組んでいることに対して、余計な邪魔が入りますと、子どもたちは取り組みをあきらめてしまいます。もし子どもたちのやる気にしたがって、5年、10年と、取り組みを続ければ、どんな取り組みもじゅうぶんに実を結んでいるはずです。「一人前」「自立」とは、一つの取り組みを粘り強く続けた結果の「できる自分」のことです。 みなさんはまだ小学生ですから、プログラミングはもちろん、学習も、運動も、まだまだ何年も続けていきます。この「何年も続けること」に重要な意味があるのですが、そういう大切なことを忘れてしまった人たちは、批評家になってしまいます。理由もなく、君の取り組みを否定するような言葉は、聞いてはいけません。君が自分のやる気で取り組みを続けているならば、かならずできるようになりますし、かならず得意になります。本当に好きなことなら、むずかしいチャレンジになったとしても、君は取り組みを続けられるでしょう。 室町時代の申楽の大家である世阿弥は、「初心忘るべからず」といいました。世阿弥のいう初心は、教育学者モンテッソーリがいう「内なる力」the inner powerのことでしょう。「自発的に始めた自分」が、ある取り組みを続けることによって、グングンと成長していきます。つまり、「初心」というのは、「これからできるようになる自分」にほかなりません。 君は「初心」「内なる力」「できるようになる自分」を持っています。プログラミングはもちろん、どんな学習でも、やる気で取り組めば、必ずできるようになります。 明るく、楽しく、粘り強く、プログラミングに取り組みましょう。 山手学院 学院長 筒井 保明 ※Lifelong Kindergarten (Mitchel Resnick) The MIT Pressから引用・訳
プログラミングとコーディング プログラミングとコーディングの違いは、なんでしょうか? すごくかんたんにいえば、プログラミングが全体とすれば、その部分がコーディングです。 たとえば、Code.orgというアメリカの子どもたちが計算機科学の学習をするウェブサイトがあります。導入の練習であるダンスパーティーはプログラミングですが、それをつくる過程は、コードの時間(コーディング)と呼んでいます。建築でいえば、「家を建てる」はプログラミングですが、「柱を立てる」「梁を架ける」はコーディングになるのではないでしょうか。 プログラミングを学ぶ子どもたちに対して、『Coding for Kids』とか『Coding for Kids in Scratch』とか『Coding with Scratch』など、たくさんの本が出版されています。 さて、それらの本を読んでいますと、アメリカでも、プログラミング学習が嫌いな子どもたちが存在していることがわかります。保護者への注意として、「スクラッチで教えるとき、無理強いしないことが重要です。みんながコンピューター・プログラムに関心があるわけじゃありません。まったく興味を持たなかったら、ほかのことをさせてください。あなたの子どもがコーダー(Coderコーディングする人)に育たなくても、世界が終わるわけじゃありません」と書かれています。 子どもたち向けの本ですから、英語もかんたんです。 「へい、キッズ! 自分のビデオ・ゲームをつくる準備はできているかい。スクラッチは、ドラッグ・アンド・ドロップのコーディングだ。君のマウスで、クリックして、ドラッグするだけで、君のゲームがつくれるんだぜ」 といった具合です。 「プログラミングって、なんだ? プログラミングは、コーディングともいうけど、君のアイデアをコンピューターが理解できるフォーム(形)に入れることだ。スクラッチは、絵を使って君のアイデアを表現させてくれる。キーボードでワーズ(Words)を打ち込んでもいいのだけれど、スクラッチは、君が描いた絵をそれらのワーズにかえることで、君のために働くんだ。一行のコードのような簡単なステップから始めよう。やがてゲームを完成させるコーディングができるようなるさ」 ところで、スクラッチは、本当のコーディングではないという人たちがいるようです。なぜなら、タイプされた指示のかわりにブロックを使うからです。 『Coding for Kids Scratch』の筆者マーク・ベネットは、「こんなことをいう人は、まちがっている。スクラッチのコーディングは、パイソン(Python)のコーディングとおなじくらい、リアルだよ。論理の力、組織立てる力、細部への注意力など、同等の技量が必要とされるのだから」と答えています。 話を戻しますが、スクラッチのブロックの一つ一つ(部分)がコード(Code Blocks)です。これらを組み合わせるから、コーディングです。あるプロジェクトを全体として完成させることがプログラミングです。 まとめますと、スクラッチの場合、コード・ブロックスを組み合わせることがコーディング、コーディングによってプロジェクトを完成させることがプログラミングです。 ※『Coding for Kids Scratch: The Ultimate Step by Step Guide to Develop』Mark B. Bennet 2020 山手学院 学院長 筒井 保明