プログラミング教育に学習塾のノウハウを
当スクールはオリジナルテキストの作成から生徒への指導に至るまで、「受験個別指導のプロ」の協力をもとに行っています。プログラミング教育はまだまだ若い分野です。一方で、学習塾産業は既に50年以上の歴史を持っており、そこに蓄積されたノウハウは膨大です。KIDS TECH LABでは生徒の「わかる」「できる」を生み出すプロが持つノウハウをプログラミング教育に応用することで、高品質な指導を実現しています。
「学びのメカニズム」に基づいたテキストと指導
勉強でもスポーツでも音楽でも、人が何かを「学ぶ」過程には一定の法則があります。
この「学び」を研究する学問を認知心理学と呼び(一部は学習心理学とも呼ばれます)、現在では教育からスポーツまで幅広く注目を浴び、取り入れられています。
(短期記憶・長期記憶といった言葉も認知心理学の用語です。これらは日常でも、広く使われるようになっています)
当スクールのテキスト・指導は全てこの認知心理学をもとに設計されており、一見難しいイメージがあるプログラミングを効果的に学習していけるよう工夫されています。
プログラミング的思考とは?
2020年より小学校ではプログラミング教育が必修化されます。文部科学省の資料によると今回の必修化の狙いは「プログラミング的思考を育成すること」とされています。
ではプログラミング的思考とは一体どのような力を指すのでしょうか?
イギリスでプログラミング教育を研究するComputing at School(CAS)によるとプログラミング的思考とは以下のように説明されています。
これだけでは難しくてよくわからない部分もあります。しかしこれらの力は子供たちの頭を鍛える上でとても大切な要素なのです。一つ一つを以下で解説しておりますので、是非一度読んでみて下さい。
分解して考える力を育てる
プログラミングを行う上での最初のステップは「動作を分解する」ということです。
例えば「本をめくる」という動作。次の文はNHKのある番組で「本をめくる」という動作と共に流れたナレーションです。
まず左の親指が少しずつ外側へずれていきます。指の腹の感覚を研ぎ澄ませて,見事に一枚だけを浮かせます。そして両手で本を閉じると見せかけてその反動で浮かせた一枚を右側へ送ります。右手親指は向かってくる一枚をスッとかわし上から押さえこみます。無事に一枚をパスし終えた左の親指はゆっくりとまた元の位置に戻ります。親指どうし,素晴らしいコンビネーションです。
私たちが普段「本をめくる」と一言で表している動作でさえ、分解してみると非常に多くの動作に分かれることが見てとれます。
プログラミングとはコンピューターに対して「ある動作」を行うように指示を出すことです。ですからコンピューターに正しく指示を出すためには、指示したい動作をバラバラに分解して考える必要があるのです。
アルゴリズム的に考える力を育てる
アルゴリズムとは簡単に言えば「動作の順番」のことです。
例えばスイカ割りを想像してみて下さい。
①スイカに近づいて
②手を振り下ろす
この順番だと見事にスイカを割ることができます。しかし
①手を振り下ろして
②スイカに近づく
という順番だと何度やってもスイカを割ることはできません。
プログラミングでもこれと同じように、動作を分解した後は「順番を考える」ことをしなければいけません。
どの順番で動作を指示すれば、コンピューターは自分の思い描いた通りの動きをしてくれるのかを考える中で「アルゴリズム的に考える力」が身についてきます。
抽象化して考える力を育てる
抽象化して考える力とは「簡潔で、まとまった指示を出す力」と言い換えることもできます。
例えば会社において、次のような場面を想像してみて下さい。
明日は大事な会議があります。そのための資料を用意しなければいけません。Aさんは上司の指示のもと、明日の資料を用意しています。
「まずは資料Aを50枚コピーして」
「終わった?じゃあ次は資料Bを50枚コピーして」
「終わった?次は資料Cを50枚ね」
「終わった?最後は資料Dを50枚お願い」
こんな指示の出し方ではAさんは何度も上司のもとに指示をもらいに行かなければいけません。最初から
「明日の会議で使う資料をそれぞれ50枚コピーして」
と指示を出せば一言で済みます。どちらの指示も出来上がる資料は同じです。ですが後者の方が明らかに「簡潔で、まとまりのある指示」ですね。
プログラミングの世界でも、コンピューターに出す指示(プログラム)は簡潔でまとまりがある方が良いとされます。
「この動作をコンピューターにやってもらうには、どんな指示を出せば簡単に済むかな?」
と考えながらプログラミングを学ぶことで、抽象化して考える力が身についていきます。
評価の観点で考える力を育てる
評価の観点で考える力とは「プログラムを使う人の目線になって考える力」ということです。
当スクールでは授業で簡単なゲームを講師と一緒に作っていきます。しかし
「やった!動いた!できた!」
がゴールではありません。
「このゲームをプレイする人が、もっと楽しめるようにするにはどうすればいいかな?」
「もっと使い方をわかりやすくできないかな?」
「もっと操作しやすくできないかな?」
このように、そのゲームを「使う誰か」の目線で自分のプログラムを評価し、さらに改良していく力も同時に鍛えていきます。
自由な発想を育てる
当スクールはロボットプログラミングではなくソフトウェアプログラミングを採用しています。
ロボットプログラミングとは実際にロボットを組み立て、それをプログラミングによって指示通りに動かすことを指します。
一方で、ソフトウェアプログラミングとはパソコンやスマホの画面上で動くソフト(ゲームなど)をプログラミングによって作ることを指します。
ソフトウェアプログラミングの最大の長所は子供たちの「自由な発想」を育てることができるということです。パソコンの画面の中ではどんなことでもできます。キャラクターに空を飛ばせたり、武器を作ったり、キレイに飾ってみたり。自分で描いた絵をゲームの中で動かすこともできます。
「どんなことでもできる」という環境でプログラミングを学ぶことで
「次はこんなことをやってみたい!」
「こんな機能を付け足してみたい!」
というアイデアが次々に生まれてきます。
試行錯誤する力を育てる
プログラミング教室の中には「講師が生徒にどうプログラムするかの指示を出し、生徒がその通りにパソコンを操作してプログラムを組み上げる」という指導方法を採るところも少なくありません。
もちろん生徒たちはプログラミングの初学者ですから、講師が説明し、リードしながら進めなければいけないところも確かにあります。
しかし当スクールではあえて説明を最小限にとどめ、生徒に
「ここから先は自分で考えて、失敗してもいいから色々試してみて」
と声を掛けます。
プログラミングと聞くと、一般的には
・理系の人たちが、計画的に、段取りよくアプリのようなものを作っている様子
がイメージされるかもしれません。
もちろん仕事としてプログラミングをする現場では、ある程度の計画性や段取りは重視されます。しかし実際にはプログラミングは試行錯誤の連続です。
「これで上手く動くはずなのに、なんで動かないんだろう?」
と、失敗をもとに考える力が何よりも大切になります。
科学者や数学者の思考を研究した論文に次のような一節があります。
もちろん,科学者たちは計画を立てます。しかし彼らはまた,直感に従い,繰り返し,ミスをし,再考し,やり直し,議論し,じっくり考え,共同作業し,そしてお茶を飲んで一服もしているのです。
当スクールでは試行錯誤から得られる
・失敗から考え、学ぶ力
・成功するまで粘り強く努力する力
これらもプログラミング教育から獲得することができるかけがえのない力だと考えています。
授業の中でも生徒たちにできる限り自分の力で考えてもらい、何度でも挑戦できるようなカリキュラムの設計を行っています。
授業は少人数の個別指導制とし、粘り強くチャレンジする生徒たちを講師が近くでサポートできる仕組みになっています。
時には
「ちょっとジュースでも飲みながら休憩して、じっくり考えようか」
と寄り添いながら、生徒たちの成長をサポートしていきます。
まず初めに学びのメカニズムを3つに分けて簡単にご紹介したいと思います。
学びのメカニズム
①学びのメカニズムを料理でご紹介いたします
1.料理を覚えるにはまず、手順を習得する
きんぴらごぼうの作り方を習得する
ぶり大根の作り方を習得する
2.料理の手順の意味(言葉)を理解する
炒め煮:炒めることで材料の水分が抜けて調味料がしみこみやすくなる
隠し包丁:材料の裏側に切れ目を入れることで火が通りやすく食べやすくなる
3.料理を覚えた知識を応用する
技術を応用しながら色んな料理がつくれるようになる
②学びのメカニズムをサッカーでご紹介いたします
1.サッカーが上手くなるにはまず、手順を習得する
短い距離のキックが蹴れるようになる
長い距離のキックが蹴れるようになる
2.サッカーの手順の意味(言葉)を理解する
インサイドキック:足の内側で蹴る。威力は出ないがコントロールしやすい
インステップキック:足の甲で蹴る。コントロールは難しいが速く、飛距離が出る
3.サッカーで覚えた知識を応用する
試合の色々な場面でキックが使い分けられるようになる
③学びのメカニズムを数学でご紹介いたします
1.数学を理解するにはまず、手順を習得する
1次方程式が解ける
2次方程式が解ける
2.数学の式の手順の意味(言葉)を理解する
方程式:未知数xを求めるための式
方程式の次数:式の中に出てくる「何乗」を表す数で、最も大きいもの。普通は方程式の解の数は次数と同じなる
3.数学で覚えた知識を応用する
3次方程式や連立方程式など様々な式を解くことができる
カリキュラムの進め方についてご紹介
わたしたちキッズテックラボではお子様にプログラミングをご理解していただくにあたり三段階にわけてお子様にプログラミングを学んでいただいております。
1.オリジナルドリルでプログラミングの手順を取得していただきます
キャラを上下左右に動かせるようになる
条件に合わせて行動を変えさせることができる
2.プログラミングの意味(言葉)を理解する
座標:画面上の場所を示す指標。X軸が左右を、y軸が上下を意味する
条件分岐:論理式を設定し、その論理式を満たす場合とそうでない場合で実行される動作を変えること
3.設計書を作成する
色々なゲームに応用できる
お子様の創造的思考の伸ばし方を会話形式でご説明します。
学年問わず、お子様がより試行錯誤をしながら新しい発見をしていただく為に私達、キッズテックラボでは下記の順序でお子様の創造的思考を伸ばすよう努めております。
先生と生徒の会話
このような会話形式の中で、お子様が試行錯誤の力と想像し創造する力を伸ばせるように努めております。
お子様のカリキュラムの進み具合でカリキュラムの使い方を調整可能
私達キッズテックラボではオリジナルのカリキュラムを使用しております。お子様の進み具合にあわせて、つまづいた箇所をより早く、理解ができるよう学びのメカニズにあわせて設計しております。
生徒のつまづきから原因の特定をし、効果的な練習方法で学んでいただきます。
ステップでご説明いたします。
つまづいた生徒Aくん
ブロックの置き方を覚えられていない
ドリル問題を追加で練習
詳細設計からプログラミング