データ処理としてプログラミング教育を考える

6月に行なわれた日本カリキュラム学会に参加して、3月に告示された学習指導要領に関する議論にいろいろ触れてきました。学会の性格上、個別の内容について善し悪しを論じるというよりは、学習指導要領の成立過程や影響について注目して議論が行なわれました。

その中でも、初等教育への「プログラミング教育」導入は、3回の有識者会議(「小学校段階における論理的思考力や創造性、問題解決能力等の育成とプログラミング教育に関する有識者会議」)だけで教科横断的に受け入れを飲み込ませてしまったことなど、行政手続法の精神に鑑みて不適切さが残り、唐突感が否めないという指摘もなされました。

プログラミング教育を2017年3月告示の学習指導要領に盛り込むためにとった手続きの是非について、立場によっては不適切論を一蹴する人たちも居るでしょう。

今次の改訂に盛り込まなければ10年後になってしまう、であるとか。コンピュータ技術に触れて学ぶことは喫緊の課題であるから今回の手続きは相応なものであった、という見解もあると思います。物事には場合によって形式的手続を省略すべきときがあるのも、大人の世界ではよくあることです。

学習指導要領改訂の背景で「子供たちに、情報化やグローバル化など急激な社会的変化の中でも、未来の創り手となるために必要な知識や力を確実に備えることのできる学校教育を実現します。」と謳った以上、プログラミング教育は何が何でも盛り込みたかったのでしょうし、有識者会議を3回(2016年 5/13, 5/19, 6/3)にせざるを得なかったのは、すでに2015年11月から始まっていた各教科等のワーキンググループの議論が、グループによって4〜8回ほど検討を重ねていたため、なるべく早く対応を求めたかったという事情もあったと考えられます。

いずれにしても行政手続的な妥当性については、別途ちゃんとした議論が必要になるでしょう。

一方、プログラミング教育にまつわる議論は、率直に言って、おかしな方向へ転がっています。

どの識者や論者の主張も、理屈として必要性を述べることはできていても、個々の学校で取り組む理由や文脈を作り出すところまで繋げられるよう説得的には論じられていません。(参考リンク

グラフィカルなプログラミングツールやロボット制御の実践は華やかで、その一つ一つの持つ面白さや効果について疑うわけではありません。とはいえ、それを学校の文脈に馴染ませるためには、大文字の必要性を自校の必要性にブレークダウンしなければならないはずで、それに成功している事例は滅多にありません。(大文字のまま受け取って納得し楽しめているのであれば、それはそれで一つの在り方です)

たとえば、小学校段階の「プログラミング教育」を「プログラミング技術習得ではない」「プログラマー育成ではない」と断わらなければならないのは、それを教えられる人がいないという現実を配慮した結果だといえば、理にかなっているように思えます。しかし、そのために「プログラミング的思考」という言葉を作って、情報技術の進展した社会における問題解決のための論理的思考を養うものだとしたところから、議論はねじれを生むだけでした。

有識者会議の議論の取りまとめは、総花的であるため、一方で論理的な記号操作レベルによって一連の意図した処理が行なえることを関知させることをねらい、一方で身近な場面で論理的な思考が役立つことを実感させて自分の生活レベルで生かそうとすることを求めるという、両者の間に大きな飛躍を必要とするものが共存する形になっています。

人工知能や第四次産業が建前であることはよいとして、そこから、全国の様々な市区町村が設置者である小学校という場で、自校がプログラミング教育を積極的に取り組む理由へとつなげるための、その言葉がまるで紡ぎ出されていないのです。

全国に散らばる各地域の立場で想像してみてください。

地域の子供たちが未来の創り手になることに異論はないとしても、そのためにカリキュラム・マネジメントの手間をかけてプログラミング教育を取り入れる内発的動機を抱くことは、それぞれの地域において難しくないでしょうか。

地域に根ざした学校教育という文脈に、情報化やグローバル化の文脈を接合するために「現実直視」や「危機意識」だけを外から持ち込めば、それで事は動くのでしょうか。そこで提示されているのがゲームやロボットを題材にした実践ばかりであったとき、説得力を持ち得るのでしょうか。

何のための「プログラミング教育」であるのか。教師一人ひとりが自身で構築すべき理路のために提供されている言葉や視野は、あまりに少な過ぎます。

Jeannette M. Wing氏は「Computational Thinking」(コンピュテーショナル・シンキング/計算論的思考)という論稿で、プログラミング的思考の元ネタである計算論的思考について「コードをデータとして,データをコードとして解釈すること」と記述しています。

コンピュータプログラミングの世界では、アルゴリズムだけでなく必ずデータ構造の存在を言及するのが通例です。アルゴリズムに関する古典的著作『アート・オブ・コンピュータ・プログラミング』第1巻も情報構造(データ構造)に関して一章割かれていますし、その他多くの教科書がデータ構造の重要性に言及しています。

そもそも学習指導要領が「情報活用能力」の育成を目指してきたこと、高等学校の数学Iでデータ分析の単元が含まれていること等を踏まえれば、学校でデータを扱うことの重要性についてもっと論を展開すべきであることは合点の得やすい話です。

プログラミングとくると「アルゴリズム」を想起しやすいですが、ここで注目すべきは「データ」ではないか。プログラミングをデータ処理の手段として眺め直したところで、プログラミング教育を組み立てていくと、様々な議論が先へ進み出すのではないかと考えています。

データ処理としてのプログラミング教育。

たとえば、従来提示されてきた、ゲームやロボットを題材としたものも、データによって駆動している/されているという視点で捉え直すことは可能です。有識者会議の議論の取りまとめも音楽に関する記述で、音や曲をデータとして捉える視点が含まれていたと読みとることができます。

こうしたデータ的な視点で話を膨らましていきましょう。

人工知能に関する近年の注目は、ビッグデータを前提とした機械学習のブレークスルーにありました。これはプログラミング技術の進歩というよりも、データ処理技術の進歩であり、人工知能デザインに必要なのはプログラミング技術というよりも学習データデザインの技術といってよくなっています。

全国の地域社会にとって、地域の統計データは、利活用によって様々な可能性を生み出す資産だといえます。地域活性化やコミュニティデザインの取組みにおいて、地域の様々な情報をデータ化し、ビジュアライズしていくことは重要な手段となっています。地域を学ぶこと、それは地域のデータを学ぶこと。そして、地域のオープンデータと関わっていくという活動の中でデータ処理を学んでいくようにデザインすることも一つのやり方です。

昨今は収集された個人情報こそがビジネス価値の源泉と言われています。ビジネスにおけるデータ分析やデータ加工の技能は、プログラミング技能を上回って重要なものです。

データを扱う基礎技能は、国語や算数数学における表やグラフ等に対する情報リテラシー学習に始まり、理科の実験データ記録や加工、社会科における統計データ解釈といった主要教科での要素によって養われているわけで、これをさらに他教科の中にも再発見していくことは難しいことではありません。

こうしたデータを処理する手段として、アナログ的な処理から始めつつも、プログラミングによる計算処理へと繋げていくことで、その意義や可能性を学ぶことも盛り込めるのではないでしょうか。アンプラグドからプラグドへの流れも位置づけやすいということです。

これは単なる見せ方の違いだ、という指摘もあり得ます。

そう考えてもよいと思います。

ここまであちこちで披露されているプログラミング教育の実践事例について、私自身は否定をしているつもりはありません。お菓子を使ったプログラミングも試みとしては大いに結構。目標に応じてどのような方法を開発したり選択するかは、当事者や学習者が決めればよいことです。

ただ、プログラミング教育について、なにゆえ、こんなにも議論しにくい状況が生まれているのか。

解説の言葉、「〜ではない」という言葉が飛び交う中で、結局のところプログラミング教育とは何をするのかという「答え探し」が終らない現実。

こういう状況を解きほぐす一つの糸口として「データ」処理から考えるプログラミング教育という語り方を提示してみるのも重要かなと、私は考えています。

20170520 落合陽一さんの特別講義

2017年5月20日に秋葉原で開催された「落合陽一 氏スペシャルレクチャー in 秋葉原プログラミング教室「魔法の世紀に生きる子どもたちへ」」という親子向け特別講義に参加しました。

落合陽一さんはメディアアーチストで筑波大学の研究者であり、「現代の魔法使い」とも呼ばれている人です。デジタルなど様々な工学技術を駆使して、実空間をいろいろ遊んじゃおうというか、ハックして面白いことやろうみたいな感じの人です。研究室紹介には「デジタルネイチャー」というキーワードが掲げられています。

ちなみに、落合さんとは面識はありませんが、私も東京大学大学院学際情報学専攻の修士修了生なので、ちょっと親近感を持っているのと、この辺のことに関心もあったので直接話を聞いてみようと思った次第です。

イベント自体が親子向けで、落合さんも子どもたちに向けて話すのがとても好きな様子。参加している子どもたちは秋葉原プログラミング教室に参加している子たちということもあり、こういうインタラクティブアート系なものやデジタル話はわりと通ずるみたいでした。

落合さんの取り組んでいる研究の話も、フェムトレーザー技術による中空での光表示や、特定ポイントだけに聴音できるスピーカーとか、子どもたちは興味津々でしたし、歴史の話もエジソンとフォードの2人を紹介しながら20世紀を振り返り、子どもたちに21世紀やこれからはもっといろんなことが塗り替えられることを伝えようとしていました。

パラメータライズという言葉を落合さんは使っていて、なるほど物事を徹底的にその観点から眺めてみると、いろんな壁をスルッと見通せちゃう感じがわかってきました。それでいて、英語のスライドには21世紀を「”Enchantment” Blackbox of Computation」(魔法:計算可能性のブラックボックス)と括るっているのは興味深いなぁと。すこし故Steve Jobs氏が基調講演でよく「It’s like a Magic.」と説明する場面を思い出したり。

IMG 0965

本当はもっとゆっくりと子どもたちとやりとりしながら話したかったみたいでしたが、直後に筑波大学に行ってシンポジウムに出席するとかで、最後は慌ただしく退場されました。

落合さんの講演自体はいろんなバージョンがYouTubeなどでも見れたりしますが、もう少しのんびりしたシチュエーションで研究を体験してもらいながら子どもたちとがっつり対話するという場面があるといいのだろうなぁと感じた講演会でした。

マストドンの投稿公開範囲を調べる -2

インスタンスを立ち上げたこともあって,先月からマストドンに触れ続けています。投稿公開範囲について調べた結果を見やすい図にしてみましたので掲載します。

ダウンロード

[PDF] http://www.con3.com/files/Mastodon_toot_visibility_20221202.pdf

[PNG] http://www.con3.com/files/Mastodon_toot_visibility_20221202.png

この図は「投稿者」の投稿が,公開設定によってどのタイムライン(TL)や画面に表示されるのか(到達範囲)を表した図です。

図には表しませんでしたが,投稿者のことをフォローしたユーザーが誰もいない「インスタンスC」というものがあれば,基本的に投稿が届くことはありません。とはいえ,フォローしていない相手にもメンションは送ることは可能で,その場合メンションは相手の通知と連合TLに表示されます(これを他のユーザーが見ているかどうかまでは未確認です)。

また,「返信」と「ブースト」の場合はどうなるのか。まだちゃんと確認作業をしていませんが,今のところの観察メモとして

===

【返信】
○自分のホーム
○プロフィールTL
○元トゥートの詳細内
〈メンション無し〉
×元トゥートしたユーザーの通知
〈メンション有り〉
○元トゥートしたユーザーの通知
〈自分のトゥートの場合〉
○フォロワーのホーム
○公開TL(ローカル+連合)
〈他者のトゥートの場合〉
×フォロワーのホーム
×公開TL(ローカル+連合)

【ブースト】
○自分のホーム
○プロフィールTL
○フォロワーのホーム
○元トゥートしたユーザーの通知
×公開TL(ローカル+連合)

===

と見ています。ただ,条件を整えて実験をしていないので,間違っている部分があると思います。

ところで,Pawooさんが「おすすめユーザー機能」という新機能をリリースしたとのこと(5/12)。私はPawooでアカウントを作成していないので,まだ拝見することはできていませんが,インスタンス内の出会いや交流を促す機能が付き始めたのはよい方向性だと思います。

やはりマストドンは進化段階にあるシステムです。今回紹介した投稿公開範囲・到達範囲の在り方も今後変わっていく可能性があります。

とにかく,自分自身の投稿に責任をもって制御するためにも,投稿公開範囲や到達範囲について理解することは大事かなと思います。