かつて、子どもの教育を考える時に、「これからの時代、英語くらいできないとね!」と考える方が多かったと思います。最近、MYLABにお越しいただいた保護者さまとお話していると、「英語とプログラミングくらいできないとね!」と考えていらっしゃる方が増えているなと感じます。
ただ、今の小学生は忙しくて、習い事を複数やっていて、いきなりプログラミングスクールに通うというのは、少しハードルが高いという方も多いようです。そこで、まずはおうちで、無料でプログラミングを学びはじめたいという方の参考になればと思い、この記事を書いています。
目次
無料でプログラミングを学ぶことができるツールは「パズル系」と「自由製作系」の2つに分けられる
現在、プログラミングを学ぶことができるWebサイトやアプリがたくさん存在していますが、大きく分けると、「パズル系」と「自由製作系」の2つに分類することができます。
パズル系のプログラミング学習ツールでは、「前に進む」「右を向く」「左を向く」といったキャラクターを動かすためのプログラムのブロックをつなげていって、迷路をなどでゴールするといったものです。
例えば「Hour of Code」というサイトがあります。
画面左に写っているのがプログラムを実行した時に動く画面、右側のオレンジ色や緑色のブロックが並んでいるのがプログラムを作成する画面です。
キャラクターが目的とする位置にたどり着くことができるように、画面右側でプログラムを作っていくのですが、「前に進む」というブロックをたくさん並べるのは面倒だな!ということに気づいた時に、繰り返し処理のブロックを使うことを学ぶことができるといったように、スモールステップでプログラムの要素概念を積み上げで学ぶことができるようになっているものが多いです。
前者のパズル系は、Webサイトもアプリもたくさんありますが、まずはじめのとっかかりとして使ってみたいということであれば、結論としては、どれを使っても良いのではないかと思います。
一方、自由製作系ツールは、とくに与えられた課題があるわけではなく、つくりたいものを考えて、工夫しながら作っていくというものです。無料ということで言うと、なんと言ってもScratch(https://scratch.mit.edu/)がおすすめです。
画面の構成自体は、パズル系ツールと似ています。上はScratchの画像ですが、右上にプログラムで作った結果が表示される画面があり、真ん中から右にプログラムをつくる画面になっています。パズル系ツールとの違いは、この画面の中で何をするかというのが決められていないことです。
パズル系ツールでは、一つ一つのミッションがステージになっていて、実行すると正誤判定されて、正解したら次のステージに進むというものが多いです。一方で、Scratchでは、この画面の中で何をするのかは製作者自身に委ねられており、自分で考えないと、はじめることができないものとなっています。
プログラミング学習においては、自由製作系ツールがおすすめ
パズル系ツールは、はじめた当初はパズルを問いているようなゲーム感覚で取り組むことができるので、お子さまたちもとても楽しんで取り組むことができます。
また、繰り返し処理、条件分岐、関数・・・といった、プログラミングの要素概念を効率的に学ぶことができるようになっているものも多く、プログラミングの基礎概念を理解するという上では優れています。
一方で、中長期的に考えると、プログラミングは「何かを解決するための手段」であったり、「自分がつくりたいものをつくるための手段」であって、プログラミングを学ぶことそのものが目的ではないはずです。
そう考えると、自由製作系ツールで、自分がつくりたいものを試行錯誤しながら、その中でプログラミングを学ぶことができることが理想的です。
しかし、そこに自由製作系ツールの難しさがあります。
自由製作系のプログラミングツールで学ぶ際には教材やメンターが必要
わたしたちの教室MYLABにおいて、次から次にアイデアがわいてきて、「こういうものをつくりたい!」というお子さまもいますが、割合としては少数です。そこで、われわれメンターからアイデアの素を提供したり、会話の中でアイデアを引き出したり、製作の素になるゲームやアニメーションを提供することもあります。
そうしたアイデアの素が手に入ると、そこからは自分で製作をはじめられるお子さまはたくさんいます。
問題は、その素をどう手に入れるかです。いま、いろいろなプログラミング学習のツールがありますが、こうしたアイデアの素を無料で提供しているサイトは、多くはないと思います。
有料となってしまいますが、おすすめは、『Scratchコーディングカード』(日経BP)です。
このカードは、Scratchの基本的な動きを材料とした課題集のような作りになっているので、初学者のとっかかりとして、カードに記載された課題を製作していくと良いと思います。
お父さんが子どもにプログラミングを教えるためのアイデア その1
実は、Scratchそのものがアイデア集のようになっているので、面白い作品を見つけて真似をしてみたり、コーディングカードのようなものから初めて、そのうち「自分でこんなものが作ってみたい!」と思えるようになると理想的です。
しかし、われわれMYLABに頂くお問い合わせとして、本やWebサイトでScratchを少しやりはじめましたが、少しやったところで次に何をやったら良いかわからなくなってしまった、というお問い合わせをたくさん頂きます。
MYLABには、こうしたアイデアが豊富にありますので、ご入会頂くとよいのですが、いろいろな事情でそれが難しい方のために、おうちで無料で学ぶことができるアイデアを、今後ご紹介していきたいと思います。
算数好きのお子さまがいるエンジニアの保護者さま向けのアイデアをご紹介したいと思います。まずは、下の図をを覧ください。よくある、一筆書きの星の図ですね。
Scratchには、キャラクター(Scratchの中では「スプライト」といいます)が通った軌跡に線を描くという機能があります。この機能を使うと、上の図のような図を描くことができます。
エンジニアの保護者さまなら、「一定の距離進んで、方向を変える」という動きの繰り返しでこの図が描けることにすぐ気がつくと思います。
では、ここで質問です。星の頂点の角度を何度にしたら、この図を描くことができるでしょうか?
ここからは、まず、算数・数学的な考え方をしていきたいと思います。
下の図をみると、三角形の外角の性質を使うと、「①の角度+②の角度=③の角度」になっていることがわかります。
同様に、「④の角度+⑤の角度=⑥の角度」となります。
上の2つの図から、下の三角形を考えると、5つの星の頂点の角の大きさを足し合わせると、180度になることがわかります。
ということは、すべての星の頂点の角の大きさが等しいとすると、「180 ÷ 5 = 36度」となります。
これを使うと、下のようなプログラムで星を描くことができます。
ただ、このように算数・数学的に考えていくのが唯一の方法ではありません。
少しずつ角度を調整しながら問いていく方法もあります。
例えば、頂点の角度40度として仮定すると、下の図のように、星型になりません。
そこで、頂点の角を35度と考えてみると、下の図のように微妙におしい感じになります。
こうした調整をしていくと、実は頂点の角が36度の時に、きちんと星型になることがわかります。
もし、お子さまが算数がきらいでなければ、このようなScratchの使い方も楽しめるかもしれませんね。
今回は、ここまでとしたいと思います。
アイデアが尽きた。。という方は
今後も不定期で、お子さまが無料でおうちでプログラミングを学ぶことができる方法をご紹介していきます。
ただし、こうしたことを続けていくと、アイデアが尽きてしまったり、継続的にお子さまにプログラミングを教え続けるのはが難しくなってしまうこともあるかもしれません。そんなときは、ぜひ、一度MYLABの体験レッスンをうけてみていただければと思います。
MYLABには、お子さまたちが楽しみながらプログラミングを学ぶことができるカリキュラムをたくさんご用意していますので、ぜひ一度お試しください!