プログラミング的思考 -3

「プログラミング的思考」の英訳について。連番[1][2

【英訳案】

“Logical thinking as Programming”

“Thinking as a Way of Programming”

Computational thinking for elementary school in Japan (conceptual downsizing for elementary school in Japan)

【英訳候補など】

Think Like Programming プログラミングみたいに考える

Logical thinking like Programming プログラミングのような論理的思考 

Programmer way of thinking プログラマーのように思考すること

Thinking as a Way of Programming プログラミングのやり方で考えること

Thinking skill building through programming プログラミングを通した思考力育成

Thinking skill building through programming experience プログラミング体験を通した思考力育成

Thinking through programming プログラミングを通しての思考

Computational thinking at elementary school in Japan 日本の学校におけるコンピュテーショナル・シンキング

Computational thinking for elementary school in Japan 日本の小学校向けコンピュテーショナル・シンキング(conceptual downsizing for elementary school in Japan)

プログラミング的思考に関する情報収集をし続けていますが,これまでのところ英語表記を試みたものには遭遇していません。

コンピュテーショナル・シンキング(計算論的思考)という専門用語は,Computational thinkingという英語から来ているわけですが,これを踏まえて造語された「プログラミング的思考」が,どんな英語表記を想定して作られたのか不明です。

論理的思考に関することであるならばロジカル・シンキング(Logical thinking)ということになりますから,これと掛け合わせるならばLogical thinking as Programmingってところなのかも知れませんが,海外の人に通ずるのか疑問です。

ジャパン・タイムスのような英字新聞の記事に出てきていないかと思って探していますが,いまのところProgramming Education(プログラミング教育)で逃げられてしまっています。

ちなみにThink Like Programmingは,ミュージシャン名のSing Like Talkingに近づけたジョークですが,どうせ下手な和製造語なのだから,これくらいの洒落で英訳を当てた方が面白いかも知れません。

(追記 20170728)

20160914「ソニー・グローバルエデュケーション プログラミング的思考を育成する算数学習サービスSTEM101 Thinkシリーズを国内法人向けに提供開始」(ソニー)

ソニーは,ニュースリリース内で「プログラミング的思考」に(英訳:Computational Thinking)という形で英訳をあてていました。

国内は文部科学省の示した用語に沿いつつ,海外向けにはすでに流布している用語を使用することに決めたようです。

そのアプローチでいくならComputational thinking for elementary school in Japanが正直でよいのかも知れません。

プログラミング的思考 -2

「プログラミング的思考」について情報収集をしています。連番[1

20170807「文部科学省 教育課程課(大杉住子)インタビュー:プログラミング教育に込めた意味――未来の創り手となるために必要な力の育成」(『先生のための小学校プログラミング教育がよくわかる本』翔泳社,11-12頁)

─ (前略)具体的にプログラミング的思考とはどういったものでしょうか?

大杉 ─ 自分が意図する一連の活動を実現するために、どのような動きの組み合わせが必要であり、1つひとつの動きに対応した記号を、どう組み合わせたらよいのか、そして、記号の組み合わせをどうやって改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力です。「順次」「分岐」「繰り返し」などのプログラミングを支える要素は、楽譜など学校教育のいろいろな場面で出会うものです。
 また、例えば理科の学習では、仮説を立てて実験を通じて検証し、振り返って次に生かしていく思考が育まれています。算数・数学の学習では、日常の複雑な出来事を、数や式、図形などに置き換えてシンプルかつ論理的に考えられるようにしています。こうした思考は、プログラミング的思考につながるものです。
(後略)

20170715「小学校におけるプログラミング教育の本質:堀田龍也」(『プログラミング教育導入の前に知っておきたい思考のアイディア』小学館,13頁)

 プログラムを組んでコンピュータに何らかの作業をさせる場合、まず自分がコンピュータに行わせたい一連の活動を細かい動きに分解する。次に、それらの細かい動きをどのように組み合わせれば目的の行動になるかを想定する。コンピュータには人間の言葉が直接理解できるわけではないので、コンピュータにわかる「記号」で伝える必要がある。1つ1つの細かい動きに対応した「記号」をどのように組み合わせたら目的の動きになるのかを考える。ここでいう「記号」の組合せがプログラムである。これらの「記号」の組合せを、どのように組み替えれば意図した行動により近づいていくのかを試行錯誤する。このような試行錯誤を通して論理的に考えていく力のことを、有識者会議では「プログラミング的思考」と定義した。
 (注)ここでいう「記号」とは、情報処理の世界では「命令語」と呼ばれるものに当たる。

201707「応用力ある「プログラミング的思考」を育てるには:茨城大学教育学部 教授・文学博士 田中 健次」(CUBE LAND) 

(前略)誌面の関係でプログラミング教育に対する私の詳細な意見を述べることはできませんが、私はある一つの分野で身に付けた論理的思考がすべての物事の考え方に応用できることはないと考えています。

 私は、授業時間数に余裕があれば義務教育段階でのプログラミング教育に全面的に反対するものではありませんし、最近いわれる、コンピュータを用いないでおこなうプログラミング教育、すなわち「コンピュータサイエンスアンプラグド」にも否定的でありません。しかし、小学校段階から将来にわたってさまざまな分野に応用できる論理的思考力を身につけさせるには、基本にかえって「読み書き算」の能力を高めることが重要であると考えています。その中でもとくに文章力を鍛えるのが効果的だと考えます。というのも文章は「思考の単位」であり、正確かつ明瞭な文章を書くためには、思考が論理的にならざるを得ないからです。

 「文章力を鍛える。」これこそが応用の効く「プログラミング的思考」につながると考えます。

20170529「プログラミング的思考とは:赤堀侃司(ICT CONNECT 21会長・東京工業大学名誉教授)」(教育新聞) 

(前略)
プログラミング的思考とは、料理のように、目的があり、食材という要素があり、これを組み合わせ、防災教育のように、条件に応じて要素を変え、修正をするという思考方法である。文科省ではこれを、自分が意図する一連の活動(目的)、動きの組み合わせ(条件や命令)、組み合わせを改善(修正)、などを論理的に考えていく力と述べている。
プログラミング的思考は、このように教科を横断する論理的な能力なのである。

20170519「プログラミング的思考(論理的思考)って何?」(日経トレンディ)

 プログラミング教育で、よく出てくるキーワードが「プログラミング的思考」です。プログラミングに求められる思考は、主に5つの能力とされていて「抽象化する能力」「理解して分解する能力」「順序立てて考える能力」「分析する能力」「一般化する能力」になります。この5つの能力が、プログラミング教育において身につく能力になります。

 —

20170508「プログラミング教育「必修化」の期待と課題 スキル、思考力、世の仕組み、作る喜び…何を求めるか:首藤一幸」[全文](WEBRONZA)

 先立つ有識者会議は「プログラミング教育とは…『プログラミング的思考』などを育むこと」とまとめていました。この「プログラミング的思考」とは、以前からある「計算論的思考」(Computational Thinking)という言葉をわざわざ言い換えたもののように見えます。政府としては、新しい言葉を発明する方がなにか都合がよかったのでしょうか。

–  

20170216「「ついに見えてきた2020年の学校でのプログラミング教育」セミナーレポート プログラミング必修化、ICTの学習活用最下位の日本はどうすべきか?」(ASCII.jp)

 豊福氏は、プログラミング教育議論の「百家争鳴」は’90年代の情報教育論争の頃に似ているとして、さまざまな専門の人たちが自分達の流儀と教育像について理想を語っている状態を述べた。しかし、学校の教育は20年後の将来を見越して組み立てる必要がある。ビジュアルな環境がプログラミング人口を増やす一方、昔ながらのコーディング的な仕事はもっと限定されるだろう。何を目的としてどのような経験を与えるか、については結局、教育関係者が引き取って必死に考えるしか方法がないという。

 たとえば、「プログラミング的思考」という言葉が、文部科学省の審議会で使われた。実際的なコーディングの作法よりは、それに必要な論理的思考の方を重視する考えだ。これは、様々な専門家の原理主義やコーディング至上主義(現在主流のコーディング作法や知識を叩き込んでプログラムを書かせようとする立場)の人たちから学校教育を守るために作られた言葉だと豊福氏は指摘する。だとしたら、「プログラミング的思考」とは何かをきちんと問うべきではないかという。

20170424「プログラミング教育:朝日新聞掲載「キーワード」の解説」(コトバンク)

コンピューターに動きを指示するために使われるプログラムを学ぶ教育。技術を学ぶだけでなく、自分が求めることを実現するために必要な動作や記号を考え、組み合わせながら改善していく、論理的な「プログラミング的思考」を育むのが狙いとされている。新しい学習指導要領に盛り込まれ、小学校でも2020年度から必修化される。

20170115「「プログラミング的思考」について」(加藤直樹note) 

(略:「議論の取りまとめ」からの定義引用)
この定義のいくつかの単語を省略して,意図する活動を実現するための効率的・効果的な手順を論理的に考え出す力と読み取ると,「プログラミング」だけに限らない一般的な問題解決のための論理的思考力と解釈することができます.この解釈は「プログラミング教育」を非常に受け入れやすいものにするかと思います.

 しかし,この定義には「記号」という単語が含まれています.この「記号」についても明確な定義がないため,どのようにも解釈ができていますのですが,おそらくプログラミングを意識して残った単語なのではないのかなと思います.

 

「プログラミング教育」を教育課程の中に位置付ける背景として,

また、身近なものにコンピュータが内蔵され、プログラミングの働きにより生活の便利さや豊かさがもたらされていることについて理解し、そうしたプログラミングを、自分の意図した活動に活用していけるようにすることもますます重要になっている。(答申 p.38)

とあります.「プログラミング教育」で育む「プログラミング的思考」は,この背景のためということを忘れてはいけないと思います.つまり,一般的な論理的思考ではなく,問題解決のためにコンピュータを活用できるようにするための力として考える必要があると思います.

 ここをはずすとですね,わざわざ,ほとんどの先生が経験のないプログラミングをわざわざ教育課程,それも小学校の教育課程に入れる必要がないと思うんですよ.一般的な問題解決のための論理的思考力だったら,プログラミングを題材にしなくたってできるわけですからね.

20161208「テクノロジーの力を次の世代のために――プロのエンジニアもプログラミング教育に協力を」(@IT)

 「『プログラミング的思考』のベースには、コンピュテーショナルシンキングがあります。ただ、コンピュテーショナルシンキングと全く同じではありません。コンピュテーショナルシンキングには、プログラミング以外の分野も入ってきますが、そうした要素は減らしています。一方で、社会でどう役立つかといった倫理や道徳的な要素は加味されています。基本的には、全ての人が『プログラミング的思考』を備えることで、国全体が豊かになろうというスタンスです」

 全ての人が「プログラミング的思考」を備えることによって何が起こるか。利根川氏は、次のような未来に期待を寄せる。

 「プログラミングを学んだ人が全てプログラマーになる必要はないと思います。そうではなく、『プログラミング的思考』を備えることで、例えば、企業の経営者がシステムをよく理解できるようになったり、チェーン店の店長がコンピュータを使って分析ができるようになったりといった世界を目指そうとしています。逆の見方をすると、ITの現場がブラック化するような現状は、プログラマーではない人がプログラミングを知らな過ぎることが背景の1つにあるのではないでしょうか。『プログラミング的思考』を初等教育から取り組むことで、社会全体を良くしていこうということです」

20161201「プログラミング的思考力をどのように身に付けさせるか:永野和男」(教育zine)

 さて、この論議で出てきた「プログラミング的思考」とは、どのようなものか。プログラミングとは、機械に理解でき実行できる命令の範囲で、目的の仕事(作業)を自動的に順次に行わせる手順を考え、記述することと考えてよい。
(中略)
プログラミングするとしても、言語ではなく、具体的なシンボルや図といったものを媒介にする環境がなければ、小学生には理解できない。また、処理の結果も、一つひとつの命令に対応した動作が目で確認できるものでなければ、自分で誤りにも気が付けない。したがって変数を使って、計算をさせるプログラムやアルゴリズムの理解ではなく、プログラミングのもつ本質的な特性や考え方を、体験や実習を通して、徐々に身に付けていくという考え方が必要になる。これが「プログラミング的思考」の育成である。 

 

ここで重要なことは、同じロボット操作や、アニメの制作でも、その課題に含まれている要素により、「プログラミング的思考」につながる学習とそうではない学習に分かれるということである。プログラミングでは、目標とする動きをはっきりイメージしてから、それに向かってプログラミングをさせることが重要であり、いろいろな機能を使って創作的な動きを試してみるというだけでは、結果を予想し与えられた命令や条件で考えるという「プログラミング的思考」にはつながっていかない。一方で、自分で結果を見直し、自分で修正させる(デバッグ)十分な時間の確保も必要になるため、音楽や図工、体育などの表現活動の演習と連携して取り組むことも必要になると思われる。

20161006「プログラミング教育が目指すもの:堀田龍也」(教職ネットマガジン)

(前略)今回導入される、プログラミング教育は、プログラマー育成をするわけではありませんから。そこで文科省は、この教育を通じて身につける思考を「プログラミング的思考」と名付けました。つまりプログラムを学ぶのではなく、コンピュータを動かす体験を通じて思考方法を学ぶということです。

 自分のやりたいことを「記号」として分解し、そのひとつひとつをどう組み合わせれば自分の思っているとおりに動くか、を考えることが「プログラミング的思考」。この「記号」は、コンピュータの世界では一般に「命令」と呼ばれるものですが、小学校では命令よりも馴染みやすいと考えて「記号」としています。また、こうした思考法を、情報学の分野ではコンピュテーショナルシンキングというのだけれども、そこもあえて「プログラミング的思考」と呼んでいます。

20160915「「プログラミング教育」はICTを活用した新たな“学び”のシンボル――小学校で成功させるためのポイントと実践事例」(@IT)

 「プログラミング教育は論理的な思考力を養うのに役立つ」という文脈で、「国語・算数など従来の教科でも論理的な思考力や判断力を育んできたのではないか」という疑問を持つ人も多い。

 これについて松田氏は、「それだけではうまくいっていないのが現実です。だからこそ、『プログラミング教育』の必要性が叫ばれているのではないでしょうか。プログラミング教育は、従来教科の“形成的評価の場”として、重要な役割を担うことになるはずです。プログラミングの授業を通じて、論理的な思考力が育っているのかどうかを検証できる。そして、この結果を各教科での授業に生かすという相互作用の中で、効果的に論理的な思考力を育むことができます」と持論を展開する。

20160823「子どもだけではなく全ての日本国民にとってプログラミングが重要である、たった1つの理由」(@IT)

 だが、「プログラミング的思考」と「コンピュテーショナルシンキング」の定義が曖昧で、これについても議論が生まれている。「プログラミング的思考」を「論理的思考」とほぼ同義に捉えている人も少なくない。

 原田氏は、コンピュテーショナルシンキングの重要性については認めながらも、コンピュテーショナルシンキングは、コンピュータとは何かが分かってきた上で、身に付いていくものだとし、次のように主張する。

 「『コンピュータとは何か』という純粋にコンピュータを教える時間はコンピュータの専門家が年間で2時間ほど担当するだけで十分です。先生たちには、子どもと同じ目線で授業を受けてもらい、そこから各教科にどう役立てていけばよいのかを発見していただきたいですね」

20160811「小学校でプログラミング教育は必要か」(ビットコンサルティング)

小学校のプログラミング教育は、我々IT業界の人間が想定しているものとは異なる、という趣旨の記事に出会った。
実際、文部科学省のWebサイトの説明を読むとそのようなことが書かれている。小学校で教えるのは、IT業界の人間が考えるプログラミング教育ではなく、「プログラミング的思考」だと記されている。
また、「プログラミング的思考」には、各教科等で育まれる論理的・創造的な思考力が大きく関係している、とも書かれている。
そうなると、「プログラミング的思考」とはいったい何だろうか? という疑問が湧いてくる。
手続き型言語の設計で使う「フローチャートのようなもの」を想定しているのだろうか?
そうだとすると、これは演繹法と同じ類の思考法であり、論理的思考法のなかの1形態だと考えられる。フローチャートのようなシーケンシャルな思考法は、それはそれで重要なのかもしれないが、私たちは実生活の中で、もっと複雑な手続きを行っている。
例えば、料理がそれである。
料理を作るとき、私たちは材料をそろえて手順通りに調理を進める(手順通りに調理しないと失敗することがある)。
トマトのスパゲッティを調理する場面を考えてみよう。
水を沸かしてスパゲッティを茹でる。茹でている間に、ニンニクを刻み、トマトを刻み、そして炒める・・・・
調理手順は必ずしもシーケンシャルではない。スパゲッティが茹で上がるまでに他の調理を進める。手慣れた人なら、その間に別の料理(例えばサラダ)を作ることも可能だろう。
つまり、私たちは複数の作業を並列して進めることができる。作業を並列に進めることで効率的に調理ができる(時間を有効に使える)わけである。
これはコンピューターでいえば並列処理である。
このように考えると、「プログラミング的思考」などという新しい概念を持ち出すよりも、料理の手順を子供たちが工夫して考えるような教育を行なった方が、はるかに有益で実用的な気がしてくるのである。

20160801「コンピュータを使わないアンプラグドな体験と容易にできるプログラミング環境があれば、小学生も教師も楽しく学べる」(@IT)

 「プログラミング的思考」について定義があいまいで整理されていないことで「コンピュテーショナルシンキングでいいのでは」という議論を呼んでいる。この点について、兼宗氏も「いろいろな人から質問されることが多かったが1週間くらいで沈静化した」と話す。

 「プログラミング的思考の方は、ソースコードを書くというイメージが強いです。一方で、コンピュテーショナルシンキングは、CSアンプラグドやプログラミングも含めて、コンピュータ科学の考え方で、社会で起こる事象や物事を整理して考えていくことと理解しています。

 ただ、その辺りの言葉の定義はあまり心配しなくてもいいかなと思っています。そのうちに、きちんと定義してくれるのではないでしょうか。教育の方針については議論が一段落しましたので、われわれ技術者、科学者としては、自分たちにしかできない良いツールを作ったり、アンプラグドのような良い教材を考えたりということに特化した方がいい。そうした役割分担の中でコンピュータ教育を進めていくことを期待しています」

 「プログラミング的思考」の定義があいまいで議論を呼んでいる文部科学省の発表だが、「アンプラグド」の観点を取り入れていることには一定の評価を得ている。

20160715「小学校で必要な「プログラミング的思考」とは何か?:冷泉彰彦」(Newsweek)

(前略)この有識者会議では興味深い議論がされています。

 ですが、一つ非常に気になる点がありました。

 それは「小学校で筆算を学習するということは、計算の手続きを一つ一つのステップに分解し、記憶し反復し、それぞれの過程を確実にこなしていくということであり、これは、プログラミングの一つ一つの要素に対応する。つまり、筆算の学習は、プログラミング的思考の素地を体験していることであり、プログラミングを用いずに計算を行うことが、プログラミング的思考につながっていく」という部分です。

 指摘としては正しいと思います。アメリカで教育活動を行っている私は、アメリカの算数・数学教育が、基礎的な概念が入るとすぐに先へ進んでしまい、中高では関数電卓に頼ってしまうなど、筆算による計算力を鍛えるという発想がないのは困ったものだと思っているからです。日本の教育において筆算を重視することはいいことですし、それが「プログラミング的思考」につながるというのも正しいと思います。

 問題は「小学校段階の筆算」です。筆算だけでなく、筆算重視を中心とした「小学校の算数」には問題が大ありだと思います。要するに「プログラミング的思考」の逆をやっているからです。

20160708「プログラミング的思考とは何か?もっともシンプルな答え」(探究型プログラミング学習(探プロ))

最近話題のプログラミング的思考とはなにか?
に答えてみたいと思います。

 私が普段のワークショップで子どもたちに説明している言葉を使って説明します。

プログラムとは、命令の集まりである。
そして、プログラムをコンピュータが分かるように作ることがプログラミングである。

なので
これを実現するために必要な思考をプログラミング的思考と呼びます。
だから、記事にあるように
プログラミング的思考とは、コンピュータに仕事をさせるための思考である
というのは当たり前の解釈だと思うんですよね。

 —

20160630「「プログラミング」と「プログラミング的思考」の違いを、分かったつもりになれるヒント」(上杉周作)

この「コンピュテーショナル・シンキング」は文科省の用語「プログラミング的思考」と置き換えて問題ありません。よって、プログラミング的思考とは、コンピューターが問題を解きやすいように、問題の正しい見方をすることだと言えます。

(追記: 有識者会議の資料には、「プログラミング的思考とは、いわゆる『コンピュテーショナル・シンキング』の考え方を踏まえつつ、プログラミングと論理的思考との関係を整理しながら提言された定義である」と、ふたつの概念は微妙に違うように書かれていますが、定義を必要以上に複雑にしているだけなので、無視して構わないと思います。)

20160526「子どもたちにテクノロジーへのドアを開こう。プログラマー的思考法を学べる絵本の著者・リンダさんの想い」(CodeZine)

鳥井:104ページにロボットがお風呂に入る問題があり、そこではロボットが何をし忘れているかを考えます。

 フィンランドやアメリカの場合は、ロボットはお風呂に入って体を洗い、お風呂を出るという順番で文章が並んでいます。ですから、答えは「お風呂のお湯を止め忘れている」ということなんですが、日本では別の答えになってしまいますよね。「Get into the bath(お風呂に入る)」は「湯船に入る」ことになるので、答えが「お風呂を出てから体を洗う」となってしまうんです(笑)。この問題はどうしよう、とけっこう悩みました。日本版では空欄を入れることで、お湯を止めるという答えを出しやすくなっています。

 

――翻訳に文化的な違いが表れるとのことですが、ワークショップでの子どもたちの反応はいかがですか? 日本でもすでに開催されていらっしゃいますよね。

リンダ:何回か開催していますが、日本の子どもたちにはルールにもとづいて考える姿勢があることに驚きました。フィンランドだと、物事に対処するときには型にはめず、オープンにやらせる傾向があります。なので、子どもたちに「紙でPCを作って」とお願いするとき、フィンランドだと「はいどうぞ」とスタートしてあとは任せてしまいます。ですが、日本だと「まずこれをこうして……」とルールと手順をきちんと伝えていくアプローチが必要です。この違いに驚いたんですね。

 本書でも、プログラミングは問題を細分化する手順だと説明していますので、日本の子どもたちはほかの国の子どもたちよりもプログラミングに親しみを持ちやすいかもしれません。

【関連】

20170720「日本より先駆的な取り組みを続ける、韓国の「教育の情報化」」(EdTechZine)

20170720「【ブックレビュー】2020年度から必修化! 小学校の「プログラミング教育」について知りたいことがわかる本」(MAMApicks)

20170718「プログラミング教育なんてやっている場合ではない――高校までに必要な本当の学力」(EdTechZine)

20170718「プログラミング学習」(ウチダテクノ)

20170714「新指導要領解説からプログラミング教育を読む」(佐藤正範の錆  Masanori Sato’s Page)

20170712「子どもが学ぶ前に。ママでもできる「プログラミング思考」のレッスン」(ママノート)

20170710「プログラミング思考体験」(共生型福祉施設 なのはなサポートセンターニュース)

20170706「物語は学びにコンテキストを与える――『ルビィのぼうけん』の著者、リンダ・リウカス氏と小学校の先生によるアンプラグド教育の実践セミナー」(EdTechZine)

20170705「プログラミング教育は最初が肝心:豊福晋平」(i-learn.jp)

20170705「第5回教育における情報化に関する研究会を実施しました」(東北文教大学)

20170703「総務省が実施する「若年層に対するプログラミング教育の普及推進事業」新規プロジェクトに参画する19団体の取り組み」(EdTechZine)

20170701「(旬ネタ!!)プログラミング的思考 お孫さんにいかが」(朝日新聞)

20170629「プログラミング的思考について学ぶ」(なだてっ子通信)

20170627「プログラミング教育の議論から着想した色々」(ふたばの日記)

20170626「さぁプログラミング教育を考えよう」(加藤直樹note) 

20170626「さまざまな視点から語られた、プログラミング教育における「教材開発」と「メンター育成」のポイント――総務省「教育の情報化」フォーラムで行われたパネルディスカッションより」(EdTechZine)

20170620「プログラマー的思考法を学ぶための『ルビィのぼうけん』ワークショップで、子どもたちが輝いていた」(EdTechZine)

20170615「「世界では学校が変わってきた!」上松恵理子さんインタビュー」(ASCII.jp)

20170611「プログラミング歴1年の人が考えるプログラミング「的思考」」(Sakyo Yuto)

20170606「脳科学者が教える「賢い子」に育てる方法  ~プログラミングは論理的思考を養うか:脳科学者 細田千尋」(Gakken Tech Program)

20170606「【レポート】これならできる小学校のプログラミング~プログラミングで学ぶ教科の学習~@教育ITソリューションEXPO(EDIX)」(教育ICTリサーチ)

20170604「プログラミング教育が目指すもの ~本当に必要な教育内容や体制とは」(キミのミライ発見)

20170601「CANVASと共催のシンポジウム「プログラミングで育成する資質・能力」を開催」(Benesseのプログラミング教育情報)

20170529「ICT・プログラミング教育、なぜ重要?」(ベネッセ教育情報サイト)

20170526「みんなのコード、プログラミング教育をヒトとモノで支援――指導者養成塾とオンライン教材「プログル」」(EdTechZine)

20170521「プログラミング教育にはどの言語がよいのか?」(こんにちはプログラミング)

20170517「利根川 裕太 プログラミング教育を語る。」(学びの場.com)

20170515「残念感満載の学習指導要領のとパブリックコメントの歩き方」(こんにちはプログラミング)

20170513「プログラミング⼈材育成の在り⽅に関する調査研究の読み方」(こんにちはプログラミング)

20170512「【良記事】「Hour of Codeとパズル型プログラミング教材の功罪」について」(こんにちはプログラミング)

20170512「プログラミング教育が必修科目になる背景と目指すものとは?」(エメトレ!)

20170510「情報教育とプログラミング教育の目標の再整理」(Note&Board Web)

20170510「プログラミングで何を変える? ~2020年・教育改革と「プログラミング的思考」~」(B-plus)

20170511「イギリスのプログラミング教育 パート2:ラッド順子」(D-SCHOOL)

20170509「イギリスのプログラミング教育 パート1:ラッド順子」(D-SCHOOL)

20170502「コンピュテーショナル・シンキング(computational thinking)とは」(Note&Board Web)

201705「プログラミング的思考育成で中学校数学科としてできること:加々美勝久」(『教科研究 数学 204号』学校図書)

20170426「小学校でのプログラミング必修化、どの教科でどう教えるかは学校・教員の裁量、細部はこれから議論 専門家が解説する次期「学習指導要領」の中身」(INTERNET Watch)

20170425「見通しにくい社会にブレイクスルーを起こす力を――『小学校プログラミング教育』インタビュー」(EdTechZine)

20170423「次期指導要領における小学校でのプログラミング教育」(厚沢部文化財日誌)

20170420「求められる資質・能力とは(4)プログラミング的思考」(Note&Board Web)

20170416「プログラミング的思考とは。:前川篤志」(YouTube)

20170704「プログラミングとは何か? を徹底的にわかりやすく解説してみた」(Tech2GO)

20170427「早ければ2018年度から! なぜいまプログラミングなの?」(日経トレンディ)

20170426「楽しく学べる 松田式プログラミング学習帳 第3回 まとめ編 プログラミングを通して学んだこと」(東芝)

20170418「プログラミングは将来、できて当たり前の時代にLife is Tech !(下)ゲーム好きな子は、消費者側から作る側へうまく転換できるといい」(日経DUAL)

20170414「マイクロソフト副社長が語るプログラミング教育、「導入期には失敗もあり得る」 「教師・生徒がともに試行錯誤していく中で成果を」」(INTERNET Watch)

20170414「プログラミング教育と論理的思考」(crossroads)

20170409「<変革2020> 小学校のプログラミング教育」(中日新聞)

201704「実践レポート「why!?プログラミング」で筋道を立てて考える力を高める」(NHK for School)

20170331「大阪市プログラミング教育推進事業について」(大阪市)

20170328「プログラミングを用いた授業づくりに向けて:「小学校からのプログラミング教育について考える」シンポジウム実施を通じて:遠山紗矢香」(静岡大学)

20170323「プログラミング的思考とは何か?論理的思考が身につくというトラップ?」(システム開発の現場で困ったときの思考法)

20170310「子どものうちからプログラミング思考を学ぶ!4つのメリット」(こどものミライ)

20170307「知っておきたい必修化の目的は、プログラミング的思考の育成」(初心者OK!こどもプログラミング)

20170306「中高生が夢中に! プログラミング・ITキャンプ(上)有名大学のキャンパスを舞台に、iPhoneアプリ開発、ゲーム、webなどを学ぶ」(日経DUAL)

20170302「プログラミングの経験は役に立つ 〜 論理的思考と抽象化思考の応用:倉貫義人」(SocialChange)

20170301「コンピュテーショナル・シンキングについて」(りん研究室)

20170217「先生の試行錯誤が「プログラミング学習」の質を高める 京陽小学校」(ベネッセ教育総合研究所)

20170217「新見市立思誠小がプログラミング的思考を育てる理科の授業」(ICT教育ニュース)

20170215「次期学習指導要領とプログラミング教育」(加藤直樹note) 

20170215「意外と知らない”プログラミング教育”(vol.2)」(学びの場.com)

20170208「「独創性」はどう育まれるか プログラミング教育の重要性の認識を:TOSS代表・向山洋一」(産経ニュース)

20170201「意外と知らない”プログラミング教育”(vol.1)」(学びの場.com)

20170126「人工知能の時代が来てもプログラミングが必要である理由」(ASCII.jp)

20170126「楽しく学べる 松田式プログラミング学習帳 第2回 実践編 さあ、プログラミング授業を始めよう」(東芝)

20170125「『作ることで学ぶ』はSTEM・プログラミング教育必携の書 【『作ることで学ぶ』翻訳者、酒匂寛氏 インタビュー 1/5 】」(CURIOUS)

20170123「先進校の事例に学ぶ「プログラミング教育」新時代到来!」(CHIeru.WebMagazine)

20170119「小学校でのプログラミング教育「不要」とみる教育関係者も、現場に温度差」(INTERNET Watch)

20170116「教えて!ICTのA to Z 第2回「プログラミングって何?どう教えるの?」」(DiS教育ICTソリューション)

20170106「次期学習指導要領を見据えて これからの情報活用能力:鹿野利春」(学校とICT)

2017「主体的・協働的な問題解決における論理的思考力の育成:中村めぐみ」(東書教育賞)

2017「21世紀を切り拓くプログラミング的思考」(ビジネス・ブレークスルー・チャンネル)

20161222「文系にプログラミングが必要な本質的な理由大人の悩みにも「9歳の壁」にも役に立つ」(東洋経済オンライン)

20161220「2020年からプログラミングが小学校の必修科目になる?!」(NAVERまとめ)

20161216「プログラミング教育の必修化に慌てていませんか?」(働くママのお役に立ちたい!)

20161208「テクノロジーの力を次の世代のために――プロのエンジニアもプログラミング教育に協力を」(@IT)

20161204「プログラミング学習を、子供のために、親が今すぐ始めると良い3つの理由」(IT企画研究所)

20161119「「読書」で広げる「プログラミング的思考」」(パソコン教室ふじせ)

20161108「コンピュテーショナル・シンキングはどこにでも – 書評「マンガでやさしくわかるプログラミングの基本」」(晴読雨読@エンジニアライフ)

20161028「プログラミング教育で論理的思考力を育てるとはどういうことか?」(Timeless Education)

20161028「プログラミングで論理的思考が身につく?文部科学省の「プログラミン」を親子でやってみよう!」(mamari)

20161027「AERAにロフトワークの「パンケーキ作りを通してプログラミング思考を学ぶ」活動が紹介されました」(ロフトワーク)

20161025「小学生がロボット! 中学生がニューラルネット!? 「第一回全国小中学生プログラミング大会」発表」(ASCII.jp)

20161014「楽しく学べる 松田式プログラミング学習帳 第1回 準備編 プログラミングの授業ってなぁに?」(東芝)

20161003「“理系”と“エンジニア”は違うと思うのですよ 「未来食堂」の小林せかいさん1万字インタビュー」(ASCII.jp)

20161006「2020年のプログラミング必修化に備えよう!子どもがプログラミングを学ぶ3つのメリット」(CURIOUS)

20161002「論理的思考の向上を目指さないプログラミング教育」(ビスケット開発室)

20160930「子供パソコン“IchigoJam”はどうやって生まれたか?」(ASCII.jp)

20160930「「自由」というルールを共有し、プログラミングの学習機会を提供する CoderDojo Japan」(ベネッセ教育総合研究所)

20160925「「60%の人間はプログラミングの素質がない」という論文は撤回されていた」(catch.jp blog)

20160921「プログラミングって結局、何歳から何を学べばいい? プログラミング「を」学ぶのか、プログラミング「で」学ぶのか」(日経DUAL)

20160915「「プログラミング教育」はICTを活用した新たな“学び”のシンボル――小学校で成功させるためのポイントと実践事例」(@IT)

20160914「プログラミングの教え方。どうしてこんなにわかりにくいの?:森哲平」(テッペイの森)

20160914「ソニー・グローバルエデュケーション プログラミング的思考を育成する算数学習サービスSTEM101 Thinkシリーズを国内法人向けに提供開始」(ソニー)

20160909「プログラミング教育必修化の本質を考えるシンポジウム 小学校で“プログラミング教育”を始めるには……現場の教員らが実践例やツールについて情報交換」(INTERNET Watch)

20160906「プログラミング的思考×ジャンボホワイトTOSSノート」(ジャンボ ホワイト・TOSSノート活用事例集)

20160907「「プログラミング教育」における教師や大人の役割<阿部和広さんインタビュー後編>」(ベネッセ教育総合研究所)

20160826「プログラミングの本質と学びへの効果<阿部和広さんインタビュー前編>」(ベネッセ教育総合研究所)

20160823「子どもだけではなく全ての日本国民にとってプログラミングが重要である、たった1つの理由」(@IT)

20160822「「プログラミングは小学生からするべき」清水亮氏・遠藤諭氏が語るその理由」(ASCII.jp)

20160818「「コンピュテーショナルシンキングとプログラミング的思考」再訪」(プログラミング教育つれづれ草)

20160816「プログラミング的思考とコンピュテーショナルシンキングについて」(プログラミング教育つれづれ草)

20160811「小学校でプログラミング教育は必要か」(ビットコンサルティング)

20160810「子どもは絵本やダンスでプログラミングの考え方を身に付ける~『ルビィのぼうけん』ワークショップレポート」(@IT)

20160801「コンピュータを使わないアンプラグドな体験と容易にできるプログラミング環境があれば、小学生も教師も楽しく学べる」(@IT)

20160801「非常に面白い小学校のプログラミング必修化論争」(情報処理技術者試験の合格記録)

20160719「子ども向けプログラミング教育:はやり言葉辞典」(STUDY HACKER)

20160717「プログラミング教育 小学校に必要か」(日経新聞)

20160714「プログラミングは論理的思考力と本当に関係しているのか?」(かながわグローバルIT研究所)

20160708「文科省の言うプログラミング的思考」(ニュースの社会科学的な裏側)

20160706「小学生のプログラミング教育は、プログラミングから目をそらしてはいけない!」(未来の普通:たまに馬車目線付き)

20160619「社説:プログラミング教育への注文」(日経新聞)

20160606「【書評】『ルビィのぼうけん』 ――「プログラミング思考」に真正面から取り組んだ意欲的な絵本」(MAMApicks)

201606「情報教育/プログラミング教育はコンピュテーショナルシンキングとメイキングがキーワードみたいかな?」(太田剛)

20160526「子どもたちにテクノロジーへのドアを開こう。プログラマー的思考法を学べる絵本の著者・リンダさんの想い」(CodeZine)

20160519「計算論的思考 (Computational Thinking) という21世紀のリテラシー」(Hideto Ishibashi)

20160516「バズワードになりかけているComputational Thinkingについて…ツイート」(Twitter)

20170507「プログラミング教育における使用言語・環境について」(佐藤正範の錆  Masanori Sato’s Page)

201605「小学校のプログラミング教育」(ビットコンサルティング)

20160429「小学校で必修化!プログラミング教育で養う事ができる力について。」(佐藤正範の錆  Masanori Sato’s Page)

20160413「プログラミングを教えるのを止めて、コンピューター的思考を教えよう」(Make:)

201604「プログラミング教育/学習の理念・特質・目標」(『情報処理』Vol.57)

20160106「小学校低学年へのプログラミング教育には効果がないと考えたほうがいい」(はてなダイアリー)

2016「諸外国のプログラミング教育を含む情報教育カリキュラムに関する調査:太田剛・森本容介・加藤浩」(『日本教育工学会論文誌』)

20151023「子どもにプログラミングを学ばせる真の意義 根本にあるのは、親たちの切なる願いだ」(東洋経済オンライン)

20150717「子ども向けのプログラミング言語って?」(MAMApicks)

20150424「プログラミング教育を語る前に考えてみたいこと」(Credo)

20150329「コンピューテーショナル・シンキングとは?」(クーリエ・ジャポン)

20150323「プログラミング力と論理的思考力との相関に関する分析」(情報処理学会・研究報告デジタルドキュメント)

20141204「プログラマーに向いている人とそうでない人」(アーキテクチャをスマートに。)

20140415「世の中にはプログラミング的思考を学べる場所がもっと必要」(高見知英のかいはつにっし(β))

201404「韓国の情報教育 ─官民挙げた情報化・ICT 人材育成の取り組み─」(『情報処理』)

20130611「ベネッセとMITメディアラボのタッグでプログラミング教育、社会に貢献できる人材を育てたい」(ITpro)

20130529「料理もプログラミングも、「論理的思考」が大事!」(ロフトワーク)

20130520「教育向けプログラミング環境「スクラッチ」のイベント、600人が参加」(ITpro)

20130127「「すべての人がプログラミングを学ぶべき」—米MIT教授が三鷹市の小学生に伝授」(ITpro)

20121007「広義のプログラミング」(Island Life)

20120517「60%の人間はプログラミングの素質がない」(本の虫)

2012「New frameworks for studying and assessing the development of computational thinking」(Karen Brennan & Mitchel Resnick)

20090707「プログラミングできる人とできない人との間の深い溝」(翡翠はコンピュータに卵を生むか)

20070918「プログラマ的思考が人生を駄目にする?」(Geekなページ)

200605「計算論的思考 コンピュテーショナル・シンキング Computational Thinking」(Jeannette M. Wing 周以真)

200503「プログラミングを通して学ぶ「論理的な思考力と問題解決能力」:聖心女子大学教授 永野和男」(CUBE LAND) 

ジュニア・プログラミング検定」(サーティファイ)

すべての子どもたちに、プログラミング教育を」(プログラミング教育普及プロジェクト)

「プログラミング」を考える」(Z会)

G7 Programming Learning Summit」(早稲田大学)

教育とプログラミング」(catch.jp-wiki)

 —

プログラミング的思考 -1

今回は小学校段階へのプログラミング体験導入のために議論された「プログラミング的思考」について,情報収集から始めてみたいと思います。

【ポイント】

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

○有識者会議による造語(新語)である。
○プログラミングと論理的思考の関係を整理して提言したものである。
○コンピュテーショナル・シンキング(Computational Thinking)の考え方を踏まえつつも,別のものである。
○言語能力の育成に向けた国語教育等の改善・充実を前提としている。
○コーディング学習から距離を置く意図が含まれている。
○各教科等で育まれる論理的・創造的な思考力と大きく関係する捉え方である。
○小学校におけるプログラミング教育が目指していることの一部である。

  • 「子供たちが、コンピュータに意図した処理を行うよう指示することができるということを体験しながら、身近な生活でコンピュータが活用されていること」
  • 「問題の解決には必要な手順があることに気付くこと」
  • 「各教科等で育まれる思考力を基盤としながら基礎的な「プログラミング的思考」を身に付けること」
  • 「コンピュータの働きを自分の生活に生かそうとする態度を身に付けること」

○「学習指導要領」では用いられず、「学習指導要領解説」で用いられている。

【定義】

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

【参照資料】

20160616「小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)」[PDF](文部科学省)小学校段階における論理的思考力や創造性、問題解決能力等の育成とプログラミング教育に関する有識者会議

 

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

 

国語教育等において、語彙を豊かにすること、情報と情報の関係性を論理的に捉えるなど情報を多角的・多面的に精査し、構造化する力などが、発達の段階に即して系統的に育成されるよう、小・中・高等学校を見通して教育内容の充実を図ることが検討されている。プログラミング教育を含む全ての教育の前提として、こうした言語能力の育成に向けた国語教育等の改善・充実を図っていくことが不可欠である。

 

○こうした「プログラミング的思考」は、急速な技術革新の中でプログラミングや情報技術の在り方がどのように変化していっても、普遍的に求められる力であると考えられる。また、特定のコーディングを学ぶことではなく、「プログラミング的思考」を身に付けることは、情報技術が人間の生活にますます身近なものとなる中で、それらのサービスを受け身で享受するだけではなく、その働きを理解して、自分が設定した目的のために使いこなし、よりよい人生や社会づくりに生かしていくために必要である。言い換えれば、「プログラミング的思考」は、プログラミングに携わる職業を目指す子供たちだけではなく、どのような進路を選択しどのような職業に就くとしても、これからの時代において共通に求められる力であると言える。

 

○また、「プログラミング的思考」には、各教科等で育まれる論理的・創造的な思考力が大きく関係している。各教科等で育む思考力を基盤としながら「プログラミング的思考」が育まれ、「プログラミング的思考」の育成により各教科等における思考の論理性も明確となっていくという関係を考え、アナログ感覚を大事にしていくことの重要性等も踏まえながら、教育課程全体での位置付けを考えていく必要がある。

 

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

[脚注5]いわゆる「コンピュテーショナル・シンキング」の考え方を踏まえつつ、プログラミングと論理的思考との関係を整理しながら提言された定義である。

 

小・中・高等学校を見通した充実が図られる中で、小学校においては、身近な生活の中での気付きを促したり、各教科等で身に付いた思考力を「プログラミング的思考」につなげたりする段階であることを踏まえた、小学校教育の特質に即した在り方が必要となる。

 

○小学校におけるプログラミング教育が目指すのは、前述のように、子供たちが、コンピュータに意図した処理を行うよう指示することができるということを体験しながら、身近な生活でコンピュータが活用されていることや、問題の解決には必要な手順があることに気付くこと、各教科等で育まれる思考力を基盤としながら基礎的な「プログラミング的思考」を身に付けること、コンピュータの働きを自分の生活に生かそうとする態度を身に付けることである。

○中学校や高等学校の段階では、簡単なプログラムの作成や、コンピュータの働きの科学的な理解などを目指し、技術・家庭科や情報科において構造化された内容を体系的に学んでいくことが必要となる。一方で、小学校におけるプログラミング教育が目指す、身近な生活の中での気付きを促したり、各教科等で身に付いた思考力を「プログラミング的思考」につなげたり、コンピュータの働きが身近な様々な場面で役立っていることを実感しながら自分の生活に生かそうとしたりするためには、学級担任制のメリットを生かしながら、教育課程全体を見渡した中で、プログラミング教育を行う単元を各学校が適切に位置付け、実施していくことが効果的であると考えられる。

 

[脚注8]順次、分岐、反復といったプログラムの構造を支える要素についても、それを知識として身に付けることは中学校教育の指導内容に盛り込まれている。小学校教育では体験の中で触れるということで十分であり、それ自体を教え込んだり、知識として身に付けることを指導のねらいとしたりする段階ではないと考えられる。一方で、小学校での学習を通じてプログラミングに興味を持ち、プログラムの構造を支える要素についても詳しく知りたいという知的欲求を抱いた子供たちが発展的に学ぶことのできるよう、民間とも連携して多様な学習機会を整えていくことが求められる。

 

【算数】

(中略)
・しかしながら、私たちが計算するときには、プログラミングで表現しなくても、人間の文明が生み出した遺産である「筆算」で計算することができる。小学校で筆算を学習するということは、計算の手続を一つ一つのステップに分解し、記憶し反復し、それぞれの過程を確実にこなしていくということであり、これは、プログラミングの一つ一つの要素に対応する[12]。つまり、筆算の学習は、プログラミング的思考の素地(そじ)を体験していることであり、プログラミングを用いずに計算を行うことが、プログラミング的思考につながっていく。

・算数において、プログラミングの体験をどこに位置付けていくかについては、こうしたことを踏まえながら、効果的な場面を考えていかなければならない。例えば、図の作成等において、プログラミングを体験しながら考え、プログラミング的思考と数学的な思考の関係やそれらのよさに気付く学びを取り入れていくことなどが考えられる。
(後略)

[脚注12]コンピュータ科学等でも用いられる「アルゴリズム」とは、筆算といった計算の手続も含む、問題を解決する手順を定式化して表したものを指す。筆算は数学の歴史の中で初期から存在したものではなく、長い年月をかけて人類が生み出したアルゴリズムであり、そうしたものを生み出す人間の数学的な思考が、人工知能の動きや働きなどを支えるおおもととなっている。これからの算数では、筆算が所与のものではなく、こうした意義を持つものであることなどを学ばせることも重要ではないかと考えられる。

 

○また、プログラミング教育を行う単元に最大限の効果を発揮させるには、「プログラミング的思考」が国語[14]や算数等で身に付ける論理的な思考力とつながっていることや、社会科における社会の情報化に関する学習など、各教科等における学びとのつながりを教員自身が認識し有機的につなげていけるようにすることが求められる。新しい教育課程の議論の中で、こうしたプログラミング教育と、それにつながる各教科等の学びとの関係性が分かりやすく示されていくことを期待したい。

[脚注14]説明文を読んでその構造を捉えることなどは、フローチャートの作成につながる力であり、こうしたつながりを意識することが重要である。一方で、国語においては、自らの頭脳を使って思考し表現する言語活動を通じて、情報を多角的・多面的に精査し、構造化する力等を育むことが重要であり、こうした国語の本質的な学びとして、プログラミングを体験することを位置付けていくことは、言語能力の確かな育成の観点からも、慎重に考える必要がある。

 —

  

情報処理教育とプログラミング

日々流れてくるプログラミング教育に関する様々な言説を眺めながら,私は過去の史料を紐解いているところです。

1970年代あたりのものから取り掛かっていますが,ちょうど「情報処理教育」を高等学校で本格的に取り入れる頃の記事や論考が並びます。

そして,ご想像通り,使われている流行り言葉こそ違えど,今日論じられていることと,ほとんど変わらない。技術者需要への対応や,情報化社会を主体的に生きることができるように次の世代を育成しようという発想,先生の問題と設備の問題など。彼の国がコンピュータ・サイエンスに取り組んでいるといった諸外国への認識も,すでに当時からあったようです。

プログラミングといった専門技術にまつわる様々な立場による様々な解釈同士の衝突も,当時の座談会記事などを読んでいると,時代を問わず似たような形で再来しているのだなと分かります。

40年以上も前に出尽くしていた問題が,いまも変わらず課題というのは,積み残しをしたからなのか,新たに出てきた同形の問題なのか,これも見解はいろいろあるのでしょう。

小学校段階でのプログラミング体験の導入に注目が集まっている昨今ですが,中学校の技術・家庭科における「情報の技術」での扱われ方も,注目すべき箇所です。現行のあっさりとした記述に比べると,改訂ではより生活や社会との繋がりを意識するように文言が書き込まれています。

具体的には「生活や社会における問題を,ネットワークを利用した双方向性のあるコンテンツのプログラミングによって解決する活動」と「生活や社会における問題を,計測・制御のプログラミングによって解決する活動」を通して,各事項を身に付けるといった表記形式です。

現行では「プログラム」という言葉しか使用されていなかったものが,「プログラミング」に置き換わったあたりは,小学校段階から中学校段階,そして今後出てくる高等学校段階との間で用語を統一しようとする動きなのだろうと思いますし,深堀していくと面白く論じられそうです。

ただ,教えられる人を育てて配置できるかどうか。その問題の存在も昔から変わっていないようです。「プログラミング」としたことが吉と出るか凶と出るか。まだ先を見通すのは難しそうです。