「2018年の東京郊外におけるプログラミング学習の一断面:南多摩地域における参与観察から」

私も色々と出羽守は観察して参りましたが、インドの少数事例を194万倍ブーストで売上増を目論むオンラインプログラミング学習企業の広報戦略に感銘を覚えましたので、私の見聞の範囲の事例を検討して援護射撃をしてみようと思います。
 
事例概要:
 
事例として取り上げるのはうちの息子です。現在11歳、公立小学校の6年生です。
 
最初にプログラミングに触れたのはアーテックのStudinoで、Maker Faire Tokyo 2014の少し前だったと思います。つまり4年前ですね。StudinoScratch系のブロックプログラミングです。
 
2015年にRaspberry Piを手に入れてそのセットアップを経験し、マインクラフトで少し遊んでから、すぐにPC版マインクラフトに移行しました。今で言うJavaエディションです。
 
Scratchを使い始めたのもこの頃で、2015年の8月頃にアカウントを作成しています。Scratchにおいてはこれまでに共有したプロジェクトが291あります。これが多いのか少ないのか私にはわかりません。1ヶ月あたり平均7プロジェクト強を公開していますから、週あたりでも一つ以上は公開に至っていると言えます。また、Scratchを使い始めてからStudinoを触る機会がグッと減りました。
 
20163月に最初のデスクトップPCを手に入れています。スペックは第1世代core i5NVIDIAGeForce405という簡易なグラボが付いたもので、メモリは8GB(DDR3)搭載していました。デスクトップ導入はマインクラフトの描画系MODを入れるためです。それまで使っていたレノボのノートPC(セレロン+6GBメモリ)ではマシンパワー的に描画系MODには全く足りていなかったそうです。この辺から父親のスキルを越え始めています。私はマイクラのMOD導入は面倒くさくて断念して「やりたければ自分で調べてやり遂げてくれ」と放置したのですが、息子は2日ほどでMOD導入の手順を理解し、その後は取っ替え引っ替えMODを試して遊ぶようになります。
 
イメージ 1

20176月には自力でデスクトップPCの電源を交換し、グラボをGTX1050Tiに強化しています。マインクラフトの描画系MODのためです。
 
201799日には自分のブログをWordPressで再構築して、ライブドアブログから移転させています。
 
この年の夏休み以降、都内各所の子供向けプログラミングイベントに参加するようになりました。例えばTEPIA115日に開催されていた「プログラミング体験広場」などです。ここでIchigojamも触っています。
 
2018121日に初めてCoderdojoに参加しています。2月には商工会のロボコンに参加。Coderdojoにも参加1回。ここでCoderdojo用のPCを古いセレロン搭載モデルから、第7世代Core i5GTX1050を搭載したLenovoLegion Y520 (80WK002TJE)に買い換えています。ずいぶん気前よくPCを買い与える家だなあと思われるかもしれませんが、その通りです。その程度のお金には困っておりません。ちなみに古いノートPCは貧困層の青少年のための食事付き無料学習塾「ステップアップ塾」に寄付致しました。
 
3月もCoderdojo1回参加。45月は2回ずつ。6月はCoderdojo2回の他、Scratch Day Tokyoも参加しています。この頃、Micro:bit1台目も手に入れています(現在は2台所有)。このMicro:bitを使った作品は8月のMaker Faireに持っていって遊んでいました。

7月はCoderdojo3回、テックキッズキャンプのNintendoLABOイベントにも参加しました。8月はCoderdojo2回とDojocon9月はCoderdojo2回。10月と11月はCoderdojo3回ずつ。10月にデスクトップPCを第8世代Core i5のものに買い替えています。電源とグラボは自力で移植していました。

今月12月はなんと4回もCoderdojoに参加する予定です。これだけCoderdojoに参加出来るのも、多摩地域には数多くのCoderdojoが存在しているからです。ありがとうございます。毎回必ず寄付金を本人の手で入れるように指導しています。
 
プログラミングに触れたことの影響:
 
この節ではプログラミングに触れるようになった結果と推測出来る影響について検討します。
 
1:個人における変化
 
もともと、乳幼児期からモノづくりには極めて強い興味関心がある子供でした。例えば幼稚園児の間、購読していた雑誌『てれびくん』の付録は必ず作る、旅行に行ってもモノづくりワークショップ系のアクティビティで参加可能なものは必ず参加する、そうした外的な働きかけが無い状況でも常に手元にあるもので工作をしているという具合です。何かを捨てようとすると「それ、工作材料にするから取っておいて」と頼まれることが日常茶飯事でした。
 
イメージ 2

プログラミング以外でも、ミニ四駆やタミヤのラジコンには大金を注ぎ込んでいます。
 
そうした生得的な資質があったこと、また、モノづくりに関する費用(工具・資材の購入費やワークショップ参加費)についてはほとんど青天井で即座に承認される家であるという環境要因もあるでしょうが、彼にとってモノづくりは息をするように自然な活動のようですし、プログラミングというものもまずは、モノづくりのためのツールの一つと位置づけられているようです。
 
この「モノづくり」について更に詳しく観察してみると、以下のような特徴を指摘出来ます。
 
  1. 外的な評価よりも自分にとっての面白さを重視している
  2.  ロボティクスよりもヴァーチャルなプロトタイピングをより多く行っている
  3. 個々の要素技術の考え方や難易度についての把握能力が向上している

1)については、Coderdojo(以下CDと表記)Whyプログラミング(以下WPと表記)での自他の作品の比較において、「(CDWPで)受けが良いのは綺麗な絵を使うなど見た目が派手な作品だが、自分が好きなのは裏側を作り込むこと」「自分は見た目が派手なものより、シンプルな見た目で裏側が凝っているものを作りたい」「自分は要素技術の開発が好き」という発言がしばしば聞かれることがその根拠として挙げられます。

2)については、Studinoのようなロボティクスも嫌いではないようですが(学生ロボコンや高専ロボコンは大好きで、科学技術館に実機を見学にも行くほど)、ロボティクスはいま子供向けとして提供されているような赤外線センサーとモーターによる迷路抜けロボットのレベルをやり尽くすと、その次のステップでは一気に開発の難易度が上がり、また時間も費用もかかるので、ヴァーチャル環境でプロトタイピングが完結するScratchやマインクラフトに手が伸びがちになるようです。最近はFortniteというサードパーソン・シューティングゲームにハマっているようですが、このゲームでも戦闘のスコアを上げるよりはクリエイティブモードでモノづくりをする方が好きだそうです。

3) については、CDWPで目にする作品について、ここはこのような考え方のプログラムで動かしているはずだとか、こういうものを作るとしたらああいう考え方で実装出来るはずだとかいう話をしょっちゅうしています。私にはほとんど理解出来ませんが。またCDの振り返りでも「今日は作品のうちこの部分の動作を改良した」「こういうエラーが出ていたので、こういう入力があった場合に、こういう数値を返すように改良した」という話が増えているようです。私には以下同文。
 
この他、非常に論理的かつ合理的に物事を理解し、判断する小学生だなとも感じますが、これは日常的に接している父親が明晰な事実と論理を非常に重視した言語活動をしているので、一概にプログラミング教育の成果とは言い切れません。
 
2:社会関係における変化
 
もともと非常に社交的な人間で、見知らぬ人にも年齢性別民族問わず積極的に話しかけて仲良くなろうとするタイプでしたが、その延長線上で以下のような行動が強化されているように思われます。
 
  1. 自分の作品をプレゼンする
  2. 他人の作品を吟味検討する
  3. 技術交流する
  4. 協働する
 
最初はお互いの作品を見せ合うところから始まります。面白いことにこれは彼我のレベル差を一切気にしません。例えばビッグサイトに移転してから必ず行っているMakerfaire tokyoでも、自分の作品を持っていって出展者に自慢しています。電通大の学祭やオープンキャンパスでも同様です。そうした行動から、新しい人間関係をどんどん作っていく(例えばタカハさんに小学生向けソレノイド工作キットを出すべきだとプレゼンして、実際に試作用サンプルを送ってもらうなど)のが興味深いところです。
 
また、要素技術志向が強いからか、他人の作品でも全体よりは細部にどんな技術が使われているかへの興味が強いようです。余談ですがこれはプログラミングではなくミニ四駆でも同じで、コースで速い人のマシンはどんな構成なのか、どんな工夫があるのかを観察したり教えてもらったりしています。

イメージ 3

 
この次の段階が技術交流です。自分よりスキルが劣る人がいれば、なんとかしてスキルを教えようとする(ミニ四駆コースでも同じ)。作品に用いられる要素技術だけではなく、開発環境のサポートも好きなようで、例えばクラスメイトがPCを買いたいと言い出したら予算とやりたいことを丁寧に聞き取って、お勧めモデルを探してご紹介する(ミニ四駆コースでは初心者のチューンナップアドバイスや工具レンタル、ケミカル提供など)。小学校のパソコンクラブで8ヶ月かけてついにScratchを導入させ、Scratch Dayを実現させたのも、この技術交流行動の一形態と理解しています。
 
さて、更に交流が進むと、一緒に何かを創ろうという話になります。私見ではこの部分が特に優れているツールがマインクラフトとScratchです。Studinoのようなロボティクス教材やMicro:bit(あるいはラジコンやミニ四駆)の場合、実機をいじる必要があるので、協働する場合はどうしてもリアルで会う必要があります。費用もかかります。
 
ところが、マインクラフトやScratchの場合はこれがウェブ上で簡単にできてしまいます。2018年の夏休みはVPSを借りてセルフサーバを構築してCoderdojoで知り合った友人たちとマインクラフトで共同作品を作っていましたし、Scratchは元来、プログラミング作品の共有・共同制作のためのSNSですから、日々常に協働は行われています。Coderdojoに可能な限り参加するという行動パターンの動機の一部には、協働作業をする仲間を見つけたい・増やしたいという思いもあるように見受けられます。
 
プログラミングに触れることのもつ意味
 
あくまでも一事例の観察と分析のみによる考察なので、一般化は難しいことを最初に明記しておきます。その上でですが、以下のようなことが言えるのではないかと考えています。
 
  1. プログラミング教育には様々な側面があるので、プログラミングを学べば子供はこうなる、とは一概には言えない。
  2.  現在の子供向けプログラミング教育の中にはコーディングではなくネットワーキングや協働のスキルアップを促す要素も豊富に含まれている。
  3.  現在のプログラミング教育のスコープは日本の現在の公教育のスコープより明らかに新しくまた広いため、プログラミング教育の進展は公教育のあり方の全体的な見直しを必然的に求めることになる。
 
順に説明します。
 
まず1) ですが、文科省が新たに小学校以上のカリキュラムに導入しようとしている理由である、プログラミング的思考の獲得であるとか、情報機器の活用能力の獲得というものも当然、プログラミング教育によって期待される効果ですけれども、それ以外にも人によっては創造力をより自由に、より幅広く発達させるためのハイコストパフォーマンスな学習ツールになり得ます。また、人によってはプロフェッショナルなプログラマへと成長するためのきっかけとなるかもしれません。それ以外にも、これからプログラミング教育が広まれば、今現在では予想されていなかったような学びが現れてくるかもしれません。まだまだ発展途上の教育分野ですから。
 
次に2)について。テックキッズスクールやプロゲートなど有償のプログラミングスクールはコーディングのスキルアップによる高賃金職獲得の期待、それによる子供の社会階層の維持や上昇をアピールしていますが、既に見たようにプログラミング教育のコンテンツの中には、ネットワーキングや協働のスキルアップを促す要素が豊富に埋め込まれています。

私自身はコーディングは全くやらない傭兵プロジェクトマネージャーですが、何故そんなものが成立するのかと言えば、コーディングによって創造されるプログラムの制作プロセスにおいてはネットワーキングや協働が非常に重要であり、それを支援する職能が求められているからです。

別の言い方をするならば、コーディングはそれのみでは社会の中に生まれてくることも居場所を維持することも出来ず、必ず自然言語によるネットワーキングや協働のプロセスが影の形に沿うように存在しているということです。現在のプログラミング教育が既にこうした部分のスキルアップまでも包含するものになっていることは見落とせない事実です。
 
最後に3) について。プログラミングは当たり前ですが最初から最後まで理屈だけで成立する創造です。コードはコーダーのお気持ちに忖度してくれません。不払い残業も根性営業もやってくれません。論理的に指示されたことだけを論理的に実行します。プログラムにパワハラや詭弁は通用しません。非論理的なインプットに対しては動作しないかエラーを起こすだけです。ざまあみろ。

また、CoderdojoMakermovomentにおいて観察される人間関係はフラットでオープンなものです。小学生と大学院生と研究者と企業経営者が対等な立場で、開放的なコミュニティを形成しています(それを理解しない伝統的大企業や役所の人が入ってきても、馴染みきれずにフェードアウトしてしまいます)。

これは忖度と根性、非合理性を飲み下す気合いを教え込み、1年でも学年が違えばどんなにバカな脳とクズな人間性を実装した人物でも先輩とか抜かしてでかい面が出来る体育会(笑)が基本となっている現在の日本の公教育の社会構造とは真っ向から対立するものです。子どもたちを現代のグローバルな、フラットでオープンなプログラミング教育の文化に触れさせることは、現代の日本の公教育が今もなお引きずっているレガシーな体育会(笑)文化への疑問を植え付けることでもあるのです。ICTデバイスへのアクセスを徹底的にやりづらくしてICTまわりで問題が発生しないようにしている教育委員会の連中に支払われている給料は何のためなの、とか考え始める子供が出現するリスクが増大するのです。大丈夫でしょうか。
 
おわりに
 
本稿で述べたように、プログラミング教育は単なるコーディングの早期学習ではありません。あたかも英語学習やお受験対策パッケージの亜種のようにしてそれを売っている企業もありますが、それらが暗黙の前提としていた、中学高校大学受験と入社試験による人材セレクションの先にあるホワイト高賃金大企業のメンバーシップ獲得というようなライフコースとは、実は根本的に別の方向を向いている、よりオープンでフラットな集合知の世界に子供たちを向かわせる契機を内包しているものだと私は推測しています。
 
深入りすればするほどに、これまでの日本社会のスタンダードと乖離していかざるを得ない新世界を生み出すパンドラボックスです。プログラミング教育は。
 
慎重な対応が求められると思います。