子供にプログラミングを学ばせる前に知ってほしいこと。BLOGホームCOLUMNIT教育の考え方Tweet子供にプログラミングを学ばせる前に知ってほしいこと。IT教育の考え方Tweetこんにちはプロクラス代表の吉田です。@milan40920今回は、これから自分の子供にコンピュータプログラミング(以下、プログラミング)を学習させたいという方へ、どのようなポイントを意識して学ぶと良いかについて少し書かせていただきます。☆実現したいイメージを持てる人になろう!「子供にプログラミングを学ばせたい!」という保護者の方に私がよくお話するのですが、プログラミングを学習する場合、まずは・プログラミング言語(※1)の知識を学ぶ必要があります。これはプログラミングを教えているところで必ず教わるのですが、他にも同時に行うべき大切なことがあります。・プログラミングは手段(ツール)であるということです。例えればそろばんや電卓のようなポジションという訳です。そろばんや電卓とは違い、プログラミングはそれ以上に便利なもので、自分の考えた手順をプログラミング言語を使って機械やロボットに命令する(これをソフトウェアと言います)と、機械やロボットはその通りに動いてくれるので、実現したい目的イメージを持っている人は目的を達成するためのとても有効な手段になります。ここで考えていただきたいのは、「手段が目的化していないか」です。手段(プログラミング)だけを覚えてもプログラミングの知識だけを得て、「それをどう使えばいいのか?」という目的探しになってしまいます。初めは新鮮で楽しいかもしれませんが、繰り返し同じ事を行う事が多いため、学んでいく途中で目的が無いと退屈になり、早い段階でやがては。「体型維持のため腹筋を鍛えたい」のが目的の腹筋運動はできたとしても、誰も腹筋運動だけを目的に、毎日続けて出来る人はなかなか少ないと思いませんか?ですので、手段となるプログラミングでコンピュータに命令する前にしっかりと以下の2つを行なってからプログラミングを学ぶ事をお勧めします。それは、1)何をするためにプログラミングをするのか(実現したい目的を明確にする)2)どのような手順でプログラミングをするのか(アルゴリズム(設計)をしっかり考える)この2つを考えてからプログラムを組むことです。「1」は先ほどの目的意識を持つことにより、しっかりと学習するメンタリティや目的に対してぶれない思考を持つ事ができ、「2」はプログラミングする事よりも、このロジック(論理的)思考過程がかなり大切で、ここで考えた事が論理的思考脳を鍛えてくれていると言っても過言ではありません。その考えた内容(目的の達成手順)をコンピュータに打ち込んでいく(プログラミング)行為なのですから。何を作ろうとしているのかを改めて自ら考えて、どんな順序で作るべきなのかを自ら考えられるようになる力が養われるというわけです。わかりやすくするために、小さな事例で考えてみることにしましょう。☆おつかいで考えてみる「1):目的」について考えてみます。子供におつかいを頼むことを考えてみたとき、子供に伝える目的は何にすべきでしょうか。A)「ジャガイモ、玉ねぎ、ニンジン、牛肉を買って来て」と欲しい材料を伝えるB)「今夜はカレーの材料のジャガイモ、牛肉、玉ねぎ、ニンジンを買って来て」と完成形の情報(やイメージ)と材料を伝える良い回答は「B」です。材料を忘れそうになった時でも「カレーを作るためには・・・」と完成形を元に情報を引き出しやすくなることもですが、ただの暗記ではなくなるからです。したら、もう少しアレンジしてリンゴを買ってきてくれたり、牛肉が売り切れていたら、鶏肉や豚肉を代わりに買うという目的からずれない選択肢も考えつくかもしれません。完成形を明確にすることは、自ら考える力を与えてくれる重要な情報なのです。実際の買い物をするシーンで「野菜と肉を買う」と買い物の種類のカテゴリを把握しておくことによって、買い物の順番を野菜コーナーで野菜をまとめて買い、肉コーナーで買う牛肉は最後にした方が効率がいいと考え、スーパーを歩く順序を考え時間短縮をすることができます。◆家から→◆靴を履いて→◆家を出て→◆移動→◆スーパーへ入り→◆野菜コーナーで→◆ジャガイモ、玉ねぎ、ニンジンを買って→◆肉コーナーで→◆牛肉を買って→◆お金を払って→◆袋に詰めて→◆移動→◆家に戻り→◆靴を脱いで→◆家に入り→◆野菜と肉を調理して→◆カレーを作るです。このおつかいプログラムのアルゴリズムをイメージした後にお母さんと実施する内容を確認し合い(これをコードレビューといいます)間違いがない場合、おつかいプログラムを実施することで、効率良いおつかいプログラミングが実施され完成します。アルゴリズムを事前に考えることはとても大切で、論理的な思考がなければできないスキルです。ここを養うためには、しっかり「目的とアルゴリズム設計」を意識して考えるようにしてあげてください。プログラムをやみくもに組み上げるだけでは得られない頭脳になります。私たちが学んで来た学校教育でも同様に、算数や数学の数式、理科の化学反応式、英語の文法などにも本来「なぜこれを使う必要があるのか。どのような場面で必要となるのか」といった「目的」があるはずなのですが、あまりそこは明確になされず「手段」が重視されてきたため、目的を明確にする意識が弱い気がします。プロクラスでは「目的」や「アルゴリズム」を事前に考えてプログラミングに取り組む方法を取っておりますので、一度ぜひ無料のプログラミング体験に来てください。プロクラスの吉田でした。95%以上の人気講座!【簡単ホームページ制作!はじめてのWordPress】講座詳細はこちら関連記事マインクラフトプログラミングで得られる6つの効果とは!?こんにちは、プロクラスの吉田です。〜抽象化から具象化への思考過程を可視化すると・・・〜こんにちは。プロクラスの吉田です。子供も大人もスマートフォンに時間を奪われない方法<Android編>こんにちは。プロクラスの吉田です。前回の...記事を読む因数分解にみるパズルと論理的思考、プログラミングとの関係こんにちは。プロクラスの吉田です。プログラミング塾実施3/31のレポートです!!(まずは体験から!)こんにちは!プロクラスの吉田です。3月31日(土)東新宿のタイトー本社(新宿イ―ストサイドスクエア)大会議室にて、「タイトープロクラ...記事を読む【プログラミング教育】python言語とマインクラフトのプログラミング言語こんにちは。...記事を読むITスキルって演繹的?帰納的?こんにちは。プロクラスの吉田です。今日は「I...記事を読む子供にプログラミング学習を継続させる重要性とは?こんにちはプロクラスの吉田です。先日、塾を通...記事を読む今を生きる社会人に必要な「ITスキル」とは何か?今回は現代社会において必要な人材の「ITスキル」について書きたいと思います。皆さんは「ITスキル」という言葉を聞いた事あります...記事を読む論理的に考えたらどう変わる?こんにちは、プロクラスの野間です。今回は論理的な思考ってどのようなものかを考えてみたいと思います。