期待と不安が入り交じっている保護者の方も多いのではないでしょうか。
でも、意外と知られていないのは「なぜ、プログラミング教育の導入が決まったのか」「これを通じて、どのような能力を育てていきたいのか」について。
ここでは、プログラミング教育が必修化した経緯と、2020年4月に向けての学校などの現状をできるだけわかりやすくご紹介します。
プログラミング教育必修化の経緯
プログラミング教育必修化の出発点は2013年4月に開かれた政府主導の「第6回産業競争力会議」での議論からはじまりました。ITを活用したイノベーションを生み出すようなエンジニアの育成するために、義務教育段階でのプログラミング教育を提言。
さらに「日本再興戦略」「第26回産業競争力会議」などでプログラミング必修化の流れができてきました。
そして、小学校、中学校、高等学校の各段階における具体的な目標や内容などが提示され、2017年3月には新しい学習指導要領が告知され、プログラミング教育を必修化することが決定したというわけです。
プログラミング教育必修化で何が変わる?
プログラミング教育必修化で、小学校・中学校・高校で何が変わるのでしょうか。その影響について説明します。
プログラミング的思考を身近にする!小学校でのプログラミング教育
小学校では、身近な生活でコンピュータが活用されていることや、問題の解決には必要な手順があることを知ることに重点がおかれます。そして、発達の段階に即したプログラミング的思考を育成すること、コンピュータの働きをよりよい人生や社会づくりに生かそうとする態度を育てることなどが目標とされています。
プログラミング的思考とは、文部科学省によると(ちょっと難解になりますが)「自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力」。
かんたんに言えば「ものごとを論理的に考え、解決策を組み立てていく能力」です。
また、実際にコンピュータを動かすことだけではなく、それ以外の生活場面でも発揮できる能力を身につけることが期待されています。
具体的な学習方法に関しては、まだ不明な部分も多く、動向が注目されます。
プログラミングで伸びる『論理的思考力』とは? | 相手を思いやる力!
プログラミング教育の目的は「論理的思考力」を育てること。でも、「論理的思考力」ってそもそも何なのでしょうか?「相手を思いやる能力」でもある論理的思考力は、これからの時代に欠かせない力。わかりやすく解説します。
この記事をcoeteco.jp で読む >プログラミングの基礎を固める、中学校でのプログラミング教育必修化
中学校のカリキュラムには、以前より技術・家庭科のなかにプログラミングの授業がありました。その上で、2016年12月の中央教育審議会の答申では、中学校の技術でプログラミングの内容をさらに充実させることになりました。
これまでの計測・制御中心だったのに加え、さらにネットワークを利用した双方向性のあるコンテンツのプログラミングを行っていきます。
基本的な仕組みを理解してプログラムの制作することや動作確認、コンピュータのプログラムの誤りを見つけて直す「デバッグ」をするなど、多彩な内容が盛り込まれています。
中学校でプログラミング教育が必修化。いつから?内容は?徹底解説
2021年度からは、中学校でも新学習指導要領が「全面実施」となります。今回は文部科学省 上野耕史(うえの・こうし)さんにインタビュー。中学校でのプログラミング教育について詳しいお話を伺いました。
この記事をcoeteco.jp で読む >より実践的に将来に役立つ、高校におけるプログラミング教育
現在の高校では「情報」の科目「情報の科学」のなかにプログラミングに関する授業があります。ただ、情報の科学を選択している学校は多くなく、高校でプログラミング教育はあまり行われていないようです。
2016年12月の中央教育審議会の答申では、プログラミング教育を充実させるために「情報Ⅰ」「情報Ⅱ」(仮称)を設置することが提案されました。
今後の動向が気になるところですが、高校でもプログラミング教育がさらに充実されていきそうです。
2020年の教育改革、受験や就職への影響は?センター試験と「大卒」資格
2020年に迫った教育改革。プログラミング教育が必修化され「外国語(英語)」「道徳」も教科化します。先生が話し、生徒が聞く現在のスタイルから「主体的・対話的で深い学び」へ。受験や就職にはどのような影響があるのでしょうか。
この記事をcoeteco.jp で読む >プログラミング教育の具体的な進め方とは?
実際に教科のなかでプログラミングの力を身につけるにはどのようにすればよいのでしょうか。その方法について説明します。アンプラグドなプログラミングの活用
パソコンを使わず、さまざまな問題解決方法を論理的に「プログラミング」していくことを、アンプラグドなプログラミングといいます。論理的思考は、すべてのプログラミングの基礎になるだけに、プログラミング=言語の学習と考えずに、アンプラグドの経験を積むことがたいせつです。
アンプラグドプログラミングとは?パソコンを使わないプログラミング学習!
アンプラグドプログラミングという言葉をご存知でしょうか?小学校での必修化に向け、パソコンを使わずにプログラミングを学ぶ方法が注目を浴びています。具体的な内容、メリット、デメリットをわかりやすくまとめました。
この記事をcoeteco.jp で読む >ブロック型プログラミング言語の活用
プログラムというと、一般人にはわからない数字と記号の羅列(コーディングといいます)のように感じる人も多いかもしれません。最終的にプログラミングとはそのレベルに達することが目標ですが、小中学生にはハードルが高いのもうなずけます。
そこで、ブロックを組み立てるように感覚的にプログラミングできる、子ども用のプログラミング言語が開発されてきました。
たとえば、MITメディアラボが開発したブロック型プログラミング言語Scratch、Webサービスのcode.orgなど。
プログラミングの楽しさをまず感じ、それからレベルアップしていきたい小中学生には最適です。
Scratchとは?子どものプログラミング教育、はじめの一歩に最適!
小学校でのプログラミング教育必修化を前に、家庭で何かさせてみようかな?と考える方もいるでしょう。無料で使えるMITメディアラボ開発の「Scratch(スクラッチ)」はその一歩に最適!どんなことができるのかまとめました。
この記事をcoeteco.jp で読む >オンラインコンパイラサービスの活用
ブロック型プログラミングの経験を積んだら、本格的なプログラミングに進んでみたい!そう考える人には、Webブラウザ上でプログラミングができる「オンラインコンパイラサービス」が便利です。
何種類かあるうちでも、日本語に対応しているpaiza.ioがわかりやすいかもしれません。
Webページ上で動きを持たせられるJavaScriptから、本格的なプログラミングができるJavaやCなど、いろいろな言語に対応しています。
はじめてプログラミングをする人はブロック型プログラミング言語がよい
さあ、プログラミングをはじめるぞ!というときにおすすめなのが、ブロック型プログラミング言語。ここでは、そのアウトラインを紹介します。
コンピュータのなかでキャラクターを動かす!
ブロック型プログラミング言語はその名の通り、ブロックを組み上げていってプログラミングを行うものです。コンピュータの画面のなかで、マウス操作でキャラクターを動かすようなこともかんたんです。
最初はブロックがかんたんなものだけでつくることからはじめ、そしてどんどん使うブロックを増やしていくことで、より高度で複雑なものもつくれるようになります。
それと同時に、お子さんの充実感や達成感もぐんぐん高まっていくでしょう。
ロボットやマシンを動かす!
市販のWeDoやLEGO MindStormなどもブロック型プログラミング言語により動かすことができます。実際にロボットやマシンを動かすことで、コンピュータのなかでキャラクターが動くこととは違った達成感があるはずです。
ブロック型プログラミング言語もロボットやマシンに特化したものがあり、モーターや手足を動かす方法を考えるなかで、機械などハードウェア的な知識も身につきます。
製品によってはかなり高価ですが、チャレンジする価値は十分にあります。
ドローンを動かす!
最近は、ドローンをブロック型プログラミングで動かすことができる!という製品も開発されています。たとえばAirBlock。
プログラミングしながら、ドローン側でパーツを組み替えれば、プロペラの数を増減したり、ホバークラフトにすることもできます。
ドローンをやるなら「Air Mode」、水上で動かすなら「Water Mode」、地面の上で動かすなら「Land Mode」などのアプリケーションが用意されています。
ロボットに比べると比較的低価格で購入できるのも魅力です。
一歩高度なプログラミングはオンラインコンパイラサービスを活用する
もっと高度なプログラミングをやってみたい!という人のためにオンラインコンパイラサービスを紹介します。どのサービスを選べばいい?
一口にオンラインコンパイラサービスといっても、じつに多くのサイトがあります。初心者が重視すべきポイントは、1.サイトが日本語で表記されている、2.いろんなプログラミング言語が使える、3.タイムアウト機能がある・・・ということでしょうか?
3のタイムアウト機能とは「無限ループ」という状態に陥ってしまったときに、ある程度の時間結果が出なかったらタイムアウトしてくれるという機能です。
これがあれば「無限ループ」でブラウザが止まってしまうことを気にしないでプログラミングができます。
これらの条件を満たすサイトにはpaiza.ioがあります。
paiza.ioは使いやすく、さまざまな言語に対応しているので、学習段階に応じて言語を選んで進めていくと上達も早くなるでしょう。
どの言語を使えばいい?
プログラミング言語にはいろいろなものがあります。そのなかかから学習段階や目的に合った言語を選んでみましょう。
はじめてコードを書くという場合は、JavaScriptが比較的わかりやすいといわれています。
JavaScriptはHTMLと組み合わせて動的なWebページをつくることができる言語で、お子さんが普段見ているWebページにも使われています。
ブラウザとメモ帳のようなテキストエディタがあれば実際に動かすこともできます。
何をつくる?
教科書や参考書にしたがって進めていくのも、もちろんOK。そこから一歩進みたい人には、ストーリーをもたせたゲームなどをつくってみるのもいいでしょう。
まとめ:先が見えない?だからこそチャレンジは早いほうがいい!
2020年を前にして、少しずつ全体像が見えてきたプログラミング教育。教える側も教わる側も未経験だけに、はじめは手さぐりで、混乱も起こってしまうかもしれません。
しかし、大きな時代の流れとして、プログラミングの知識と、それを支える論理的思考が子どもたちの将来に大きく役立つことはいうまでもありません。
思い切って、まず一歩を踏み出してみてはいかがでしょうか。