2020年に小学校の必修科目になる予定のプログラミングですが、「プログラミング」と聞いても「いまいちピンと来ない」という人は多いのではないでしょうか?
テレビやパソコン、スマートフォン・・・
身近なアイテムから時代の変化を肌で感じて、「なんとなく必要なんだろうな」とわかっていても、「どうして必修科目になったんだろう」「学びたい人だけやればいい」という気持ちがあると思います。
しかしながら、「必修科目になるのはそれなりの理由がある」ということを忘れてはいけません。
プログラミングの授業は、プログラマーを育てるものではなく、あなたの子供の未来を選択肢を広げるためのものです。
今回は、「必修科目になった背景」から「どのようなことを学べるか」まで、プログラミング必修化について知りたいことを紹介していきます。
目次
1.プログラミングが必修科目になった背景
プログラミングの必修化。
その背景には「コンピューターの普及」があり、「考える力を育てるため」という思惑があります。
本章ではそれらについて少し詳しく説明していきます。
1-1.コンピューターの普及によるプログラミングの必修化
プログラミングが必修化した背景には、コンピューターの普及が大きく関わっています。
「コンピューターってパソコンのことでしょ」と思っている人もいますが、そうではありません。
コンピューターは、スマートフォンや携帯ゲーム機、電子レンジなど、身の回りのあらゆる電子機器に内蔵されているものです。
つまり、私たちの生活はコンピューターによって支えられているといっても過言ではないですし、これからもそうでしょう。
ですから、これからを生きる私たち、とくに子供たちはコンピューターは身近なものであると理解して、以下について考えていく必要があります。
- コンピューターはどんなところに活用されているのか
- コンピューターはどうやって動いているのか
- コンピューターを活用する方法は他にないのか
コンピューターは、目標達成のために与えられた指示(プログラム)によって動きます。
そして、その指示をつくることを「プログラミング」といいます。
私たちの生活を支えるコンピューターを知るために、プログラミングの知識は必須なのです。
加速する「コンピューター普及の波」。
この波に乗り遅れないように、プログラミングの授業は必修科目になったといえるでしょう。
1-2.プログラミングを通して「考える力」を育てる
問題に直面したとき、何かを成し遂げたいとき、たくさん考えて物事に取り組むと思います。
しかし、「考えているうちに頭の中がいっぱいになって、なんだかイヤになって投げ出してしまった」という経験がある人もいるのではないでしょうか。
少なくとも私は何度かそうなったことがあります。
「考える力」ってとても大切ですよね。
生きていくうえで必要な「考える力」ですが、実は育てることができます。その方法として「プログラミング」が注目され、必修科目になりました。
プログラミングをするには(コンピューターに与える指示をつくるには)、以下の3つを考えます。
- どのような処理が必要か
- どのような手順でおこなうのか
- どう改善したら自分のやりたいことに近づくのか
処理や手順が必要のは当たり前ですから、プログラミングの経験がない人は「そんなの簡単!問題はプログラムの書き方だよ」と思うかもしれません。
しかし、実際にプログラミングをやってみた人は「情報を整理したり思った通りに表現したりするのは、意外と大変だ」と気づきます。(※難しいのは「プログラムを書くこと」ではない!)
そして「これでどうだ!」「ここはこうしよう!」と考えているうちに、「考える力」が鍛えられていくのです。
「考える力」を育てると選択肢が増えるので、「問題を解決する力」も身につくでしょう。
2.プログラミングの必修化について(参考:文部科学省Web)
プログラミングの必修化について調べたとき、「書いてあることが難しくてよくわからない」と感じる人は少なくないのではないでしょうか。
その悩みを解決するために、‟文部科学省ホームページ”で公開している情報をもとに「プログラミングの必修化について」解説していきます。
2-1.プログラミング教育が目指すもの
プログラミング教育が目指すことは、プログラムを書けるようになることではありません。
文部科学省では、プログラミング教育の位置づけを【時代を超えて普遍的に求められる力としての「プログラミング的思考」などを育成するもの】としています。
プログラミング的思考とは、「物事をおこなうときの順序」や「そうなるわけ」などを筋道を立てて考えること、つまり論理的思考のことです。
時代は「教わる教育」から「自分たちで考える教育」になってきているのです。
プログラミング教育によって、子供たちが「主体的・対話的」に行動できるようになれば、創造力が身につき、豊かな生活を送ることができるでしょう。
つまり「どのような時代においても必要とされる資質・能力を高めること」こそが、プログラミング教育の目指すものなのです。
補足:「主体的・対話的」な行動って?
主体的な行動とは、自分の意思や判断に基づいたもの。
対話的な行動とは、自分の意見を言ったり、相手の意見を聞いたりして、お互いに影響を与えるものです。
プログラミング教育では「自分で考える(主体的)」「友達の考えを知る(対話的)」ことで、理解を深めたり、選択肢を広げたりできるようになることが期待されます。
2-2.プログラミングで資質と能力を高めるってどういうこと?
「2-1」の最後にある「資質と能力を高めること」ですが、ポイントは以下の3つです。
①何を理解しているか、何ができるか(知識・技能)
②理解していること、できることをどう使うか(思考力・判断力・表現力)
③どのように社会・世界と関わり、よりよい人生を送るか(学びに向かう力、人間性等)
プログラミングの授業では、この3つの資質と能力を高められることが期待できます。
それでは、それぞれについて少し詳しく見ていきましょう。
2-2-1.①【知識・技能】情報を「読み解く力・結び付ける力・活用する力」
発展する社会において、情報はとても重要です。
さまざまな情報が飛びかう中、私たちはその情報を読み取り、結びつけて、活用することが求められています。
プログラミング的思考を身につけると、物事をいろいろな方面から捉えて考えられるようになります。
時代の変化に左右されることなく、情報を整理する力が身につくことでしょう。
これが、プログラミングの授業で高めたい資質・能力のひとつです。
2-2-2.②【思考力・判断力・表現力】課題を「発見する力・解決する力」
プログラミングに問題があると、コンピューターは思うように動きません。
そのため、問題がどこにあるのかを見つけて解決する必要があります。
また、より効果的に情報やコンピューターを活用していくためには、自ら課題を見つけて新しいやり方を考えるのも必要です。
こうした「課題の発見と解決に向けて働きかけ」が、高めたい資質・能力です。
2-2-3.③【学びに向かう力、人間性等】「未来の在り方を考える力・創造する力」
プログラミング的思考を身につけ、課題を発見・解決する力を身につけた子供たちは「次はこうしよう」「こうしたらもっと良くなる」という想像力を膨らませ、感性を働かせます。
そうすると「自分や周りの人にとっての良い未来」を考えるようになり、それを実現(創造)するために自分が持っている力をどんどん発揮していくようになります。
社会と関わりながら、子供たちは人生を豊かなものにしていくでしょう。
こうした「人間性」が高めたい資質・能力なのです。
2-3.プログラミングの必修化に向けて
プログラミングの必修化といっても、現段階では新たに科目が増えるというわけではありません。
すでにある科目に「プログラミング的思考」を追加して、プログラミング教育はおこなわれます。
プログラミング教育をおこなう学年や教科、指導内容は、各学校の指導体制や地域との連携体制、実情などに応じて計画・実施されていきます。
小学校におけるプログラミングの授業は、プログラミングの考えに触れ、体験し、興味や関心を育てることが中心です。
3.プログラミングについて知ろう
ここまでは「プログラミングの必修化に向けて知りたいこと」をまとめてきましたが、馴染みのない人からすると「そもそもプログラミングってなんだろう」となりますよね。
本章では「プログラミング」について簡単に紹介していきます。
3-1.プログラミングの基本
プログラミングの基本として「プログラミングを構成する3つの要素」と「プログラミングの流れ」を説明します。
この2つはプログラミング的思考を育むための基盤にもなるので、しっかり覚えましょう!
3-1-1.プログラミングを構成する3つの要素
プログラミングのすべては「インプット」「アルゴリズム」「アウトプット」の3つに分けて説明できます。
- インプット=【データの入力】
- アルゴリズム=【目標達成のための処理や手順】
- アウトプット=【アルゴリズムによって導かれたものを出力すること】
例えば、「GoogleやYahoo!などの検索窓に知りたい内容を入力して検索ボタンを押すのがインプット」「検索内容を調べるプログラムがアルゴリズム」「検索結果の表示がアウトプット」になります。
内容が複雑なプログラムでも、中身をひとつずつ見ていくと、必ず入力されるデータがあり、そのデータを必要な形にする処理がおこなわれ、結果を出力しています。
3-1-2.プログラミングの基本的な流れ
プログラミングには、【順次実行・分岐・繰り返し】という基本的な流れがあります。
コンピューターは、目標を達成するまで書かれた順番どおりに指示を実行するようにできていて、それを【順次実行】といいます。
また、コンピューターは指示がない動きは絶対にしてくれません。
指示したことを素早く的確に処理してくれますが、人間のような柔軟性や判断力、応用力はないのです。
そこで必要になるのが、条件による【分岐】と【繰り返し】の処理です。
分岐によってさまざまなケースに対応し、繰り返しの指示を出すことによって、効率的な動きを実現させます。
プログラミングにおいて、実行する順番や条件による分岐、繰り返しはとても大事なことですから、【順次実行・分岐・繰り返し】という流れをしっかり覚えておきましょう。
3-2.プログラミングで使うデータの取り扱い
プログラミングで扱うデータは、「変数」と呼ばれる入れ物に入れます。
コンピューターは自分の意志でデータを選んだり整理整頓したりできないため、入れ物を用意して、使うデータを指示してあげましょう。
そして、ここで注意してほしいのは「1つの入れ物には1つのデータしか入らない」ということです。
データが入っている入れ物にデータを追加すると、もともと入っていたデータは消えてしまいます。
例えばこんなときは・・・
- 「入れ物X」には「データA」が入っている
- 「入れ物X」に「データA」を入れたまま「データB」を入れたい
①「入れ物X」から「 データA」を取り出す(参照)
②「データA」に「データB」を追加する指示を出す(変更)→ 「データC」が作成される
③「データC」を「入れ物X」に入れる(保存)
慣れるまではデータの扱いは少し難しいかもしれませんが、「保存・参照・変更・削除」をうまく使いこなしていきましょう!
3-3.アルゴリズム
これまでに何度も書いてきましたが、プログラミングでは目標達成のために「筋道(手順や処理の内容)を立てて考えること」が求めらます。
そして、この筋道を「アルゴリズム」といいます。
ここから先は【パソコンで「1+2」をして「3」という答えを画面に表示する】ことを目標に組み立てたアルゴリズムです。
①数字を記憶する入れ物を用意する(入れ物1,2,3)
② 入れ物 1 に 数字 1 を入れる
③ 入れ物 2 に 数字 2 を入れる
④ 入れ物 1 と 入れ物 2 の中身を参照して足し算する(1+2)
※このとき、計算結果は 入れ物3 に入れる
⑤入れ物3 の数字をパソコンの画面上に表示する
※数字をどうやって入れるのか、どうやって表示するかなどの細かい指示も必要ですが、それはプログラムの書き方になるのでここでは省略します。
この指示を見てわかるとおり、コンピューターに何かをしてほしいときは、一から十まで指示を出す必要があります。
指示が足りなければ、「入れ物がないから数字を覚えられない」「表示してって言われてないから答えは教えてあげない」となってしまいます。
4.プログラミングの必修科に向けて家庭でできること
プログラミングについて理解を深めたところで、あなたの子供がいち早く「プログラミングの考え方に慣れるために家庭でできること」を紹介していきます。
4-1.課題を出して、そのためにとるべき行動を紙に書かせる
課題を出して何かをおこなうときの一連の流れを紙に書いてみよう。
紙に書いたらその通りに実行してみて、課題をクリアできるか試してみましょう。
指示が足りずに次の行動ができないときには「何が足りなかったのか」を自分で考えさせて、紙に書き足します。
課題をクリアできたら、子供をたくさん褒めましょう!
例えばこんな課題・・・
<歯磨きするときの行動を順番に紙に書きましょう>
↓解答例
① 洗面所に行く
② 歯ブラシを手に取る
③ 歯ブラシに歯磨き粉をのせる
④ 口を開けて、1本ずつ歯をみがく(すべてみがき終わるまで続ける)
⑤ みがき終わったら、コップに水を入れる
⑥ 水を口に含んで、うがいをする
⑦ 口元をタオルで拭く
⑧ 洗面所を出る
<宿題をするときの行動を順番に紙に書きましょう>
↓解答例
① ランドセルを開ける
② ランドセルから宿題と教科書、参考書、筆箱を取り出す
③ ②を持って、宿題する場所へ行き、宿題を広げる
④ 筆箱から筆記用具を取り出す
⑤ 筆記用具を使って、宿題に取り掛かる
⑥ 必要があれば、教科書や参考書を広げて見る(宿題が終わるまで続ける)
⑦ 宿題が終わったら、宿題・教科書・参考書をすべて閉じる、筆記用具は筆箱にしまう
⑧ ⑦をランドセルに入れる
➈ ランドセルを閉める
4-2.きみの絵を動かそう!プログラミン(文部科学省)
プログラミングは家庭のパソコンで体験することができます。
プログラミングといっても、難しいコードを書くわけではありません。
文部科学省の「きみの絵を動かそう!プログラミン」では、コマンドを選択して絵を動かすプログラムを作ることができるので、子供も簡単にできます。検索して、ぜひ試してみてください。
4-3.ルビィのぼうけん(翔泳社)
絵本の「ルビィのぼうけん」では、ルビィという女の子の冒険を通して「プログラミングってこうゆうこと!」を学ぶことができます。
難しい言葉は出てきません。
物語ですから、子供から大人まで楽しく読めるので、とてもオススメの絵本です。
出典:翔泳社「ルビィのぼうけん」
(http://www.shoeisha.co.jp/book/detail/9784798143491)
物語のあとにプログラミングの仕組みを知るための練習問題があるので、挑戦してみましょう。
5.<まとめ>
プログラミングの授業は、子供の「考える力」を育み、選択肢を広げることにつながります。
あなたの子供が時代の変化に左右されることなく、豊かな生活をおくれるようにプログラミングは必修科目になったのです。
必修科目が増えると「勉強しなければいけないことが増えた」と感じるかもしれませんが、小学校の段階では「もともとある科目にプログラミング的思考を付け足す」という感じです。
「プログラミングをやるんだ」と身構えるのではなく、「考えることを学ぶ授業なんだ」と思ってくださいね。
【参考書籍】
・上松 恵理子『小学校にプログラミングがやってきた! 超入門編』三省堂、2016
・高橋 与志『教えて♪ プログラミング まずはなんとなく分かることが大切よ!』リックテレコム、2016
・米田 昌悟 『プログラミング入門講座――基本と思考法と重要事項がきちんと学べる授業』SBクリエイティブ、2016
・小林 祐紀、 兼宗 進『コンピューターを使わない小学校プログラミング教育 “ルビィのぼうけん”で育む論理的思考 』翔泳社、2017
・リンダ・リウカス『ルビィのぼうけん こんにちは! プログラミング 』翔泳社、2016