うちのプログラミング教室に通ってくれて数カ月で高度なプログラムを作る子もいれば、長年プログラミング教室に通って頂いてもなかなか上達しない子もいます。
プログラミングではその差が顕著で何十倍もの差が開くことも珍しくはありません。
上達する子としない子の違いは大きく分けて3つの特徴が存在しています。
お子様をプログラミング教室に通わせたい方や、プログラミングは初めてみたい方は是非ご参考ください。
特徴1 家でプログラミングをするかどうか
教室に通ってくれているお子様でも、自宅では全くプログラミングをしない子は結構多いのが現状です。
プログラミング教室は月2回、多くても月4回程度の受講が一般的かと思いますが、その場合は月2~4時間程度の学習となります。
プログラミングを始めたばかりの上達度は
理解度 × 作ったプログラム数 = 上達度
になります。
そのため、作ったプログラム数は着手した時間に比例しますので、自宅でプログラミングをしない子はなかなか上達する事ができません。
特に隔週で受講されている方の場合は2週間も空いてしまうことになるので、授業で理解できたとしても忘れてしまい定着が遅くなってしまいます。
逆に自宅でも楽しんでプログラミングができる子は、習った内容を自分の作りたいプログラムに反映させることになるため、どんどん理解が定着して上達していきます。
ちなみに、大人の初心者の方でも、【理解】のみに力を入れて全くプログラムを作らない人がいます。
たとえば、技術書をパラパラと読んで、サンプルコードを実行もせずに、だいたい理解した思ってしまう人もおられました。
プログラミング初心者のうちは【たくさんプログラムを組む事】が最も大切ですので、是非ご自宅でもプログラミングにチャレンジしましょう。
特徴2 プログラムが一つずつ順番に動くことを理解する
プログラムが動く際は命令ブロックが一つずつ実行されます。
なので、プログラムを作るときには、目的の動作を作るためにはどのような順番でブロックを組み立てるかがポイントとなります。
たとえば、上向きの矢印キー(↑)を押した時に、キャラクターを上に動かすプログラムを作りたいとします。
この場合、プログラムとしては、①上に向ける、②進む、という形になります。
このプログラムを教えた時
「上に向けてから動かすのか」
という理解と
「上に向ける命令と動かす命令で作るのか」
という理解では大きな違いがあります。
後者の理解の仕方をしている場合、必要な命令ブロックを取り出すところまではスムーズにできる事が多いのですが、いざ組み立てると順番がバラバラで動かない事があります。
命令が一つずつ動くことを理解してプログラミングをすることが上達のポイントの一つです。
特徴3 楽しめる力
基本的にプログラミングは面倒な作業で、思った通りに動かすためには試行錯誤が必要となります。
そのため、いかに楽しみを見つけ出して、粘り強く取り組むかがポイントとなります。
プログラミングを始めたばかりの頃は、できない事が多く1つずつ知識を積み上げていくことができる為、楽しく取り組んでいただけることが多いのですが、ある程度学習すると「もういいや」という姿勢になってしまいがちです。
たとえば、矢印キーで左右に動くプログラムを作るとします。
これでキャラクターを動かす事ができるようになりますが、スクラッチの場合、このプログラムのだとキーを押した時にスムーズに動かす事ができません。
そこで、ある程度学習が進んで分岐処理を覚えると、下記のプログラムで作る事でスムーズにキャラクターを動かす事ができるようになります。
これを教えた時に
「スムーズに動かせた!やった!!」
と思ってくれる子と
「なんかややこしいから前の方法でいい」
と思う子の2パターンがあります。
当然前者の子の方がどんどんいろんなパターンを吸収して上達していきます。
後者の子は、スムーズに動く事よりも、プログラムがややこしい・面倒と思ってしまう思考が勝ってしまうため、なかなかプログラミングスキルの上達にはつながりません。
これは本人の努力というよりは教える側の心得のようなものですが、どうすれば楽しんでもらえるのか?という視点で工夫する事が大切です。
まとめ
以上が私がプログラミング教室を運営していた感じた3つのポイントとなります。
お子様のプログラミングスキルを上達させたい場合は、この3点を意識して教えると良いでしょう。
また、ご自身のプログラミングスキルを上達させたい場合については、楽しめる、わくわくする教材や参考書を探し、少しでも良いので毎日コツコツと続けるようにしましょう。