子供にプログラミングを学習させる前に、親が最低限知っておきたいこと
2020年から小学校で必修化したプログラミング教育。プログラミングをどうやって子供に学習させるかを考える際に、親自身が「プログラム」について最低限のことを知っておくことが、どういった教育を受けさせるかを決める上でも非常に重要です。
更新日: 2023.12.15公開日: 2023.6.5
そもそもプログラミングとは何か?
プログラミングは辞書的には「プログラムを書くこと」を意味しますが、基本は「コンピュータ(機械)に指示をする」のがプログラミングです。
ですので、アプリの開発でも、ロボットを動かすのも、アニメーションを作るのも、コンピュータに何かをさせるためにプログラムを書くのであれば、プログラミングと言えます。
プログラミング学習は「言語」と「論理」の二つに分けられる
実際にプログラムを書いてみるとわかりますが、プログラミングは「言語」と「論理」の二つに分けられます。
この二つの違いを知ることは、子供にプログラミング学習をさせる上で非常に重要です。
プログラミング言語と学習
普段スマホやPCを使っていると、コンピュータは英語や日本語をそのまま理解しているように感じますが、実はコンピュータは0と1の羅列(バイナリ)しか認識できません。
そんな0と1の羅列しか認識できないコンピュータと、人間が対話をしやすくするために開発されたものが「プログラミング言語」です。プログラミング言語を利用することで、人間の言葉に近い形でコンピュータに指示をすることが出来ます。
プログラミング言語には様々な種類があり、言語によって書き方や作法が異なるため、最低限その言語について理解するための学習が必要となります。
プログラミング言語の学習自体は、英会話を習うのと同じ「文法や単語(関数など)を覚える」のが基本です。
プログラミングの論理(ロジック)と学習
プログラミング言語で書けばコンピュータに何かをさせることができます。例えば、画面に「Hello World!」と表示させるのは多くのプログラミング言語の最初の学習例でプログラムです。
ただし、これだけで「プログラムが出来た!」と通じるは学習段階だけで、実際に何かを作ったり、サービスを運営するには複雑な理論(ロジック)を組み合わせたプログラムが必要になります。
先程の例では「画面にHello World!と表示させる」というだけのものでしたが、実際のプログラムでは「Aというデータを使って、Bという値を計算し、Cという表を表示させる」といった幾つもの条件を組み合わせて行います。その際に、目的にあった処理をするには、論理的な思考が重要になります。
そして、そうしたプログラミング的な思考(ロジック)は、使うシーンや言語が異なっても応用が効くため、一度習得をすると応用が効くのです。
子供の頃に習得したいのは「理論(ロジック)」
プログラミングは、どんな複雑なプログラムであっても、極論を言えば「変数」を「処理」をしているだけでしかありません。重要なのは、「どんな考え方、仕組みでプログラムを組むか」なのです。
子供用のプログラミング教材は「理論」にフォーカスしている
日本でプログラミングの導入学習をするのは小学生からが多いですが、小学生の子供というのは母国語ですら学習中で、大人と同じように処理が出来ません。
ですので、最初からいきなりプログラミング言語を学習させるよりも、根幹となる理論やプログラミング的な思考を育てるというのが、子供用プログラミング学習の主眼です。
そのため、子供用のプログラミング教材は、アニメーションを動かしたり、組み合わせを使ってロボットを動かしたりと「理論」を体験し、会得することにフォーカスしています。
プログラミングは、
- なに(誰)が
- どんな条件で
- 何をする
という考え方基本ですので、そうしたプログラミング的な思考を育てるためのカリキュラムが多くなります。
「プログラミングの学習なのに、プログラム書いてないし、遊んでるだけでは?」と思ってしまいますが、実はその遊びのような中に、プログラミングに必要な基本が含まれているのです。
言語は後からついてくる
一度プログラミング的思考を習得すれば、プログラミング言語は後からいくらでも習得できます。
プログラミングでは「どう言った用途で使うのか」で使う言語が異なります。例えば、アプリであればJavaなどが主流ですし、WebサイトならJavascriptやPHPなどの言語を学習する必要があります。AIの処理を行うのはPythonが主流です。
ただ、一度どれかのプログラミング言語を習得すると、他のプログラミング言語は「方言」や「外国語」みたいなもので、意外と早く習得できます。
例えば、先程の「Hello World!」と表示させるプログラムをいろんな言語で書いてみると以下のようになります。
// Python
print("Hello World!")
// Java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
// JavaScript
console.log("Hello World!");
// Ruby
puts "Hello World!"
// PHP
echo "Hello World!";
書き方は違いますが、形的には似ていることがわかります。
最初からプログラミング言語を学習するのも良いですが、母国語も学習中の子供にプログラミングを教えるのならば、まずは理論の方を会得させた方が良いという考え方です。
「子供のプラグラミング学習」の記事
子供にプログラミングを学習させる前に、親が最低限知っておきたいこと
2020年から小学校で必修化したプログラミング教育。プログラミングをどうやって子供に学習させるかを考える際に、親自身が「プログラム」について最低限のことを知っておくことが、どういった教育を受けさせるかを決める上でも非常に重要です。