プログラム学習とは
みなさんは「プログラム学習」と聞いてどういった学習法を思い浮かべるでしょうか?今流行りのプログラミング教室で行われている学習法?最近小学校で必修化されたプログラミング教育?実は「プログラム教育」はプログラミング教育とは全くの別物です。「プログラム学習」とは「一定の学習目標に到達させるために細かく分析され、論理的系統的に順序づけられた内容を解説、説明、質問、答えの系列に従って習得させる学習指導の方法」(出典 ブリタニカ国際大百科事典 小項目事典)とあります。これは心理学の理論で、今では多く利用されているwebの学習サイトやタブレット教材など「eラーニング」のベースになっているものです。今日はこの「プログラム学習」について紹介していきます。
スキナーが提唱するプログラム学習
「プログラム学習」(programmed instruction)は新行動主義を代表するアメリカの心理学者パラス・フレデリック・スキナー(1904年~1990年)の提唱した学習法です。スキナーは、人間や動物の行動を、心理学を用いて研究する「行動分析学」の創始者と言われています。その実績は教育やビジネスでの人材育成、スキルアップやペットの訓練技術、さらに軍事技術まで20世紀の社会に大きな影響を与えました。例えば、飼い犬がボールを取ってきたら褒めてあげて餌をあげる。今では一般的に行われているこのしつけもスキナーの影響によるものです。
1953年のある日、彼は小学4年生の末娘の学校で父の日の公開授業を見て驚きました。そこにいたのは休みなく延々と説明を続ける教師とそれを黙って聴き続ける生徒たちでした。「これでは効果的な学習ができるはずがない」と考えた彼は心理学研究を活かした学習法を考案します。それがプログラム学習です。
では彼の提唱する「プログラム学習」とはどういったものなのでしょうか。その名の通り「プログラム」つまり「順序計画」に基づいた学習法のことです。まずはゴールとなる目標を決めます。そしてその目標に向かって訓練や勉強をしていくわけですが、スキナーは目標達成までの道のりを細かく区切り、一つずつクリアさせました。スキナーはその順序計画の中に行動心理学者ならではの視点でさまざまな仕掛けを施しました。そのおかげで学習者は無理なく、効率よく学習することができるようになりました。スキナーが仕掛けた仕掛け、特徴がプログラム学習の本質なのです。
こちらの記事もオススメ
エリクソンの発達段階に応じた年齢別発達課題とは | ロボ団ブログ | ロボットプログラミング教室 ロボ団 (robo-done.com)
オペラント条件づけ(operant conditioning)とは
スキナーが提唱したもので有名なものにオペラント条件付け(operant conditioning)というものがあります。
スキナーはネズミにスキナー箱というスキナーが開発した実験装置を用いて研究しました。箱の中にはネズミが一匹。壁からは一本のレバーが伸びており、このレバーを押すと餌が一粒、餌皿に落ちてきます。最初は箱の中を動き回るネズミが偶然レバーを押します。すると餌が出てきます。これを何度も繰り返すと、やがてネズミは「レバーを押せば餌が出てくる」という仕組みを学習します。これを人間の行動で例えてみましょう。子どもが忙しそうなお母さんを見て、「何かお手伝いしようか」と声をかけお母さんのお手伝いをします。お母さんは喜び、手伝いが済んだあと「お駄賃」と言ってお小遣いをくれました。このような経験をした後では、子どもがお母さんにお手伝いを申し出る確率が以前よりも高くなる。これがオペラント条件付けによる学習です。それを与えることで行動が増えるもののことを正の強化子(reinforcer)といいます。餌やお駄賃のことですね。また強化子を与えることを(反応を)強化するといいます。
似た実験に餌に反応してよだれが出る「パブロフの犬」がありますが、このタイプの学習は古典的条件付け、レスポンデント条件付けと呼ばれます。レスポンデント条件付けは刺激に対する無意識の反応ですが、オペラント条件付けはあくまで被験者の自由意志による行動であることが大きな違いです。
ティーチングマシン(teaching machine)を使った学習方法
そしてオペラント条件付けを人間の教育に応用したのがティーチングマシン(teaching machine)です。ティーチングマシンは学習者の回答に対して正解や不正解をすぐ知らせ、次の問題を用意します。回答した後でないと答えが表示されないようになっています。学習者はこれを使って、それぞれのペースで問題にチャレンジしていきます。60年代の初頭には実際に学校で導入されティーチングマシンを使っている様子や解説動画が残っています。(Skinner and teaching machine – YouTube)
今ではこのようにクイズ形式で出される教材やゲームをPCやスマホのアプリで目にしたことがある方も多いのではないでしょうか。
プログラム学習の5つの原理
プログラム学習は5つの基本原理で作られています。そのどれもが心理学・行動分析学に基づいたものです。「5つの原理」をひとつずつ見ていきましょう。
こちらの記事もオススメ
ピアジェが提唱する4つの思考発達段階とは | ロボ団ブログ | ロボットプログラミング教室 ロボ団 (robo-done.com)
積極的反応の原理
学習者は常に積極的でなければありません。学校の授業で先生の話をぼんやり聞き流して別のことを考えていたなんてこともありますよね。なかにはウトウトしてしまったり、手遊びしていた子もいるかもしれません。これでは授業に参加しているようでも生徒は何も習得しないまま授業が終わってしまったことになります。ティーチングマシンの場合、出された問題に自分で回答して動かさないと次に進みません。学習者が積極的に自発的に取り組む必要があります。つまりただ解説を聞くだけ、教科書を読むだけといった一方通行の学習ではなく、必ず問題や質問が提示され、それに答えていく双方向の学習です。常にやりとりが発生するプレッシャーがあるので、手持無沙汰になったり、だらけたりすることなく持続的に集中して学習することができます。
即時確認の原理
プログラム学習では、問題を解いたらすぐ正誤を判定します。出題→回答→判定→次の出題という流れです。お馴染みのクイズ形式ですね。すぐに正誤がわかることで学習は定着し、達成感を得ることができます。期末テストなどで採点されたテストが返ってくるのが一週間後だった場合、どれだけの生徒がテスト問題をきっちり覚えているでしょうか。生徒が返ってきたテスト用紙の見直しを行わなかった場合、間違った問題はそのまま放置されてしまうことになってしまいます。ティーチングマシンではすぐに正誤を提示してくれるので、生徒は即時に正しい解答を自分にインプットすることができます。
スモールステップの原理
プログラム学習では、学習ステップを細かく設定し、ゆるやかに難易度が上がっていくようにします。こうすることで学習者の負担は小さくなりますし、成功体験が積み重なるためモチベーションを維持することにも役立ちます。問題が急激に難しくなってしまうと、学習者は「自分にはこの問題は解けない」と思ってしまい、やる気を失い挫折してしまうかもしれません。また緩やかでも少しずつ難易度が上がっていくことも必要です。あまりに同じような難易度の問題だと達成感を得るどころか作業になってしまい、「ただ疲れただけ」という結果になりかねません。それはスキナーの意図する「学習」ではありません。学習ステップは細かく設定するだけでなく、きちんと計画し随時調整する必要があります。
自己ペースの原理
学校では一人の教師が何十人もの生徒を教えるのが普通です。学年ごとにクラス分けされているとはいえ、生徒の理解度は一人ずつ異なりバラバラです。低学年くらいだと4月生まれと3月生まれの間には発達の違いもあります。生徒一人の中でも教科ごとに得意な科目や苦手な科目など色々ありますね。生徒を集めて一斉に授業を行うスタイルだと、どうしてもクラスの平均的な理解度の人に合わせて進めることとなります。一人ひとり個別のスキルに対応した授業はなかなか行えません。そうなると理解の追いつかない生徒やとっくに理解しているので退屈してしまう生徒も出てきます。中には国語は苦手で授業についていけないのに、算数は大得意で算数の授業は退屈でしかたないという子もいるかもしれません。また、病気などで何日か学校を休んでしまうと欠席した間の授業を受けていないためチンプンカンプン。あとで個人的に先生へ質問しにいかなければならないということもあるでしょう。とにかく無駄が多いのです。
ティーチングマシンは一人ひとりに配られる家庭教師のようなものです。学習をそれぞれのペースで進めることができるのがポイントです。それぞれの能力に合わせて学習するので、浮きこぼれも落ちこぼれも作りません。苦手な科目はじっくりと時間をかけて確実に習得し、得意な科目はハイペースに短時間で学ぶということも可能です。自ら回答し理解していないと次のステップに進めないので、一斉授業のように置いてきぼりを食らうこともありません。結果として無駄なく効率的な学習ができるのです。
こちらの記事もオススメ
理数成績アップ!?ロボットプログラミングが子どもに与えるメリット | ロボ団ブログ | ロボットプログラミング教室 ロボ団 (robo-done.com)
学習者検証の原理
プログラム学習の教材が有効かどうかを判断する基準は学習者の理解度です。学習者が理解していないのなら、それは教材に問題があったということです。子どもの勉強をみていると「なぜわからないの?」と言いたくなってしまうこともありますが、それは子どもがわかるようにきちんと説明できていないこちらの責任です。説明が足りていないのかもしれないし、あるいはその前の段階の理解がまだ不十分なのかもしれません。プログラム学習では蓄積されたデータをもとに教材を改良していきます。もし、複数の子どもが同じ個所でつまずくのであれば、その個所の教材の作りが不十分だったといえます。学習者の理解度を確認検証してプログラム学習の教材の改良を重ねていくことが重要です。
こちらの記事もオススメ
ICT教育とは?小学校教育でどう導入されるの? | ロボ団ブログ | ロボットプログラミング教室 ロボ団 (robo-done.com)
プログラム学習のメリット
プログラム学習の基本原理をしたうえで、それらにどのようなメリットがあるのか見ていきましょう。ティーチングマシンを利用しなくても、普段の学習に取り入れられるものがあると思います。ぜひ参考にしてみてください。
インプットとアウトプットを交互に行える
学習はただ覚えるだけでは不完全です。覚えたことを使って問題を解くことで知識として定着します。プログラム学習ではインプットした知識を次々にティーチングマシンにアウトプットしていかないといけません。覚えたことを「いつか」使うではなくて「すぐに」使うことで記憶として定着させやすくなります。ただ講義を受講しているだけ、テキストを読んでいるだけではインプットに偏りすぎていてちゃんと習得できているかどうか自分自身も第三者からもよくわかりません。他人に教えることは何よりの学習だとよく言われますね。きちんと理解していないと正しいアウトプットはできません。「学ぶ」と「使う」を交互に行うことで学習内容がしっかりと身に付きます。
即時フィードバックでモチベーション維持
ティーチングマシンにアウトプットされた答えはすぐに正誤が判断されます。これが即時フィードバックです。
回答→判定(間違ったらもう一度)→次の問題のサイクルです。学校のテストのように、前日もしくは数日前に解いた問題のフィードバックを受け取ってもサイクルが長すぎます。学習者には正解した/間違っていたという結果だけが残ります。またテストだと複数出題されるため一問一問の印象が弱くなってしまいます。即時に答えが返ってくることで「やった!」という達成感を得ることができ、「間違った。じゃあこうかな?」という試行錯誤が生まれます。即時フィードバックにより、どの内容が理解できていてどの内容が理解できていないのかも自分で把握しやすくなります。答えと答え合わせの間に時間を置かないことでモチベーションの維持ができるのです。
何かに没頭して時間がずいぶん経っていることに気づかなかったとか、ぐっと集中してびっくりするほど仕事がはかどったという体験をしたことはありませんか?こうした体験のことを「フロー」と言います。同じような意味で「ゾーンに入る」という言葉を聞いたこともおありかと思います。この「フロー」は、心理学者のミハイ・チクセントミハイが提唱しました。「1つの活動に没頭するあまり、ほかのことが気にならなくなる状態、またはその経験がとても楽しく、大きな労力がかかってもそれをしてしまう状態」をフローと言います。フロー状態にはいると極めて高い集中力によりその人の持つ最大限の力を発揮することができます。フロー状態に入れば楽しく効率的に勉強ができそうですよね。このフロー状態に入るために必要な要素として「明確な目標」と「即時フィードバック」があります。走るなら脚をこう動かしたら速くなった、この解法を用いたら問題を解くことができたなどフィードバックに対して即修正を繰り返すから限界まで力を引き出すことができるのです。おうちでの学習でもお子さんが解いた問題をすぐに答え合わせしてあげる、質問にすぐ答えてあげるなど即時フィードバックをなるべく取り入れてあげましょう。
こちらの記事もオススメ
「好き」が子どもの集中力を高める一番のトレーニング! | ロボ団ブログ | ロボットプログラミング教室 ロボ団 (robo-done.com)
スモールステップで行き詰まりにくい
プログラム学習では、問題の難易度が少しずつ緩やかに上がっていきます。これは「学習者はどこがわかっていないのか」という学習の現在地を把握しやすくなります。ドミノ倒しの場合、どこでドミノが倒れなかったか一目でわかります。同じように学習者がどこで行き詰っているのかを発見し、次のステップへ導いてあげることができます。
また少しずつ難易度が上がることで「フロー状態」にも入りやすくなります。問題が簡単すぎると退屈な作業になってしまいますし、難しすぎると全く手が出なくてやる気を失ってしまいます。問題が簡単すぎず、難しすぎないという微妙な匙加減が必要です。学習難易度を細かく分けることでその時の学習者に合わせた適切な難易度の問題に取り組むことができ、学習者は達成感を味わうことができます。スモールステップもフロー状態へと導く条件となるのです。
こどもそれぞれのペースで学べる
自分のペースで学ぶというのはとても大事です。前述のように物事を理解するペースは人によって異なりますし、学ぶジャンルによっても違います。また、目から入る情報のほうが理解しやすい人、耳から入る情報のほうが理解しやすい人などインプットの方法にも向き不向きがあります。静かな環境でないと集中できないタイプ、音楽がかかっていたり、雑音がある環境のほうが集中できるタイプなどもあるでしょう。講義型の授業では、これらの一人ひとりの特性には配慮されません。そのせいでどうしても理解できない人や時間を持て余す人が出てきてしまうのです。この問題は昔から危惧されてきました。アメリカでは個人差を認めない一斉教育を廃止し、主要教科は生徒が学習計画を作成し「実験室」とよばれる教室で自分のペースで学習を進めるオルタナティブ教育「ドルトンプラン」が採用されている学校があります。オランダで生まれた「イエナプラン」にも「ブロックアワー」と呼ばれる個別学習の時間が多く取られ、各自自分のペースで学習計画を立てて学ぶことができます。日本ではまだまだこのような学習スタイルを導入している学校はわずかです。ですが、家庭教師や個別指導塾など1対1でお子さんに最適な学習をと習わせているご家庭も多いようです。
日本でもようやくGIGAスクール構想で一人一台のPCやタブレットが配布されました。文部科学省でもICTを最大限に活用して「個別最適な学び」と「協働的な学び」を一体的に充実し、「主体的・対話的で深い学び」の実現に向けた授業改善につなげると述べています。補充的な学習として、PCやタブレットを利用して個別のスキルに合わせた学習が可能となりそうです。ICTの導入で日本でも加速的にプログラム学習が進みそうですね。
ロボットプログラミング教室ロボ団での学びもプログラム学習の5つの原理の要素が含まれています。ロボットプログラミングは自らロボットを組み立て、プログラムを組まなければロボットは動きません。そして、プログラムが正確に組まれているかどうかは、ロボットが思い通りの動きをするかすぐ目で見て確認することができます。ロボットにある動きができれば、次にもう少し難易度の高い別の動きができるように挑戦できます。ただ受動的にやり方を教わるのではなく、2人1組となって相談しながら課題に挑戦します。そして最後にはその日の学びを振り返り、全員の前でプレゼンを行うことで次のレッスンに活かします。1回3時間のレッスンと聞くと長いように感じますが、子どもたちはフロー状態で驚くほどの集中力で楽しく取り組むので時間が経つのがあっという間なのです。
詳しくはこちらから レッスン内容・レッスンの流れ | ロボットプログラミング教室 ロボ団 (robo-done.com)