コラム

プログラミング的思考とは?論理的思考との関連性や指導例もご紹介

いよいよ2020年度から、義務教育でのプログラミング教育が必修化されました。既にembotなどのプログラミング教材を使っている人は、プログラミングでできることのイメージや楽しさは分かっていても、学校で行われる「プログラミング教育」について改めて考える機会が増えているかもしれません。文部科学省の学習指導要領改定の一環として導入されたこの取り組みは、「プログラミング的思考」を育むことを目的としています。「プログラミング的思考」を身につけることで、子どもたちの将来やより良い社会づくりにつながると言われていますが、具体的にはどういうことなのでしょうか?類似用語との違いや、教育機関内外での指導例も含めてご紹介します。

「プログラミング的思考」とは

<文部科学省による「学習指導要領解説」>

プログラミング的思考は、文部科学省が「学習指導要領」の補足として出している「学習指導要領解説」の中で、「自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力」と定義されています。これは分かりやすく言うと、コンピュータやプログラミングの概念にもとづいて、筋道を立てて問題解決しようとする論理的な考え方のことです。

https://www.mext.go.jp/component/a_menu/education/micro_detail/__icsFiles/afieldfile/2019/03/18/1387017_001.pdf

参照:文部科学省『小学校学習指導要領解説 総則編』

<プログラミング教育の目的>

プログラミング教育の目的は、この「プログラミング的思考」を育むことです。これは簡単に言うと、自分の意図した目的やゴールに合わせて、やるべきことやその手順を逆算して考え実行していく力のこと。子どもたちが大人になった時、どんな職業に就いたとしても必要な、将来の社会生活に欠かせない力なのです。

<なぜ必要なのか>

少し前には考えられなかったスマートフォン等の技術がどんどん身近になっているように、私たちが生きる社会は、ハイスピードで進化し続けています。第四次産業革命ともいわれるこの高度情報社会は、便利で豊かな生活をもたらしてくれる一方で、これまで人間が担ってきた役割が人工知能に置き換えられるなどの変化も避けて通れません。

もしかすると、今ある職業が将来にはなくなっているかもしれない。今学校で学んでいることは、時代が変化したら通用しないかもしれない。そんな激動の社会を生き抜くためには、物事を順序立てて考え、問題解決していく力が不可欠です。これはまさに「プログラミング的思考」であり、子どものうちからこれを身につけることは、自分自身を成功へと導く武器になっていくでしょう。

<プログラミング的思考の語源(計算論的思考(コンピューテショナル・シンキング)について)>

プログラミング的思考という言葉は、アメリカの数学者が使った「Computational Thinking(コンピューテショナル・シンキング)」に由来すると言われています。これはコンピュータ科学の考え方や情報処理能力を、問題解決に活用するために整理した手法のことで、日本では「計算論的思考」として紹介されました。文部科学省では、この考え方を踏まえつつ、プログラミングと論理的思考の関係を整理しながら「プログラミング的思考」の育成を提言しています。

https://www.mext.go.jp/b_menu/shingi/chousa/shotou/122/attach/1372525.htm

参照:文部科学省 小学校段階における論理的思考力や創造性、問題解決能力等の育成とプログラミング教育に関する有識者会議

よく耳にする「論理的思考」との違い、関係性とは

<プログラミング的思考と論理的思考(ロジカルシンキング)の違いの説明>

プログラミング的思考とは、コンピュータやプログラミングの概念にもとづいて、筋道を立てて問題解決しようとする論理的な考え方のことです。これは「物事を体系的に整理し、筋道を立てて考える」という論理的思考と重なりますが、厳密には少し異なります。

プログラミング的思考は、論理的思考を活用した上で、さらに「効率的で最適な手順を考える」という視点が加わります。つまり、論理的思考という大きな概念の中に、効率化も考慮に入れたプログラミング的思考が内包されるのです。

<日常生活での登場シーンを出した具体例をそれぞれ紹介し展開>

「プログラミング的思考」というと難しいイメージを抱くかもしれませんが、私たちの日常生活の中で、実はごく自然にこの考え方を取り入れています。

一番分かりやすい例は料理です。例えば味噌汁を作る時には、水に昆布を入れて火にかけ、沸騰前に昆布を取り出して、具材を固い順に入れて煮立たせ、火が通ったら一度火を止めから味噌を入れて……というように、たくさんの工程を最適な手順でこなす必要があります。

こうした手順になっているのは、「沸騰前に昆布を取り出さないと風味が落ちる」「やわらかい具材から入れると煮崩れしてしまう」「味噌は一度火を止めてから入れた方が風味が良い」などの具体的な理由があります。私たちは「おいしい味噌汁を作る」という目的を達成するために、最適で効率的な手順を考えながら、まさにプログラミング的思考を使っているのです。

プログラミング的思考を育む実施/指導例のご紹介

<学校、教育機関内での指導実例>

実際に小学校で行われた例として、「未来の家づくり」の授業をご紹介します。この授業は、家づくりに携わる人々の想いについて調べ、住みやすい家にするためにはどうすればいいかを考えて、思い描く「未来の家」をマインクラフトというプログラミングツール上で表現するという学習です。

子どもたちは、まず住宅メーカーのモデルハウスを見学し、間取りの考え方や暮らしやすい家の条件などについて説明を受けました。そこで学んだことをもとに、自由な発想で未来の家づくりについて考え、柱のない家やバリアフリー設計、植物に自動で水やりをする仕組みのようなアイデアを、マインクラフト上で設計しました。

「住みやすい家づくりの実現」という目的のために必要なことやその理由を考え、実現方法や手順について議論しながら設計していく過程は、まさにプログラミング的思考に基づいています。また、マインクラフトを使ってそれを表現するという体験を通して、試行錯誤したものが形になっていく喜びを実感し、将来に向けたプログラミングの必要性も感じることができました。

https://miraino-manabi.jp/content/459

参考事例:文部科学省 小学校を中心としたプログラミング教育ポータル「みんなの家!未来の家!」

小学校でembotを使ったプログラミング教育を行った事例もあります。この授業は、「自分たちが住む街の活性化」という課題に対して、embotが持つキャラクター性を活かした取り組みを考え実行していくという学習です。

はじめに、子どもたちはviscuitやhour of codeなどのプログラミングツールを体験して、「課題解決に向けた手段のひとつとして、コンピュータサイエンスがある」ということを実感として学びました。その上でembotと出会い、親近感のわくキャラクターという存在を通して、「自分たちの街に貢献できるロボティクス」の実現に向けて様々なアイデアを出し合いました。

その中で「embotを通して浦賀の歴史を教えることが、街の活性化につながる」という仮説にたどりつき、実現に向けてどのようなことができるのかを考え、施策案や手順について議論しながら設計していく。この過程はまさにプログラミング的思考に基づいており、最終的に歴史劇やスタンプ押しという方法にたどり着いたほか、地域イベントとのコラボレーションへと活動を広げました。自分たちのアイデアが形になり、地域社会の力になっていく喜びを実感するなど、教室の枠を飛び越えた学びの場となりました。

https://miraino-manabi.jp/content/457

参考事例:文部科学省 小学校を中心としたプログラミング教育ポータル「e・URK(浦賀歴史活性化)プロジェクト!」

<学校外での指導例(embotによる家庭学習例を掲載)>

学校以外の場でも、プログラミング教室や民間企業によって、プログラミング教育の普及活動が行われています。子どもが興味を持ちやすいテーマや、これからの社会に必要なテーマが数多く取り上げられており、多様な学びの場として展開されています。

お菓子で学ぶおいしいプログラミング体験と普及活動

発達段階(発達障害も含む)に合わせた異年齢協働プログラミング教育モデル

「プログラミング教育」へのイメージが持てる!必修化に伴う教育現場の不安を解消するロボット教材

手軽に取り組めるプログラミング学習として、Scratch(スクラッチ)もおすすめです。これは世界中の何百万もの人が家庭や学校、プログラミング教室などで使っているビジュアルプログラミング言語で、コーディングの専門知識がなくても、ブロックを組み合わせることで簡単にプログラミングをすることができます。キーボードを使わずマウス操作で感覚的に作業できるので、小学生以上の子どもが楽しく取り組みやすいのが特徴。操作は簡単ですが、音楽やゲームなどを作ることができ、自分が考えた作品を完成させるという達成感を味わうことができます。

コンピュータ画面上のプログラミングだけでなく、遊び感覚でプログラミングをしてみたい人は、玩具でのプログラミング学習もおすすめです。embotは、ダンボールでいろいろな形のロボットを作り、自分で考えたプログラムで動かして遊ぶ学習教材。完成形をイメージしながら手順を考えて組み立て、意図したように動かすためのプログラムを試行錯誤しながら作り上げる過程で、プログラミング的思考を育むことができます。ダンボールという身近な素材を使うため、子どもが楽しんで取り組みやすく、粘り強く取り組む姿勢やクリエイティブな思考力を養うことができます。また、使用するアプリは5段階のプログラミングレベルに設定されているため、習熟度に合わせて無理なく取り組みやすいほか、もっと上のレベルにチャレンジしたいという意欲を育むことも可能です。

embot アイコン embotアプリ』はこちら!

embotを購入されていない方でも
無料でお試しいただけます。

※embot+の機能をつかうには最新のアプリをダウンロードください。