BLOGブログ
失敗しないプログラミング教育サービスの選び方は「反復教育」がポイント
プログラミング教育の重要性は高まっていますが、教育現場や研修現場、オンライン学習で行われているプログラミング教育では,実際にコーディングを行うプログラミングの実習では効果が出ず、研修や教育を受けたのにプログラミングスキルが低いままだったり、人によって大きな差がついてしまっている、という事が結構な頻度で発生しています。
そのため、オフラインでのプログラミング研修や新入社員研修、オンラインでのプログラミング教育サービスをお金をかけて折角導入したのに、「失敗した」「上手くいっていない」「成果が出なかった」という声が数多く聞かれます。
これは、一体どこが悪いのでしょうか?
これは,座学だけの講義やオンラインでの動画視聴、書籍で解説された内容と、実際に手を動かして行うプログラミング実習で行う課題の間では、様々な違いが存在するため、授業を聞いている間はわかった気になるのですが、実際に自分でコードを書こうとすると習った事と違う結果が出て戸惑う、という事が起きるからです。
そのため、座学メインの研修でよく発生するのが、出来る研修生と出来ない研修生の差が大きく出て、その差が最後まで埋まらずに「落ちこぼれ」を作ってしまうケース。
また、オンラインでの動画を使った教育や、書籍で学ぶ場合でも同様で、「わかる人はわかるけど、わからない人はわからないまま」となって、プログラミング学習に対する意欲を失ってしまう。
こういった事から、プログラミングに挫折した事があるIT初心者や、研修で社員毎に大きな差が出てしまっている人事担当者の方にとっては、「プログラミング教育は難しいもの」という印象になってしまっています。
では、新入社員研修やプログラミング教育のサービスは、どういった視点で選べば失敗は防げるのでしょうか?
それは、プログラミング実習で、実際に繰り返し手を動かしてコードを書く「反復教育」を行っているかどうかがポイントとなります。
見出し
「長期記憶」をさせるには?
「反復教育」の話をする前に、人はどうやって学習した事を記憶するのか、について考えてみましょう。
カリフォルニア大学医学部サンディエゴ校教授の神経心理学者ラリー・R・スクワイアによると、人間の記憶は大きく感覚記憶 (sensory memory) 、短期記憶 (short-term memory, STM) 、長期記憶 (long-term memory, LTM) の3つに分類されます。
それぞれについては、脳科学辞典:記憶の分類から見ていきましょう。
感覚記憶
感覚記憶 (sensory memory) とは、映像や音などを最大1~2秒ほど、記憶する記憶の事。
最も保持期間が短い記憶である。各感覚器官に特有に存在し、瞬間的に保持されるのみで意識されない。外界から入力された刺激情報は、まず感覚記憶として保持され、そのうち注意を向けられた情報だけが短期記憶として保持される。
短期記憶
短期記憶 (short-term memory, STM)とは、名前の通り短期間保持される記憶の事。
保持期間が数十秒程度の記憶である。保持時間だけではなく、一度に保持される情報の容量の大きさにも限界があることが特徴とされる。
長期記憶
長期記憶 (long-term memory, LTM) とは、長期間保持される記憶であり、忘却しない限り死ぬまで保持される記憶の事。
短期記憶に含まれる情報の多くは忘却され、その一部が長期記憶として保持される。この保持情報が長期記憶として安定化する過程は記憶の固定化と呼ばれる。長期記憶は保持時間が長く、数分から一生にわたって保持される記憶である。短期記憶とは異なり、容量の大きさに制限はないことが特徴とされる。長期記憶には、後述するように、陳述記憶(エピソード記憶、意味記憶)と非陳述記憶(手続き記憶、プライミングなど)が含まれる。
つまり、学習を定着させるためには、短期記憶を長期記憶に変えていく必要がありますが、そのためには陳述記憶(エピソード記憶、意味記憶)と非陳述記憶(手続き記憶、プライミングなど)という二種類の記憶があるという事です。
陳述記憶について、今回は説明を省きますが、プログラミングの実践学習においては非陳述記憶の中の手続き記憶を使うと、学習効果が高まります。
手続き記憶
手続き記憶は、同じ経験を反復することにより形成される記憶であり、一度身につけると意識しなくとも使うことができようになります。
手続き記憶(運動技能、知覚技能、認知技能など・習慣)は、自転車に乗る方法やパズルの解き方などのように、同じ経験を反復することにより形成される。一般的に記憶が一旦形成されると自動的に機能し、長期間保たれるという特徴を持つ。
つまり、これは「体に覚えこませた」状態を作るという事です。
体で覚える事が重要
例えば、小さい頃に乗り方を覚えた自転車、一度覚えた水泳、習い事で習った楽器は、どんなに長い時間が空いていても問題なくできますよね?
実際に、手を動かしてコードを書くプログラミングも同様です。
しかし、座学だけで聞いた講義や、オンラインでの動画視聴、書籍買ってきて読むだけ学習、といった受け身で読み聞きだけの丸暗記になってしまうと、短期記憶としてすぐに忘れてしまいます。
そのため、学んだ知識を長期記憶にするためには、考えながら繰り返し手を動かして実際にコードを書く事が重要なのです。
繰り返し手を動かす「反復教育」になっているか?
プログラミング学習を行うのに、オフラインでの研修やプログラミング教室、オンラインでの動画視聴、書籍といった様々な選択肢はあります。
しかし、どれを選ぶにしても、実際に手を動かしてコードを繰り返し書いて学ぶカリキュラムになっているか、という点が実践的なプログラミングスキルを身につけるためには重要なのです。
2016年度版 無料でプログラミング学習ができるサイト10個を調べてみたや2016年度版 無料でSQLの学習ができるサイト11個を調べてみたでも多くのサイトをご紹介しましたが、これらも自分で「コードを繰り返し書く」という点が抜けていると、実践的なプログラミング能力が身につきません。
これから、オフラインでのプログラミング研修やプログラミング教室、新入社員研修、オンラインでのプログラミング教育サービスを選ぶ際には、自分の手で繰り返しコードを書く「反復教育」をやっているかで選んで見てはいかがでしょうか?
ランキング
- 小さくても気を付けたい、紙書類の扱いポイント3つ
- 質問できない人への処方箋
- 報連相できない人をできるようにする方法
- .NET でプログラムの処理時間をストップウォッチで測る(Stopwatch クラス)
- ASP.NET MVC5 で初期エラーメッセージの変更方法
- Javaでjsoupを使ってスクレイピングを行う方法-jsoupインストール編
- プログラミング始めるなら!アルゴリズムを学べるスマートフォンアプリ3選
- 2016年度版 無料でSQLの学習ができるサイト11個を調べてみた
- プログラミングの「アルゴリズムとデータ構造」を学ぶには「Scratch」を使えば挫折が防げます
- 新卒SEのJavaEE挑戦記2(JSF編)