プログラミング教育とは?

そもそもプログラミング教育って?

「プログラミング教育」と言う言葉が出てきたのは

ほんの最近、ここ2〜3年の間のことです。

 

その理由は…

国の成長戦略の一部としてプログラミング教育の必修性が盛り込まれたのが原因で、

IoT、ビッグデータ、ロボット、AIなどの技術革新による「第四次産業革命」を支える人材の創出という側面からプログラミング教育をしよう、ということです。

 

しかしながら、この考えを推進しすぎると、

小学生から「キャリア教育か!」という見方になってしまい、

それはそれで悪いことではないのですが、

学齢に応じた「プログラミング教育」とは何か、

ということを文部科学省も考えました。

 

そのために「小学校段階における論理的思考や創造性、問題化いける能力などの育成とプログラミング教育に関する有識者会議」が設置され、次のような内容が示されました。

 

 

プログラミング教育とは?

以下その内容です。 

 

○プログラミング教育とは、子供たちに、コンピュータに意図した処理を行うよう指示することができるということを体験させながら、将来どのような職業に就くとしても、時代を超えて普遍的に求められる力としての「プログラミング的思考※」などを育むことであり、コーディングを覚えることが目的ではない。

※「プログラミング的思考」とは、自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力、と表現されている

○プログラミング教育を実施する前提として、言語能力の育成や各教科等における思考力の育成など、全ての教育の基盤として長年重視されてきている資質・能力の重要性もますます高まるものであると考えられる。こうした資質・能力の育成もしっかりと図っていくこと、また、小学校におけるプログラミング教育の実施に当たっては、ICT環境の整備や指導体制の確保等の条件整備が不可欠である。

○人工知能が、与えられた目的の中での処理を行っている一方で、人間は、感性を豊かに働かせながら、どのような未来を創っていくのか、どのように社会や人生をよりよいものにしていくのかという目的を自ら考え出すことができる。今後の教育の在り方を議論するに当たっては、私たちが物事を学ぶ学習過程の重要性を改めて認識しながら、子供たちが複雑な情報を読み解いて、解決すべき課題や解決の方向性を自ら見いだし、多様な他者と協働しながら自信を持って未来を創り出していくために必要な力を伸ばしていくことが求められる。 

○私たちの生活にますます身近なものとなっている情報技術を、受け身で捉えるのではなく、手段として効果的に活用していくことも求められる。便利さの裏側でどのような仕組みが機能しているのかについて思いを巡らせ、便利な機械が「魔法の箱」ではなく、プログラミングを通じて人間の意図した処理を行わせることができるものであり、人間の叡智が生み出したものであることを理解できるようにすることは、時代の要請として受け止めていく必要がある。

さて、まとめます。

長いのでまとめます(笑)

 

○プログラミング的思考を育むことが目的であり、コーディング(コンピュータ言語を覚えること)は目的ではない。

 プログラミング的思考とは「自分が意図した一連の活動を行うためにはどうしたらよいかを論理的に考える力」

 

○プログラミング教育を行う前提は、言語能力と思考力の育成であり、資質と能力の育成である。

 

○人工知能は与えられた目的を処理するのに対し、人間は豊かな感性を働かせながら、目的を自ら考えることができる。

 今後は物事を学ぶ学習過程を改めて認識しながら、子ども達が複雑な情報を読み解き、課題や解決の方向性を自ら見出し、

 他者と協働しながら未来を創り出すための必要な力を伸ばす。

 

○情報技術を、手段として活用していく。プログラミングは人間の意図した処理を行うことのできるものだと理解する。

 

簡略化してまとめるとこんな感じかなと思います。

要するに…

「考えるのは人間、プログラミングを含めた情報技術は、その考えを実行するときに必要な技術である。

 よって、人間は他者と協働しながら、目的を持って、論理的に物事を考え、学ぶ資質と能力を育成するのである」

ということですね。

 

ですから、

「目的を持って、自ら学ぶ」

という姿勢は何ら変わることはなく、

そこにプログラミングを含めた新しい技術も学んで使っていこう、ということです。

 

なので、

ITやIoT、AIを使って何ができるか、を考えるのではなく、

こういうことをしていきたいんだ、ならITやIoTやAIはどうやって活用できるかな、を考える。

 

したいことや考えたことが最初にあり、

情報技術は、そのことを体現する便利な道具になるうることを学びましょう、ということですね。

 

以前は人の手で10時間かけてやっていたものが、

今ではコンピュータが1時間でやってくれる。

残りの9時間を使って、人間は豊かな感性を働かせて、

未来を考えることができるようになったのです。

とってもいいことですね!

 

では、どうやってやっていくの?

プログラミング的思考と論理的思考は同じことを言っています。

つまりプログラミング教育は「論理的思考育成」ということですね。

 

しかし、そこにもう一つ大きな流れが入ってきています。

それが「主体性・多様性・協働性の育成」という学びの形ですね。

 

最近、よく耳にするようになった

「アクティブ・ラーニング(対話的・主体的で深い学び)」や

「アダプティブ・ラーニング(個に応じた指導)」です。

 

 

学校でも最近色々な取り組みがなされているかなと思いますが、

まだまだ手探りなようで、生徒さんから学校の様子を聞くと…

まだまだこれからなようです。

 

上記のラーニングを通じて、

学びの形そのものが大きく変化すると思います。

 

ですから、

プログラミング教育は、

コンピュータプログラミングを利用して、

学びに普遍な能力てあるプログラミング的思考(論理的思考)を育成し、

他者と話し合い、協働していく能力を養う教育、ということです。

 

決して、コンピュータ言語を学ぶわけではありません(笑)

でもそれでいいのです。

スタートは「プログラミングっておもしろい!」でいいのです。

そこから始まって後々様々なコンピュータ言語を学んでいけばいい。

 

コンピュータ言語は「言語」ですから、

文法事項があります。

でも、その文法事項は言語によって大きく違うってことはありません。

少しは違いますけど…。

でも「論理的に言語を捉える能力」が育成されていれば、

基本的にどんなコンピュータ言語も理解できます。

 

でもまぁ、今の小学生が大人になる頃には

Java ScriptもC言語もPythonももしかしたら…

別の新言語に変わっているかもしれませんね。

そうなるともう僕はお手上げですね(笑)

 

実際、Facebookの中のAIは

「AI同士でしかわからない言語」を生み出したって噂です。

人間はそれを理解できなかったので、

最終手段「電源を切る」っていう荒技に出たとか…。

すごい話ですね(笑)

 

 

もちろん、みかんせいでもその変化を取り入れた協働学習をスタートさせる予定です。

現時点では、帯広では月に2回程度、福井では2ヶ月に1回程度の割合で、

モノづくりを通じての協働学習や

実験を通じての協働学習を進めていく予定でいます。

 

きっと子ども達が楽しんで、学んでくれると思いますので、

 

乞うご期待ください!