プログラボの試行錯誤を支える工夫

前回の記事では、プログラミングと試行錯誤の関係について解説しました。

前回の記事はこちら「プログラミングと試行錯誤の関係って?」

記事の最後で、

  • 試行錯誤できる力はとても大事!
  • その力を身につけるには、実際に試行錯誤を繰り返すことが重要

と説明しました。

子どもたちが安心して前向きに試行錯誤に取り組み、そこから学んでいくためには、先生たちの関わり方が大きなポイントになります。

どうしたら試行錯誤できる?

今回は、子どもたちが試行錯誤できる力を身につけるために、プログラボの先生たちがどのような指導や声掛けをしているのか紹介していきます。

目次

1. プログラボの子どもたちの試行錯誤

2. 試行錯誤は「情報と情報の関連づけ」

3. 問題を見つけるために”条件統制”をしよう

4. 「失敗しても大丈夫」という安心

1. プログラボの子どもたちの試行錯誤

まずは、子どもたちがプログラボでどんな風に試行錯誤しているのか、ある日の授業の様子を見ていきましょう。

小学校2~3年生を対象にしたこの授業では、モンスターのロボットに赤や青のブロックを食べさせて、色によってモンスターの反応が変わるというプログラム作りに挑戦しています。

はらぺこモンスター

ところが、連続してブロックを食べさせようとすると、口の開き具合が毎回違ってしまうのでうまくいきません。食べさせる前に、いつも同じ口の形にするにはどうしたらいいんだろう・・・?子どもたちは、先生にアドバイスをもらいながらあれこれ試してみます。

そうして、①まずは口を閉じて、②そのあと少しだけ口を開く、という順番にすると、いつも同じ口の形にできることに気付きます。

続いて、1~2年生の授業の様子も紹介します。

ここでは、コントローラーをどのように取り付ければ操作しやすいか、子ども達が何度も作り変えながら理想の形を目指しています。

よこよこ星人

プログラボでは、ロボットを作ってプログラミングしたあと、さらに自分で色々やりたいことを試すための「余白」の時間が設けられています。ロボットの改造も大歓迎!大事な学びのタイミングのひとつです。

このように、子どもたちは問題解決や創意工夫のために、日々楽しみながら試行錯誤をしています。では、子どもたちがのびのびと試行錯誤ができるように、プログラボの先生たちはどんな工夫をしているのでしょうか?

2. 試行錯誤は「情報と情報の関連づけ」

「試行錯誤しよう!」と呼びかけるだけで、誰でもすぐにチャレンジできるわけではありませんよね。やったことがないことに挑戦するのは、誰だって躊躇(ちゅうちょ)するもの。では、子どもたちが最初の一歩を踏み出すために、何ができるでしょうか?

ポイントのひとつは、試行錯誤をするための準備として「段階的なステップ」を設けることです。

たとえば、ロボットに買い物をさせよう、という授業では、バナナを買いたい子はバナナを、クッキーを買いたい子はクッキーを目的地にして、ピタっとロボットが止まれるようなプログラミングに挑戦します。

正確に移動するためには、プログラミングブロックのそれぞれのパラメータがどのような意味をもつのかを知り、それらの組み合わせによって動きがどういう風に変化するのかをイメージする必要があります。あてずっぽうに数字を入れて試すだけでは、やみくもで運任せな「あまりよくない試行錯誤」になってしまいますよね。

先生は、それぞれのパラメータが何を指しているのか、実際に動かして確かめさせたり、繰り返し子どもたちに口にさせたりします。

そうすることで、子どもたちは数値と動きの関係を論理的に考えることができるようになり、失敗を次に活かす意味のある試行錯誤につながっていきます。ある先生は、「試行錯誤とは、情報と情報を関連付けて考えること」と言います。

3. 問題を見つけるために”条件統制”をしよう!

もうひとつ、先生たちが繰り返し伝えるアドバイスとして「条件をそろえて観察しよう」というのがあります。

この授業では、センサーを使って黒い線をなぞって、ボールをつかんで容器に入れる、というプログラミングに挑戦します。黒い線からロボットが外れてしまったり、ボールを落としてしまったりと、いろいろな「うまくいかないこと」が起きます。

その原因を予想してプログラムを修正していくのですが、子どもたちはしばしばプログラムのあちこちを一気に変えてしまいます。これでは、何が問題の原因か分からないままになってしまいます。

「プログラムの一か所だけ変えて、何が変わるか見てみてみよう。ロボットのスタート位置や、アームの開き具合も、いつも同じになるようにして、比べてみよう」

先生は「どこを変えるべき」とは言いません。子どもたち自身が問題を見つけられるように、試行錯誤の方法をアドバイスします。すると、

「あ!いつも同じ場所でうまくいかなくなる。これは〇〇が原因だからだ!」

「じゃあここを直そう!」

という風に、自分で気づいて考えられるようになっていきます。

このように、あることを考えるために、その手前の部分に到達できるようサポートすることを、教育の世界では「足場かけ」と呼んでいます。また、このような「子どもが自分だけではできないけど、他の人の協力があればできるようになることの範囲」を「発達の最近接領域(さいきんせつりょういき)」と呼びます。

発達の最近接領域のイメージ

周囲の人による足場かけがあると、子どもたちは一人では到達できない場所へたどり着くことができます

学びとは、この発達の最近接領域をどんどん外に広げていくことに他ならない。そして、教育とはそのために足場(ステップ)を作る行為に他ならない、と多くの学習や教育の専門家は主張しています。

4. 失敗しても大丈夫という安心感

ロボットが思い通りの動きをしてくれないとき、子どもたちはしばしばパニックになったり、イライラして投げ出しそうになってしまうことがあります。

先に挙げたような具体的なアドバイスの他に、もうひとつ、プログラボの先生たちがとても大事にしていることがあります。それは、成果ではなく過程を尊重し、チャレンジそのものを評価することです

これは、プログラボの教室に飾ってあるスローガンです。

ここで取り上げるのは2つ目の「たくさん失敗しよう」です。

うまくいかないのは、誰だってイヤなものです。ですが、良い失敗を通じて自分が成長することを、プログラボでは子どもたちにロボットプログラミングを通じてくりかえし伝えます。

先生たちは「今のいいチャレンジだね!」「おしい!あとちょっと!」「難しいかもしれないけど、やってみよう、一緒に考えるよ」と日々声掛けをしています。

このような取り組みを通じて、子どもたちはプログラミングの技術だけではなく、ねばり強く取り組む力を身につけていくのです。

自分で試行錯誤して手に入れた学びは、子どもにとってかけがえのないものです。プログラボでは今までもこれからも、子どもたちの試行錯誤を通じた学びを支えていきます。

「プログラボ」の体験会のお申込みはこちらから

プログラミングと試行錯誤の関係って?

プログラミングを学ぶには試行錯誤(=トライアルアンドエラー)が効果的!

そんな風に聞いたことはありませんか?

ですが、専門家の中には「試行錯誤ではプログラミングは身につかない。教えてもらって正解を真似する方が大事」と主張する人もいます。

このような正反対の意見が存在する背景には、そもそも「試行錯誤」という言葉の意味を、人によって違うものとして使っているという事実があります。

この記事では、「学びにつながる良い試行錯誤とは何か?」をテーマに、プログラミング学習との関係性をわかりやすく解説していきます。

目次

1. 試行錯誤=いきあたりばったり?

2. 人間の試行錯誤はどう違う?

3. まとめ:学びにつながる試行錯誤とは

試行錯誤=いきあたりばったり?

心理学には、「試行錯誤学習」という言葉があります。これは「ランダムにいろいろ試してみて、たまたま成功すると、次からはその成功パターンを覚えて短時間でできるようになる」という学習の形です。

20世紀初頭、心理学者ソーンダイクはネコを使った有名な実験を行いました。ネコをパズルのような仕掛けの箱に入れ、脱出できたら餌がもらえるという条件を与えたところ、ネコは回数を重ねるごとに徐々に脱出が早くなるという結果が得られました。

ソーンダイクのパスルボックス(イメージ)

この試行錯誤学習は、近年ではAIの「強化学習」という分野にも応用されています。AIに何度もゲームなどの課題に挑戦させ、成功すると報酬が与えられる仕組みにすると、最初は失敗ばかりでも、徐々に効率よく成功するようになっていくのです。

試行錯誤学習のおかげで、AIは囲碁の世界チャンピオンと戦えるほどに強くなりました

ただし、このような「いきあたりばったりに見える試行錯誤」が効果的なのは、あくまで動物やコンピューターの話。

「プログラミング学習に試行錯誤が効果がなかった」と主張する研究者の指す試行錯誤をよく見てみると、実はこの「いきあたりばったりの試行錯誤」を指していることがほとんどです。

人間の試行錯誤はどう違う?

私たち人間の試行錯誤は、それとは少し違います。単に手当たり次第に試すのではなく、「こうすればうまくいくかも?」といった予測や経験、直感をもとに行動しています。

たとえば、横スクロールのゲームを初めてプレイする場合、キャラクターが最初に向いている方向にゴールがあるだろう、と自然に想像してその方向に進んでみる——そんな行動はまさに人間らしい試行錯誤です。

横スクロールゲーム

こうした予測に基づく行動は、「ヒューリスティック」と呼ばれることもありますが、要するに「直感や経験を頼りに、最も可能性の高い方法を試してみる」姿勢だと言えるでしょう。

さらに、人間は「うまくいかなかった理由」を振り返り、「次はこうしてみよう」と仮説を立てて行動を修正することができます。こうした学びのプロセスは「アブダクション(仮説的推論)」と呼ばれています。アブダクションは、帰納・演繹(えんえき)と並ぶ論理的な思考法と呼ばれ、特に、新しい事実を発見したり、これまでに実現できなかったことを実現したり、という場面でとても重要な考え方です。

まとめ:学びにつながる試行錯誤とは

では、プログラミング学習における「良い試行錯誤」とはどのようなものでしょうか?

それは、単にやみくもにコードを書いて試すのではなく、「なぜこのエラーが出たのか」「どう書き換えたら動くだろうか」と考えながら修正を繰り返すプロセスです。つまり、自分の頭で仮説を立てて、実際に試し、結果を見てまた考える——この繰り返しこそが学びを深めていく鍵なのです。

試行錯誤は、ただの手探りではありません。「考えながら試す」というプロセスを通じて、子どもたちは自分で考える力を身につけていきます。

プログラミングスキルの習得において重要なのはもちろんのこと、この“試行錯誤する力”そのものは、これからの時代に欠かせないスキルでもあります。

そして、その力を育てるには、何より「実際に試行錯誤を重ねること」が必要です。だからこそ、子どもたちが安心して失敗し、チャレンジできる「試行錯誤しやすい環境」を整えてあげることが大切なのです。

次回の記事では、ロボットプログラミング教室「プログラボ」がどのようにしてそのような環境をつくっているのか、実際の授業での子どもたちの様子をご紹介します。

どうぞお楽しみに!

参考

米盛 裕二 『アブダクション: 仮説と発見の論理』

S. Gautam. Thorndike’s Trial and Error Theory. Psychology Discussion

Merisio, C., et. al. There is No Such Thing as a “Trial and Error Strategy”.

Berland, M., et. al. Using Learning Analytics to Understand the Learning Pathways of Novice Programmers

ロボットでプログラミングを学ぶメリットとは?最新の研究からわかってきたことをレポート!

今、日本にはたくさんのプログラミング教室があります。子ども向けのものだけでも、ゲームやアプリ作りができる教室、オンラインで受講できる教室などさまざまです。その中でも人気なのが「ロボットプログラミング教室」。ロボットを作り、そのロボットをプログラミングで動かしながら学ぶ教室です。

ところで、こんな疑問を持ったことはありませんか?

  • なぜロボットを使うんだろう?
  • 他の方法とくらべてどんな良さがあるの?
  • 最初からパソコンだけで学んだ方が将来の役に立つのでは?

実は、プログラミング教育の歴史において、ロボットはそのはじまりの段階から登場しており、深いつながりがあります。そのため「ロボットプログラミングによってどのような効果が得られるのか」は、世界中で研究されてきました。

この記事では、最新の研究結果から明らかになってきたことをわかりやすく紹介します。ぜひ、お子さまの習い事選びの参考にしてみてください。


目次

1、子どものやる気が持続しやすい!

2、空間認識能力や数学的思考力が育まれる

3、科学的思考が身につき、将来の幅広い分野に活かせる


メリット1 子どものやる気が持続しやすい!

プログラミングの学習は短期間ではなく、長期間取り組むのが良いとされています。ただ、プログラミングは実際にやってみると「うまくいかない」できごと、つまりエラーの連続です。試行錯誤しながらエラーを修正して、プログラミングの考え方を学んでいくのですが、特に幼稚園児や小学生だと、最初からエラーばかり続くとどんどん意欲が下がっていきます。

その点、ロボットを使った学習では、エラーが起きてもロボットが反応してくれるため、子どもたちにとって学びが楽しいものになりやすいのです。

たとえば、ロボットが目的地で止まるはずが走りすぎて部屋を飛び出しそうになったり、右に曲がるはずがその場でぐるぐる回ったり・・・。そんな予想外の動きに、子どもたちは思わず笑い出します。実際の教室でもよくある光景です。

そして、ひとしきり笑ったあと、「じゃあ、次はこうしてみよう!」と子どもたちは自分で改善策を考えはじめます。

このように、ロボットの“わかりやすい反応”があることで、自分の行動に対するフィードバックが得られやすく、試行錯誤が楽しいものになるのです。さらに、自分で組み立てたロボットに対して愛着がわくため、なんとかして思い通りに動かしたいという意欲にもつながります。

実際、多くの研究が「ロボットのようなデバイスを使うことで、講義形式の学習よりも子どもたちのモチベーションが高まり、学習が長期的に持続する傾向にある」と報告しています。


メリット2 空間認識能力や数学的思考力が育まれる

ロボット制作やロボットをプログラミングで動かすことを通じて、空間認識能力が高まることがわかっています。

これは、ロボットを組み立てたり動かしたりする際に身体を動かす機会が多いことと関係していると考えられています。たとえば、ロボットの動きを真似したり、一緒に移動したりすることで、子どもたちは自然と空間のイメージをつかむようになります。こうした身体的な関わりが、空間的な思考を育てると考えられているのです。

さらに、空間認識能力の向上は、数学的な力にも良い影響を与えると報告されています。一見関係がなさそうに見えますが、「数の概念を量としてイメージできるようになる」といった背景があるのではないかと考えられています。

この効果は、特に幼児期に顕著とされていますが、小学校高学年や中学生にも有効であることが研究からわかってきています。空間認識の力は発達の幅が広く、長期的に育まれる能力です。


メリット3 科学的思考が身につき、将来の幅広い分野に活かせる

STEM(Science・Technology・Engineering・Mathematics)の分野では、ロボットプログラミングを経験した子どもたちが進路選択の幅を広げたり、成果を上げたりする傾向が報告されています。

STEMとは、Science(科学)・Technology(技術)・Engineering(工学)・Mathematics(数学)の頭文字を取った言葉で、日本では一般的に理系と呼ばれる分野のことです。

アメリカで行われた縦断研究において、ロボットプログラミングで学ぶ人は、STEM分野で成功をおさめやすいことがわかっています。

子どもたちの進路は、プログラミングやロボットに直接関係のある分野とは限りません。

ロボットプログラミング教室では、仮説を立てる → 実行する → 結果を検証するという科学的なプロセスを日常的に繰り返します。たとえば「この条件でこう動くはず」と考えたら、それを確かめるために条件をそろえたり、何度も試して結果を観察したりといった活動が必要になります。

このような取り組みを通じて、子どもたちは自然に科学的な思考の習慣を身につけていきます。そしてこの考え方は、社会の様々な分野で活かせる基盤となるのです。


まとめ:ロボットプログラミングは、好きなことを通じて未来を育てる

今回ご紹介した効果は、必ずしもロボットプログラミングだけで得られるものではありません。しかし、ものづくりに興味を持つ子どもたちにとって、好きなことを通じて、将来に役立つ力が自然に身につくという点で、非常に魅力的な学び方であることがおわかりいただけたのではないでしょうか。

ロボットプログラミング教室「プログラボ」の体験会はこちら

参考

  • Fan Ouyang and Weiqi Xu. The efects of educational robotics in STEM education: a multilevel meta-analysis
  • Meschede, et. al. The FIRST® Longitudinal Study: 10 Years of Follow-up Data: Final Report