思考力×プログラミングの勉強会を開催しました【アルスパークコミュニティ】
アルスパークコミュニティ(アルスパークご利用者向け)では、先日、【思考力×プログラミングの勉強会】を開催いたしました。
子どもがプログラミングを学ぶことの効果として、プログラミングスキルよりも思考力や創造力が伸びることの方が注目されがちです。
でも、プログラミング以外でも思考力は伸びますよね。
今回の勉強会では、「プログラミングでフォーカスすべき思考力とは何なのか?」について、アルスクール代表村野が講義しました。
その様子を詳しく紹介します。
目次
思考力には種類がある
講義では、最初に、思考力の4つの種類についてお話しました。
- 論理的思考
- 批判的思考
- プログラミング的思考
- 計算論的思考
一般的によく知られているのは、「論理的思考力」。
「ここを伸ばす必要があるんじゃないか?」と考えている保護者の方も多いようです。
勉強会では、まずは、4つの思考力について、それぞれ解説しました。
論理的思考力
論理的思考
- 物事を体系的に整理して筋道を立て、矛盾なく考える思考法
- 物事の整理を行い、順序良く筋道を立てて考える能力
<論理的思考の例>Scratch(プログラミング教材)でキャラをジャンプさせたい
- ジャンプは上に飛んで、下に落ちる ⇒ y座標を+と-に変えよう
- いつジャンプする? ⇒ 上向き矢印を押したときにしよう
- ジャンプの高さは? ⇒ 「y座標を100ずつ変える」に設定しよう
- ジャンプしてるように見えるには? ⇒ 下に落ちる時は、「y座標を10ずつ変えて10回繰り返す」に設定しよう
例えば、小学生向けプログラミング教材Scratchで、キャラをジャンプさせるだけでも、これだけのことを考えてプログラミングします。
このように、プログラミングで論理的思考は間違いなく伸びます。
ただ、プログラミングでなくても、将棋などでも論理的思考力は伸びます。
他にも、勉強会では、批判的思考力についてもお話しました。
批判的思考
- ある考えについて、前提となる事実を明らかにし多角的・論理的に考える思考法
- 物事の本質を見極め、論理的に思考すること
こちらも、プログラミングでも伸びますが、プログラミングでなくてもいいです。
計算論的思考力
次に、「計算論的思考」について解説しました。
計算論的思考
- コンピューターの特性を理解し、情報処理能力を問題解決に効果的に使う思考力
- コンピューターを使って、課題解決・価値創造するための思考力
そして、計算論的思考には、次の4つの要素があります。
- 要素分解
- パターン認識
- 抽象化
- アルゴリズム
<例①>
この例では、むやみに、全通りプログラムで確かめるよりも、水色と白の枠の数を数えることで、圧倒的に計算量を減らせることが分かります。
<例②>依頼したシステムにおける「コスト」と「エラーの許容度」
仕事でシステムを外注する時、1%エラーが出るか、0.1%のエラー出るかで大きくコストが違います。リスク評価して1%エラーでも問題なければ、こちらを選ぶこともあります。
このような思考が計算論的思考(コンピュテーショナルシンキング)です。
計算論的思考を育むことで、
- コンピューターに何ができて、何ができないのか
- コンピューターの計算の筋道にはどのようなものがあるのか
などを、理解できるようになっていきます。
その結果、コンピューターを最大限活かして、社会に大きな価値を生み出せる力につながるのです。
プログラミングでフォーカスすべき「思考力」
プログラミング的思考は計算論的思考の一部
では、よく聞く「プログラミング的思考」とは何でしょうか?
文部科学省は下記のように定義しています。
プログラミング的思考とは
自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力
参考資料:文部科学省公式サイト
プログラミング的思考とは、簡単に言うと、処理フローを考えること。
つまり、計算論的思考の「アルゴリズム」の部分のみを抜き出した思考なのです。
ただ、コンピューターを使って価値を創造し、仕事に活かすには、他の3要素(要素分解・パターン認識・抽象化)も必要です。
そのため、プログラミング的思考より、さらに一歩進んだ計算論的思考の方をフォーカスすべきではないでしょうか。
論理的思考は得意だけどコンピューターは苦手な人
弁護士や医師の方で、論理的思考を非常に得意としているが、コンピューターを使いこなすのは苦手だという方がいます。
でも、急速にIT化する社会の中で、コンピューターを仕事に活かすというのは、どんな仕事につく人にも必要になってきています。
実際に世界の主要国で一般的に行われているのは、この計算論的思考を伸ばす「コンピューターサイエンス教育」です。
そのため、アルスクールでは、プログラミングでフォーカスすべき思考力は、「計算論的思考」だと考えています。
計算論的思考を育む方法
では、子どものころから計算論的思考を育むにはどうすればいいのでしょうか?
それには、「コンピューターと友達になる。コンピューターの気持ちが分かるようになる。」というのが大切です。
小さい時からパソコンやデジタルデバイスを触ってみたり、ガチャガチャ動かしてみたり。
そして、具体的には、次のようなステップがオススメです。
- コンピューター・テクノロジーに慣れ親しむ
例:パソコンやデジタルデバイスを触ってみる。 - コンピューターの動きを感覚的につかむ
例:プログラミング教材を試してみる、デジタルイラストツールを使ってみる。 - 創意工夫し、創作活動をする
例:プログラミングでゲームを作ってみる、デジタルイラストツールを使いこなして自分の好きな絵を描いてみる
計算論的思考について、さらに詳しく知りたい方はこちらの記事も参考にしてください(アルスクール村野執筆)。
>>計算論的思考とは|テクノロジーに強くなるための思考
以上で、スライドを使った講義は終了しました。
講義の感想|プログラミング×思考力勉強会
講義のあとは、質疑応答・感想にうつりました。
その一部をご紹介します。
K先生の感想
ロジカルシンキング、プログラミング的思考というのは、私もちょっとパッとした答えがなくて、これまでそれを学んだからどうなんだという問いに答えるのが難しかったです。そのため、今日の講義の「コンピューターの気持ちが分かるようになる」という部分はとてもしっくりきました。なぜコンピューターを使わなければいけないのかは、そこにあるのかなと思いました。
N先生の感想
こちらの記事(上記の「計算論的思考とは」の記事)は、開校当初から大変納得・共感していて、いつも参考にしています。こちらを参考にして、特にアルゴリズムと細分化に着目し、ここを保護者さまに説明することで納得する方が増えています。
アルスパークコミュニティでは、今後もみなさまの教室運営に役立つ勉強会やケーススタディ共有会を開催していきます。
過去の勉強会についての動画もご覧になることができます。
アルスパークご利用の事業者の方であれば誰でもご参加いただけますので、お気軽にご参加ください。