20180927_Thu

通常の授業日。

新しい内容の教科書へと切り替えることにしたものの,売店への入荷はしばし時間がかかるため,冒頭部分をコピーして配布することにした。各自がネットでピッと購入すれば数日で届くことは可能なのだけれど,このご時世になっても,いろんな人が関わって成立してきた手続きを飛び越すことの方が難しい。

プログラミング教育体験活動に関わってくれている学生たちが,秋の催しについて相談のため来研。独自に附属小学校の児童たちを募集する機会以外にも,大学祭にやって来てくれる子どもたちを対象とした体験機会をつくることも計画してくれている。

ただ,単発的な体験の機会となると「プログラミングを体験する」という側面を堅持するのがとても難しくなるという問題に直面する。

特にフィジカルデバイスのプログラミングは,ロボットやらセンサーやらのフィジカルなものを動く動かすという分かりやすさがある反面,動くことへの興奮がある程度おさまらないとプログラミングの方へ意識を向けさせるのが難しいし,その時間配分も予測が難しい。たとえば,ボール型ロボットを制御するという素材は,関心を掴むという点においてインパクト十分であるが,これを学習素材として料理する幅はそれほど大きくないのが実情である。食べ飽きるのが早いかも知れない。

子どもたちに向けてプログラミングを体験してもらうというねらいは少し諦めて,学生たち自身がこの活動を通してプログラミングというものを体験し馴染んでいくという裏側のねらいに重点を置くような感じになるのかなと思う。

グラハム・ベルが電話を発明して特許を取得したのが1875年と1876年のこと。

その頃の日本というのは,明治8年,9年といった時代で,ご存知文明開化の頃だった。電話もすぐさま輸入されたそうで,さっそく国産品の開発が始まり,逓信省による電話交換業務が始まったのは1890(明治23)年だという。

ところで,明治時代より前はどうだったのか。

気になって『江戸の理系力』(洋泉社)を覗いてみた。

電気にまつわる話だと,平賀源内の「エレキテル」が思い浮かぶ。1770(明和7)年の長崎遊学で壊れていたエレキテルを入手したものの,「当時の日本において電気の知識は皆無に等しかった」らしく,別の歴史年表によると平賀源内がエレキテルを修理したり模造品を完成させるのは1776(安永5)年までかかったらしい。

興味深いのは,大人の科学.netの「江戸の科学者列伝」(学研)等の記述によれば,エレキテルは見世物として使われたに過ぎないようだ。つまり,火花をバチッと出せてインパクトはあったけれども,実用的に使うものではなかったと。どこかの時代のボール型ロボットで似たような話を聞いたような…。

日本における電気の祖は橋本宗吉で,1811年頃に『阿蘭陀(おらんだ)始制エレキテル究理原』という本を書いたことから電気学が始まった,とのこと。

日本の電気の歴史もなかなか奥深い。

「プログラミング」を考える

2018年8月11日に行なわれた三重県教育工学研究会の夏季セミナーに参加してきました。

「新時代の教育を切り拓く プログラミング教育を探る」というテーマで企画され,「子どもが主役のプログラミング教育で学びを深める」と題して開催されました。授業実践事例の報告とプログラミング教育に関する講演,パネルディスカッションが行なわれました。

ふらっと参加したのですが,お声掛けしてくださる方々も多くて,思わぬ歓迎を受けたりしてました。

講演では,千葉県柏市の教育研究所にいらっしゃる西田光昭先生が,プログラミング教育に関する最新動向と柏市での長年の取り組みを紹介されました。パネルディスカッションでは,NPO法人みんなのコードの竹谷正明先生と亀山市立能登小学校の谷本康先生が議論を展開しました。

企業ブースも多数参加があり,各社PRで製品に触れる機会もあり盛りだくさんでした。

こうしたセミナーのような場を粘り強く展開することは大事なのだなとあらためて思いました。

さて,プログラミング教育。

最近は,関連ポータルサイト(「小学校を中心としたプログラミング教育ポータル」)もインタビュー記事を掲載するなど情報発信にも力が入ってきたようです。

プログラミング教育について書くと,二文目には否定的なことを書いてるんじゃないかと思われがちですが,それは私の職務上,疑問を投げかけることから思考を発動させるのが定石になっているからです。

実は,夏季セミナーのパネルディスカッションで,発言する機会をいただきました。

登壇者の発言をフムフムと聞いていたものですから,そのタイミングで気の利いた質問を用意するのがとても難しく,また思い付いた言葉を唱え始めてしまいました。

曰く「なぜプログラムではなくプログラミングという言葉なのだろう。あるいはプログラミングという言葉は消えて使われなくなるのではないだろうか」とか。

頭の片隅で「このセミナーは先生たちが集まっていて,これからどうプログラミング教育すればいいかを学びに来ているのだ」と分かっていたというのに,どうしてこうも自分は疑問を呈する思考回路の持ち主なのか,自分でも困ってしまいます。

私がそのとき抱いていたのは,西田先生がお話しされていた「プログラミング教育を普及させるために先進・先導事例を通して多くの人の理解を得る」必要性に対して,多くの人の理解を得る際に提示されるイメージがもっと鮮明でなければならないのでは?という疑問でした。

つまり「プログラミングって何?」という問いで生起するイメージを共有できるかどうかです。

そのとき「プログラミング」という言葉を使っていることの不思議さも感じないわけにはいかない。

たとえば音楽に喩えるなら,私たちは「作曲」に相当する言葉を使っていることになります。「作曲教育」自体は大変興味深い議論対象ではあるけれど,それは普通の感覚で考えたとき,音楽の範疇で最優先に取り組まれるべき事項だろうか。大概は,作曲する前に「鑑賞」することを優先するのではないか。

これをプログラミング教育に引き付けて考えるとき,私たちは「プログラミング」よりもまずプログラムを「観察」することから始めているのではないか。「プログラム観察」を経て,やがて「プログラム作成」を体験するという区分を明確にすることが必要なのではないかとも思えてくるのです。

「プログラミング教育とは,プログラム観察とプログラム作成の体験と学習から構成される」といった暫定的な共通イメージを描く必要があるのではないかという問題提起です。

もちろん,プログラム観察とは何か,プログラム作成とは何かという,さらなる描き込みは必要になりますが,プログラミング的思考なる言葉で煙に巻くよりは潔いのではないかと考えます。

こうして考えていくと「プログラミング」という言葉が代表面して学習指導要領に書き込まれるのは今期改訂の範疇限りで,次期改訂の際には「プログラミング」という言葉は消えて「コンピューティング」という言葉が後継候補に上っているかも知れません。仮にプログラミングという言葉が残ってもコンピューティングの中の一部分として登場する位置付けになると思います。

そんなことを夏季セミナーに参加しながら考えていたわけですが,今一度,現時点で何をすべきかということに頭を切り替えるなら,先生方は,徹底的に「プログラム観察」をすることかなと。私たちの日常生活に潜んでいるたくさんのプログラムを掘り起こして再認識するだけでも,大変な作業です。

そのうえで,プログラム作成に挑戦すると,観察の成果が生きてくるかも知れません。

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

今年度も残りわずかになってきました。この時期はあれこれ催事が開かれますが、プログラミング教育関係をテーマにしたものも多いです。(カレンダー

20180223-24「こどものプログラミング教育を考える2018 ~2020年度を見据えた地域の教育実践例~」(オープンソースカンファレンス)
20180224「第3回こどもプログラミング・サミット2018 in Tokyo
20180224「Microsoft Education Day 2018 〜2040年に生きる子どものための学びのニューモデル〜
20180227「Webの未来を語ろう 2018 プログラミング教育編
20180227「セミナー「ICT活用を教える現職教員の対応力強化策」
20180303-04「Raspberry Jam Big Birthday Weekend 2018 in TOKYO
20180303「教育工学会研究会 プログラミング教育・LA/一般
20180308「プログラミング教育とICT利活用人材
20180308「総務省「若年層に対するプログラミング教育の普及推進」事業 成果発表会
20180308「Bett報告会 ブリティッシュパブでイギリス発教育サミットbettを語る夜
20180310「新学習指導要領でのプログラミング教育の実現に向けて 教育工学の立場からプログラミング教育を考える
20180312「「プログラミング教育が変える子どもの未来」出版記念セミナーイベントin東京〜プログラミング教育の名の下に世界で何が起きているのか、未来は本当に見通せているのか?〜
20180313「子ども達に,いま必要なマナビ:プログラミング的思考や読解力の必要性と教育のあり方は? 〜データなどの確かな根拠に裏付けされた実態と展望〜」(情報処理学会全国大会)
20180313「次世代の教育情報化推進事業「情報教育の推進等に関する調査研究」成果報告会」(文部科学省)
20180325「第4回 お茶の水女子大学附属学校園ICTフォーラム「プログラミング教育の現状と課題」

これだけの機会、プログラミング教育やプログラミング的思考なるものについて情報が交わされるわけです。なかなか興味深い展開ですが、これらの内容を知ることも、議論を接合することも、重複参加しているような人々でないと難しいのが困ったところです。

いまは、それぞれのテリトリーで課題に対する解決策を追いかけることで精一杯であり、それらをオープンにすることやコネクトしていくことにエネルギーを割いている余裕がないというのが実際のところだと思います。

「プログラミング的思考」に関してこれまで、「有識者会議の定義」「様々な論者の記述」「英訳を考える」といったアプローチで描写してきました。

その後、海外の文献なども取り寄せながら様子を見ていたのですが、ある論文に「Algorithmic Thinking」という言葉が用いられていることを見つけて、これが「プログラミング的思考」という言葉を使いたい人たちの考えに近い英訳ではないかと思えたのです。(論文「Algorithmic Thinking: The Key for Understanding Computer Science」)

あとからいろいろ調べてみると、すでに『コンピュテーショナル・シンキング』という本で、「アルゴリズミック・シンキング」という言葉が20世紀中庸に用いられていたことが紹介されており、そのことを指摘した論文「Beyond Computational thinking」が『Communication to the ACM』誌に掲載されていると書かれていました。

あえて古い言葉「アルゴリズミック・シンキング」の方が「プログラミング的思考」の英訳として適していると感じるのは、有識者会議の議論のまとめが、コンピュータでのコーディングよりも論理的思考の方に重きを置いたような印象を与えるからです。海外の人たちへ紹介するときの英訳としても、その方が理解や納得を得やすいのかなと想像していますが、これは実際に使ってみないとわかりません。

学習指導要領が本格実施されるときのプログラミング体験・学習が、どのような姿に落ち着いているのかは、今のところまだわかりません。

ScratchやViscuit等を用いるスタイルはもちろん生き残るとして、プログラマブルロボットやmicro:bitのような工作・メイカーキットの活用が加速するのか、あるいはアンプラグドと呼ばれる取り組みが教科との多様な連携を見せるのか。正解がない以上は、あれこれ試してみてはダメ出しや改善をしながら切磋琢磨して紡ぎ出すしかないと思います。

たとえば、Webデザイン(情報デザイン)やゲームデザイン、AIシナリオデザインといったものも、プログラミング体験や学習の範疇に取り入れる可能性についても、「あえて」取り組んでみる必要があるかもしれません。そうしたときに教科の横断や連携といった試みも必要性のもとに浮かび上がるかもしれません。

以前「プログラマー「を」育てる教育を」という雑文を書きました。

プログラマーを「特定の職業ではなく、数理系に偏るものではなく、高度な情報活用能力の体現者」という風に考えてみてはどうだろうか、というのが雑文の趣旨でした。

正直なところ、いま起こっている物事の全てが、「プログラミング」という言葉を所与のものとして前提したまま展開していることが、このややこしさの出発点だと思っています。そのうえ、学習指導要領には長い年月積み残した宿題(問題)が放置されたままであり、私たちはその上に新しいことを継ぎ足そうとしていることも、事を難しくしています。

「プログラマーを」育てるという言い方は、もちろん、多少の釣り要素が込められた言い方ですが、それがいまいち腑に落ちないのであれば、「能動的なユーザーを」育てると言ってもいいし、「情報時代に生きる市民を」育てると言ってもよいと思います。

この時期、あちこちの催事で語られるプログラミング教育やプログラミング的思考なるものに関する議論で、それらがどのように描かれていくのか。議論する私たちも、もっとたくさん学ばなければならないのだと思います。

Scratch用スライド教材作成部品ファイル

===

Keynote for iCloud上の 「Scratch用スライド教材作成用部品ファイル

上記リンクで閲覧とダウンロードが可能です。

===

今年は12月7日から13日まで「コンピュータサイエンス教育週間」とされています。

プログラミングだけというわけではないでしょうが,この期間に合わせて米国を始めとしたプログラミング教育推進団体が世界で活発にイベントなどを開催しています。(参考記事「世界的なプログラミング教育推進運動「Hour of Code」、日本に本格上陸」CNET)

私も授業の中でScratchを紹介して,学生たちにプログラミングを体験してもらっています(Scratchを学ぼう)。

最近は参考図書も増えてきているので有り難いのですが,授業で自分なりの解説をしたり,自作のプリント教材を用意しようとすると,Scratchの画面を映し出して指し示したり,画面キャプチャしてブロック等を印刷するといった手間がかかります。

というわけで,自前でスライド教材を作成するためにScratchの画面要素を部品にしてファイルの中にまとめ始めました。これを使えばスライドでもプリントでも部品を組み合わせて例示するのに便利です。

もともとはScratchの財産ですので,皆さんにも自由に使ってもらえたらと思います。まだ細部を作り込んでいないので,改変しやすさは足りないですが,代表的なブロックを紹介したり,組み合わせを示すことには使えると思います。

ファイル形式はApple社のKeynoteファイルです。容量は大きいですが,拡大縮小が奇麗にできるのでこの形式を好んで使っています。Keynote for iCloudからはPowePoint形式でもダウンロードできます。