わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

第12回情報教育合同研究会で,プログラミング的思考とプログラミング教育の一端に触れる

昨日は,情報コミュニケーション学会情報教育特別委員会ほかの共催による,「第12回情報教育合同研究会」*1に出席してきました.会場は阪急塚口駅から南西に走って1kmほどのところにある,園田学園女子大学です.
午前中のワークショップには参加せず,13時からの全体会で,2つの講演,パネルディスカッション,その他もろもろを聴きました.
講演や意見交換の中で,たびたび,「プログラミング的思考」を耳にしました.会場でもらった資料とは別に,この用語は,今年6月に取りまとめられた報告に出現します.

「プログラミング的思考」が出現するセクションを,取り出します.色を替えた箇所は,2人の講演資料にも,共通して書かれていました.

(2)情報技術を手段として使いこなしながら、論理的・創造的に思考して課題を発見・解決し、新たな価値を創造する
○ これからの時代を生きていく子供たちには、ますます身近となる情報技術を効果的に活用しながら、複雑な文脈の中から読み解いた情報を基に論理的・創造的に考え、解決すべき課題や解決の方向性を自ら見いだし、多様な他者と協働して新たな価値を創造していくための力が求められる。ここで言う「創造」とは、グローバルな規模でのイノベーションのような大規模なものに限られるものではなく、地域課題や身近な生活上の課題を自分なりに解決し、自他の人生や生活を豊かなものとしていくという様々な工夫なども含むものである。
○ 子供たちが、情報技術を効果的に活用しながら、論理的・創造的に思考し課題を発見・解決していくためには、コンピュータの働きを理解しながら、それが自らの問題解決にどのように活用できるかをイメージし、意図する処理がどのようにすればコンピュータに伝えられるか、さらに、コンピュータを介してどのように現実世界に働きかけることができるのかを考えることが重要になる。
○ そのためには、自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力が必要になる。
○ こうした「プログラミング的思考」は、急速な技術革新の中でプログラミングや情報技術の在り方がどのように変化していっても、普遍的に求められる力であると考えられる。また、特定のコーディングを学ぶことではなく、「プログラミング的思考」を身に付けることは、情報技術が人間の生活にますます身近なものとなる中で、それらのサービスを受け身で享受するだけではなく、その働きを理解して、自分が設定した目的のために使いこなし、よりよい人生や社会づくりに生かしていくために必要である。言い換えれば、「プログラミング的思考」は、プログラミングに携わる職業を目指す子供たちだけではなく、どのような進路を選択しどのような職業に就くとしても、これからの時代において共通に求められる力であると言える。
○ また、「プログラミング的思考」には、各教科等で育まれる論理的・創造的な思考力が大きく関係している。各教科等で育む思考力を基盤としながら「プログラミング的思考」が育まれ、「プログラミング的思考」の育成により各教科等における思考の論理性も明確となっていくという関係を考え、アナログ感覚を大事にしていくことの重要性等も踏まえながら、教育課程全体での位置付けを考えていく必要がある。

とはいうものの,「プログラミング思考」ではなく,間に「的」が入ることに,違和感というか,泥臭さを覚えます.「和製」感があります.
海外に,「プログラミング的思考」の概念があるのかどうかも,よく分かっていません."programming mindset"で検索してみると,ヒット件数は数百万あるものの,関係ないページが多そうです."programming thinking"に置き換えたところ,Think Like a Programmer: An Introduction to Creative Problem Solvingという本が見つかりました.
名より実を取るべきでしょうか.自分の授業や研究室での指導を振り返るとともに,学習指導要領の改訂に関する文書を読んでいき,これはというものを,書き出していくことにします.


パネルディスカッションのメモより:

  • 学習指導要領総則にプログラミング教育が盛り込まれれば,各科目で実施することになる.
  • 目の前にコンピュータがあり,語りかけると,何かが返ってくる.この楽しさを知って欲しい.
  • 導入はコードでなくても(ブロックなどでも)いい.
  • 「プログラミング嫌い」を作らないようにするには,成功体験を与えることが大事.先生向けにも,絶対成功する授業シナリオや資料を,我々が作って提供したい.
  • 集団としてのプログラミングは? 高校の情報2(発展)で入れるのがいい.あるいは大学の専門の情報の中で.
  • 数百行のだらだらしたコード vs オブジェクト指向を取り入れた20行足らずのコード(子どもたちが書いた).評価対象は「動作」でいいのか? 「書かれたコード」も見るべきか?
  • 教科によって基礎基本になるものが違う.算数は,式.プログラミングは,コード? 操作?
  • 科学的思考における「実験機器」「実験」は,プログラミング的思考では「コンピュータ」「プログラミング」に対応する.
  • 「科学的な見方・考え方」に対して「情報的な見方・考え方」に当たるものはというと,プログラミングのみを行うのではなく,その上流としてのモデル化や,本質を見出していく力が大事になってくる.
  • スキル教育とコンテンツ(中身)との関係やマッチングが重要である.コンテンツなしのスキル教育ができるか?
  • 答えが1つに定まらない問題をどのように提供し,答案をどのように評価すべきか?
  • パソコン教室やNPOでは,自由に作らせている.学校でのプログラミング授業に当てはめられるのか? 進み具合が子どもの間で激しいのでは?
  • 小学校段階のプログラミングで,選択,反復,変数の概念を学んでしまうと,中学校では配列,関数? 高校では? ゴールは共通か,それとも異なっていいのか?
  • 自分の小学校3〜4年のときのことを思い出しながら,良い教育の在り方を考えるのはどうか.ただし我々は理屈っぽかったはずなので,30%くらい割り引いたほうがいい.
  • 発達段階に合わせて,何を指導するかを考慮すべきである.小学生にオブジェクト指向を教えるのが妥当か?
  • 「もっといいやり方,ないの?」と聞かれたときに,教える側は答えられるようにしておきたい.