【2020年プログラミング教育必修化!】あなたは大丈夫?保護者向けの基礎知識
-
- カテゴリ:
- その他のコラム
文部科学省が発表した2020年から小学校での【プログラミング教育の必修化】の検討。
【プログラム】って何?と衝撃を受けた方も多いのではないでしょうか。
プログラミング教育が始まる前に、知っておきたい!カンタンなプログラム(プログラミング)の基本についてお伝えします。
2020年プログラミング教育の必修化
プログラミング教育について、文部科学省は「子供たちに、コンピュータに意図した処理を行うよう指示することができるということを体験させながら、将来どのような職業に就くとしても、時代を超えて普遍的に求められる力としての「プログラミング的思考」などを育むことであり、コーディングを覚えることが目的ではない」としています。
また、「小学校におけるプログラミング教育が目指すのは、前述のように、子供たちが、コンピュータに意図した処理を行うよう指示することができるということを体験しながら、身近な生活でコンピュータが活用されていることや、問題の解決には必要な手順があることに気付くこと、各教科等で育まれる思考力を基盤としながら基礎的な「プログラミング的思考」を身に付けること、コンピュータの働きを自分の生活に生かそうとする態度を身に付けることである」としています。
さらに、プログラミング的思考とは、「「プログラミング的思考」(自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力) 」としています。
(以下も含め出典:文部科学省ホームページ (http://www.mext.go.jp/))
プログラミング的思考とは?
文部科学省のホームページでも、使われていますが、
プログラミング的思考とは何か?を考える際には、よく使われるプログラムの専門用語についても覚えておくと、さらに深くその意味が理解できます。
コーティング
アルゴリズム
フローチャート
プログラミングを学んだことがある方なら、基本中の基本であるこの3つの用語について、解説します。
コーディングとは?
コーティングとは、プログラムを書くこと、プログラムを作成することです。
プログラマーは、コンピューターに処理を命令する際に、プログラムをコーティングします。
現在、プログラムの世界で使われている言語は、C、java、phpといった、様々な言語があります。
これは、すなわち、日本語、英語、フランス語というようなものととらえてください。
コンピューターに処理を命令する際に、日本語で命令するのか、英語で命令するのかというような種類があるということです。
例えば、あなたが犬を飼っていたとして・・・。
あなたは、犬に「お座り」をさせたいとします。
その時に、「お座り!」というのか「sit down!」というのか。
この命令が、プログラムの言語によって違います。
コンピューターに「お座り!」または「sit down!」というように、文章を書くことを「コーディング」と言います。
「コーディング」は、時代とともに変化します。
ちょっと前まで全盛期だった言語が、あっという間にすたれるということもあります。
なので、小学生で特定の言語のコーディングを学んだとしても、その子が社会に出た時には時代遅れになっている可能性があります。
ですから、文部科学省でも、「プログラミング教育の必修化」において、「コーディングを覚えることが目的ではない」ということを明記しています。
つまり・・プログラムの言語を覚えることについては問われないということですね!(バンザイ!)
アルゴリズムとは?
アルゴリズムとは、文部科学省は「コンピュータ科学等でも用いられる「アルゴリズム」とは、筆算といった計算の手続も含む、問題を解決する手順を定式化して表したものを指す」としています。
つまり、「より早く正解にたどり着くための計算方法」と言えます。
例えば、辞書で「プログラム」という言葉を調べようとしているとします。
その時、1ページ目の「あ」から1ページずつ「プログラム」という言葉があるかどうか調べていくと・・・膨大な時間がかかりますよね。
でも、「プログラム」は「プ」から始まるから、「は」行から1ページずつ調べると・・「あ」から探すよりは、はやく「プログラム」という言葉にたどり着けます。
さらに、「プ」から探し始めればもっと早くたどり着ける・・・。
というように、より早く正解にたどり着くように工夫した計算方法を「アルゴリズム」と言います。
先ほどの、文部科学省の「ひっ算といった計算の手続きも含む」という言葉は、「ひっ算だってアルゴリズムの一部だよ」という意味と読み取れます。
つまり・・「ひっ算」とか小学生でも学んでいるんだから、小学生だってすでにアルゴリズムを勉強しているっていうことですね!
プログラミング的思考の一部は、普通に国語や算数を学ぶことで、すでに自然に身についている!って思うと、すごい!と思いますよね!
フローチャートとは?
フローチャートとは、先
ほどのアルゴリズムを図で表したもののことです。
簡単な例でいうと、以下のような図をフローチャートと言います。
このようなフローチャートをもとに、プログラマーは実際にプログラムを組んでいきます。
上の例では
処理開始→今日は雨が降っている→降っている場合は傘を持つ→学校に行く→処理終了
処理開始→今日は雨が降っている→降っていない場合そのまま学校に行く→処理終了
雨が降っているか?
という質問にたいしての答えが、YESかNOかですることが違ってくるという図です。
実際のプログラムは、このような演算の集合で成り立っています。
上の例を見て、
「え?こんなことがフローチャート?」
と思いませんでしたか?
そうなんです。
私たちの日常の多くもフローチャートにすることができます。
つまり、プログラムを一度も学んだことがない人でも、プログラミング的な思考を日常的に行っているということです。
ここからは、私見ですが、
文部科学省でもコーディング(特定のプログラムを組むこと)ことではなく、プログラミング的な思考を重視している点から、2020年以降重視されるのは、アルゴリズムやフローチャートを考える力ではないかと考えます。
ITの世界でも、コーディングを行う人をプログラマーと言いますが、フローチャートや仕様書を作成する人をシステムエンジニアといいます。
一般的には、システムエンジニアの請け負う作業工程は、上流工程と言われます。
システムエンジニアの下にプログラマーが配属されるというような組織図になります。
(決してプログラマーの職種が下流だということではなく、一般的にそのような組織図になるというだけです)
つまり、プログラミング教育必修化とはいっても、あわてて特定のプログラムを覚えさせるような必要はなく、論理的に考える力をつけることが重要視されるのではないかということです。
役立つプログラミング的思考
2020年のプログラミング教育の必修化が実現すると、プログラミング的思考が高まります。
これによって、IT職につく人材を増やせるということもあるかもしれませんが、その他にも恩恵があると私は考えます。
プログラミングには、
トライ→エラー→デバック(エラー修正)→トライ
を繰り返しながら、クオリティを高めていくという過程があります。
ビジネスと基本と言われるPDCA(プラン・ドゥ・チェック・アクション)サイクルを回していく過程と非常に近いものがあります。
つまり、プログラミング的思考を学ぶことにより、ビジネスの基本を同時に学ぶことができるのではないかと私は考えます。
プログラミング的思考を学ぶ=IT系人材育成=ちょっとオタクな世界??
という偏見を持ってしまう方もいるかもしれませんが、
私は、
プログラミング的思考を学ぶ=ビジネスの基本を学ぶ=起業家精神を培う
ことになるのではないかと考えています。
文部科学省でも、
「「プログラミング的思考」は、プログラミングに携わる職業を目指す子供たちだけではなく、どのような進路を選択しどのような職業に就くとしても、これからの時代において共通に求められる力であると言える。」
としています。
2020年のプログラミング教育の必修化が実現した場合、日本によりたくさんのビジネスが生まれることに期待し
たいと思います。
↓当ブログのメインコンテンツはこちら
・貯められないズボラ主婦の家計見直し術
・あきの家計簿のつけ方
・家計に関するご質問一覧(あなたが困っているのはどんな事?)
・貯められないタイプ診断(チェックリスト方式)
・あきのズボラ家計簿のクチコミ【読者様からの声】
・お問い合わせ
コメント