- 小学校教育にプログラミングが追加されたんたけど・・・
- プログラミングって難しそうだけど子供に教えられるか不安
- 子供でも分かるくらい簡単にプログラミングって何か教えて!!
2020年に小学校教育にプログラミングが追加されたことはご存じの方が多いと思いますが、
プログラミングを勉強していない我々親世代では子供に教えられない人が非常に多いです
そこでこの記事では、
私が”0″からプログラミングを学んだ実体験や知識”0″の後輩を育成した経験を活用して
- プログラミングとは?について超簡単解説
- 親世代が知っておくべきプログラミング的思考の話
- 知識”0″の子供にプログラミングを教えるポイント3点
について解説します
この記事を読めば
「プログラミングとは何をするのか」
を理解し、ご自身のお子さんにも分かりやすく教えられるようになります
この記事を書いている私、こはくは現役ITエンジニアとして絶賛活動中、
IT知識”0″の後輩を一人前のエンジニアに育て上げたという経験もあります
また、過去に塾講師・家庭教師として多数の小・中学生に勉強を教えた経験もあります
プログラミングとは「機械に命令するための言葉を作る作業」
上記の通り、
プログラミングをすごく簡単に言うと「機械に命令するための言葉を作る作業」です
ここで言う「機械に命令するための言葉」がプログラミング言語に該当します
例えば日本人同士の会話であれば、
日本語で「○○してください」ということで相手に対してやってほしいことを伝えることができます
しかし、これが日本人とアメリカ人の場合はどうなるでしょうか?
答えは”日本語か英語どちらかに合わせて会話する”ことが必要になります
それぞれが母国語しか話せない状態であれば会話が成り立たないわけですね
ここまでの説明を受けて勘づいている方もいるかと思いますが、
プログラミング言語は「人と機械が会話するための言葉」に該当します
機械は日本語を理解できませんので、
人間側が機械が理解できる”言語”=”プログラミング言語”を
活用することで機械に対して命令を送ることが可能となるのです
そして、
機械に命令を送るためのプログラミング言語を組み立てることを”プログラミング”といい、
プログラミング言語を記述することを”コーディング“といいます
プログラミングについてもう少し具体的に解説
前章でプログラミングとは
「機械に対しての命令を送るためのプログラミング言語を組み立てること」と学びました
ここではもう少し具体的にプログラミングについて解説します
プログラミング言語の種類
人間にも日本語・英語・中国語と様々な言語があるように、
プログラミング言語にも様々な言語が存在します
それらの言語は大きく3つの分類に分けられています
- 機械語
- アセンブリ言語(低級言語)
- 高級言語
本記事はプログラミングを説明することが目的ですので、
3つの言語については概要に絞って解説します
機械語
機械が直接理解することができる言語
0と1の文字列で表されるため人間が読み書きすることは難しい
アセンブリ言語(低級言語)
人間が実用的に読み書きできる言語の中で最も機械語に近い形式で利用される言語
人間の言語より機械語に近いことから低級言語とも呼ばれる
高級言語
人間がより理解しやすい形に近づけた言語
現代のプログラミング言語は高級言語が主流である
小学校教育で行うプログラミングとは?
小学校でのプログラミング教育は上記3種類の言語は利用しません
では何を使うのか・・・
小学校教育ではプログラミング言語の”コーディング”を学ぶのではなく、
パズルを組み立てるような論理的な思考力「プログラミング的思考」を学ぶことが目的です
そのため小学校教育ではパズル形式で遊びながら
プログラミングを学べるようなカリキュラムとなっています
詳しい内容は後日、別記事で解説予定です
小学校教育に取り入れられている「プログラミング的思考」について
ここでは前章で登場した「プログラミング的思考」について解説していきます
文部科学省より提示されている小学校プログラミング教育の手引(第三版) によると、
そもそものプログラミング教育の狙いは
非常に大まかに言えば、
①「プログラミング的思考」を育むこと、
②プログラムの働きやよさ、情報社会がコンピュータ等の情報技術によって
支えられていることなどに気付くことができるようにするとともに、
コンピュータ等を上手に活用して身近な問題を解決したり、
よりよい社会を築いたりしようとする態度を育むこと、小学校プログラミング教育の手引(第三版) |文部科学省
③各教科等の内容を指導する中で実施する場合には、
各教科等での学びをより確実なものとすること
の3点と記載されています
かつ、「プログラミング的思考」については
「自分が意図する一連の活動を実現するために、どのような動きの組合せが
小学校プログラミング教育の手引(第三版) |文部科学省
必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたら
いいのか、記号の組合せをどのように改善していけば、より意図した活動に
近づくのか、といったことを論理的に考えていく力」
という説明がされています
超簡単に要約すると、
「プログラミングに限定せず、いかなる場面でも論理的に考えることができる思考力」
がプログラミング的思考の本質となります
知識”0″の子供にプログラミングを教えるためのポイント3点
ここまで「プログラミング」、「プログラミング的思考」について解説してきましたが、
最後にこの内容を子供に教えるためのポイントを3つ紹介します
- 小学生の子に対しては「プログラミングとは?」を理解してもらう必要はない
- 子供が”教わる”ではなく”遊ぶ”感覚で取り組めるような内容にする
- 国や民間の教育機関が用意している教材で”一緒に学ぶ”
それぞれ簡単に解説します
子供に必ずしも「プログラミングとは?」を理解してもらう必要はない
プログラミングについて説明するのはよいですが、完全に理解してもらう必要はありません
何故なら、「プログラミングとは?」を理解してもそこから得られることが少ないからです
プログラミング教育のゴールはプログラミングを理解することではなく、
「プログラミング的思考」を身に付けることにあります
そのためプログラミングを理解していなくてもプログラミング的思考が身についていれば
教育の目的が達成されるのです
子供が”教わる”ではなく”遊ぶ”感覚で取り組めるような内容にする
“教わる”という受け身ではプログラミング的思考を身に付けることはできません
自ら考え、組み立ててこそ論理的な思考力が身に付くのです
そのため、子供達が能動的に考え・行動することを促す環境が大切になってきます
そこで登場するのが”楽しい”を引き出す”遊ぶ”感覚になります
小学生向けのゲームで学べるプログラミング等コンテンツがありますので、
ぜひ、遊びながら思考力を鍛えられるコンテンツを導入してみてください
おすすめのコンテンツについては後日まとめ記事を作成予定です
国や民間の教育機関が用意している教材で”一緒に学ぶ”
プログラミング教育のために自ら題材を考えるのも素晴らしいのですが、
良い題材を見つけられなかったり用意に時間がかかってしまいますよね
そんな時は教育のプロが用意している教材を活用しましょう
おすすめ教材をまとめた記事も後日作成予定です
また、その教材で子供と一緒に学んでみることをオススメします
一緒に学ぶことで以下メリットがありますよ
- コミュニケーションの一つとなる
- 貴方自身の勉強にも繋がる
- 子供が教材を独り占めするようになったらベスト
以上、子供にプログラミングを教えるポイント3点を解説してきました
子供それぞれで得意/不得意・好き/嫌いがありますので必ず当てはまるとは限りませんが
教える上での参考にしていただければ幸いです。
まとめ
最後に本記事をまとめ解説して終わりにします
プログラミングとは「機械に命令するための言葉を作る作業」である
プログラミングとは人と機械が会話するための言葉を組み合わせて
一連の動作を行う命令を作るための作業を指す
機械に命令するための言葉のことを「プログラミング言語」と呼ぶ
プログラミング言語には
- 機械語
- アセンブリ言語(低級言語)
- 高級言語
の3つの分類に分けられ、プログラミング言語を組み立てることを「コーディング」という
小学校教育で行うプログラミングとは「プログラミング的思考」
小学校で行うプログラミング教育は、実際にプログラミング言語を用いてコーディングを
するわけではなく、プログラミング的思考力を身に付けるためのトレーニングを行う
プログラミング的思考とは「どんな場面でも論理的に考える思考力」
プログラミング的思考はプログラミングに限定することなく、
広く活用できる論理的な思考力のことを表す
知識”0″の子供にプログラミングを教えるためのポイント3点
- 小学生の子に対しては「プログラミングとは?」を理解してもらう必要はない
- 子供が”教わる”ではなく”遊ぶ”感覚で取り組めるような内容にする
- 国や民間の教育機関が用意している教材で”一緒に学ぶ”
他にも絶賛子育て中の親世代に向けた記事を書いていますので覗いてみてください
コメント