ここまで、主体性を身に付ければ、子供たちは自分で考え行動し、自分のやりたいことを自分のモノにできること。
「問題解決力」「論理的思考」「プログラミング的思考」は、効率よく論理的に考えるようになれば、問題を解決できるという一つの流れであり、プログラミングを使って、整理・分解しながら筋道を立てるという体験をさせることで、より論理的に物事を考えやすくなるのが、プログラミング教育という話をしました。
体系的な教育を行っていない
主体性を身に付けることと、論理的に物事を考える力を身に付けるために、プログラミング教室「プロラボ唐津」では、「入門・中級・上級」や「Scratch・Ptyhon」といった体系的な教育は行っていません。
プログラミング学習は「インプット」と「アウトプット」の繰り返しです。
体系的なプログラミング教育は、教科書通りに進めていくだけで、自ら考えアウトプットしたものではないため、1か月後に同じプログラムを作る課題を与えても作れない人が多いです。
なぜかというと、体系的なプログラミング教育は、プログラミングの基本構文を知識として教えているからです。
プログラミングをする上で、身に付けないといけないのが、プログラミングの基本構文の知識ですが、それを教えることがメインになると、どのようにプログラムが動いているのか、俯瞰してみることが疎かになります。
市販されている、子供向けプログラミングの書籍に、目を通してみてください。
いくつかのプログラムを作る内容になっていますが、いきなり作り方から入ってるはずです。
その中で、if文という構文の使い方や、変数とはどういうものかを説明して、完成させていきます。
順番通り作れば、プログラムは完成しますが、子供たちは単に説明通りに作っただけ。
「整理・分解しながら筋道を立てる」ことを教えていないので、同じプログラムを作る課題を与えても、作れない人が続出するわけです。
ただ、中には論理的に、そのことが理解できる子供もいます。
そういう子供はごく一部で、多くの子供は、論理的に考えることができません。
プログラミング学習は「インプット」と「アウトプット」の繰り返しと説明したように、数をこなしていけば、論理的に考えられるようにはなります。
しかし、論理的に考えることを教えなければ単なる作業になり、子供たちの理解度に合わせて教育しなければ、中身が分からないまま授業が進むという事態になりかねません。
要は、教え方次第で、成長スピードに大きな差が生まれるということです。
数をこなせば、少なからず成長はできますが、プログラミング教室「プロラボ唐津」では、より早く成長できるよう、子供たちの興味・関心、理解力を見極めながら、プログラミング教育を行っています。
固定カリキュラムの弊害
子供たちの成長スピードに大きな差が生まれる要因の一つが、カリキュラムが固定されていることです。
プログラミング教室に限らず、他の業界でもそうですが、カリキュラムが固定されている場合が多いです。
例えば、学年ごとに学ぶ内容が決まっており、さらに授業回数(ex.90分×全30回)も固定されている教室があります。
他にも、「Scratchコース」「Ptyhonコース」とプログラミング言語でコースを分ける教室もあります。
論理的思考力が高い子供
子供の中には、すでに論理的思考力が高い子供もいて、そういった子供は特に説明しなくても、すぐに内容を理解し、どんどん先に進んでいきます。
論理的思考力が高い子供には、プログラミングの基本構文の知識やテクニックをダイレクトに教えた方が、早々に自分が作りたいプログラムを作っていきます。
あとは、「インプット」と「アウトプット」を繰り返していくことで、成長スピードがいっきに上がります。
ダイレクトに教えるというと、子供たちにちゃんと考えさせないといけないという意見もでてくると思いますが、論理的思考力が高い子供は、知識さえ与えれば勝手に自分で論理的に考え、解決してしまうのです。
よって、理解している内容は省き、欲しい知識や情報をダイレクトに教えてあげた方が、より成長できます。
また、最初は、ブロックを並べて簡単にプログラミングできる「Scratch」で教育しますが、プログラミングの基礎が理解できれば、早々に「Ptyhon」など別のプログラミング言語に切り替えます。
Scratchは、ブロックを並べるだけで簡単にプログラミングができるため、子供たちには人気のビジュアルプログラミング言語です。
しかし、社会で通じるプログラミング言語ではありません。
Scratchをマスターしたとしても、社会で通じるとすれば、Scratchを教えるプログラミング教室の先生ぐらいです。
また、Scratchは、だれでも簡単にプログラミングを学べるよう、エラーがほとんどでない仕様になっています。
Scratchはエラーがでないので、とりあえずブロックを並べればプログラムが動きます。
なんとなくプログラムが動いてしまうと、何をやっているか理解できていない子供は、作れた気になり、理解しないまま時間だけが過ぎることになりかねません。
そこに、Scratchの危うさがあります。
逆に、ソースコードを記述するプログラミング言語は、1文字間違えるだけでエラーが出ます。
プログラミングは、エラーを解決する力も必要で、エラーを解決するには、どういう処理をしているのか、しっかり理解する必要があります。
このようにビジュアルプログラミング言語の将来性や、危うさを指摘している技術者も多いのが現状です。
ゲームを作りたいのであれば、Scratchではなく、ゲーム開発でよく使われている「Unity」使って学習したほうが、よっぽど将来に活かせます。
よって、プログラミング教室「プロラボ唐津」では、単にプログラミングを教えるのではなく、子供たちの成長に合わせて、将来に活かせるプログラミング教育をしていきます。
考えるのが苦手な子供
逆に、考えるのが苦手な子には、分かりやすく確実に理解できるやり方で、論理的に考えることを教えていきます。
最初に、論理的に考えることを習慣づけさせておけば、効率が悪い方法であってもプログラムを作ることができます。
そして、効率の良い方法や必要な部分のプログラムの作り方は、他の人の作品のプログラムを多く見るよう教えます。
最初は、人のプログラムを真似て作っても、問題ありません。
そのままコピペして使っても、まったく問題なしです。
それを繰り返していけば、プログラムの仕組みを理解でき、自分自身で考えて作れるようになります。
子供の成長に合わせたカリキュラム
このように、「論理的思考力が高い子供」「考えるのが苦手な子供」では、アプローチの仕方が異なります。
どの子供であっても、一律して同じ教育を受けさせているのが、固定カリキュラムです。
固定カリキュラムは、論理的思考力の高い子にとっては、物足りないものとなり、考えるのが苦手な子にとっては、理解できないことにもなりかねません。
理解している子供には、飛び級するぐらいどんどんステップアップさせて、考えるのが苦手な子供には、他の子に遅れても確実に理解させてから進めたほうが、長い目で見ると成長スピードが早いです。
プログラミング教室「プロラボ唐津」では、そこを見極めながら、子供の成長に合わせたカリキュラムで、プログラミング教育をしていきます。
よって、体系的な教育は行っておらず、回数コースのみとなります。
(計180分)
月2回コース
90分 ✕ 3回/月
(計270分)
月3回コース
90分 ✕ 4回/月
(計360分)
月4回コース
自宅でもプログラミングできる環境があれば、月2回コースでも十分です。
プログラミングできる環境がない場合は、回数を増やすか、自宅でもプログラミングができる環境を、整えてあげることをお勧めします。
「【プログラミング教育】子供たちの才能と個性を引き出す」でも説明していますが、子供たちの個性を引き出すには、以下の3つが重要です。
- 子供たちが、何に興味・関心を持つのか見極める
- 子供たちが、自由に自分のやりたいことをやれる環境づくり
- 子供たちとの距離感
2の「子供たちが、自由に自分のやりたいことをやれる環境づくり」をしてあげた方が、子供はより主体的に行動します。