子供にプログラミングを教える方法

子供の為の最高のプログラミング教育を見つけていきます

クーリエ・ジャポン2021年12月号で気づいた「女性のプログラマー」が育たないわけ

f:id:teramethod:20211117235108j:plain

 

色々考えさせられることになった、

COURRiER Japon (クーリエジャポン)[電子書籍パッケージ版] 2021年 12月号 [雑誌]

をご紹介します。

 

「エンジニア不足の日本は、女性に活躍の場を作ることができるか?」

 

という特集です。

 

小学生からプログラミングに興味を持ってもらいたい、と思っていたのですが、むしろ女の子「にも」興味を持ってもらえないか、そう考えてました。

 

しかし、今回の記事を見て、その考えを改めなければならないと思いました。

 

なぜか。

 

まずはこれです。

 

つまり高校で理系か文系かの決定を迫られる時期になると、女子の数学や理科に対する興味や自信が急速に失われることが、調査やデータで明らかになっている。

せっかく小学生時代にプログラミングに興味を持てたとしても、女性は、高校の段階で、学校や社会の構造的に「理系ではない分野へ」の大きな流れに巻き込まれます。

 

私は男性なのですが、女性なら、よっぽど理系に特別な理由がなければ、文系に行くと思います。

 

だって、、、

 

・友達が文系に行くから

・理系ってなんか冷たそう

・男の子が多く行くところでしょ

・数学とか理科って国語や社会と比べて堅苦しそう

・先生が男ばかり

・理系ってなんかかわいくない

 

理系を選択する理由がない、、、

 

特に最後の理由などは、もう感覚論。

 

でも、文系であれば楽しい物語、社会では魅力的な歴史上の人物や、海外の偉人などを知ることができて、理系に比べれば、「かわいい」のかも。

 

この流れはそんな簡単には変えられそうもないと感じました。

 

そもそも、日本では、男女平等の概念がなく、福沢諭吉

 

「なぜ男女は平等なのか」

 

を知らせるために、「日本男子論」の中でこう伝えていました。

 

「男女同数論」(世の中に男女は同じ数だけ生まれる)

 

何を当たり前のこと、、、

 

しかし、当時の状況では、「ここから説明しないと皆はわからない」と福沢諭吉は判断して、そこから少しずつ日本は変わっていきました。

 

でも、まだ道半ばです。

 

今でこそ、「イクメン」「女子力の高い男性」など、女性が行ってきた行動の価値を男性が認め、行動している考え方もありますが、特定の年代、状況に絞ったもので、依然として、その状況以外では、男女差別は存在します。

 

また、航空宇宙エンジニアの伊藤美紀氏の言葉も印象に残ります。

「悪者の戦うとき、男の子はロボットを使いますが、女の子は魔法を使います。なぜその逆をあまり見かけないのか、不思議に思っていました」

 

イメージとして、

・男性(ロボット→機械工学→理論) 

・女性(魔法→論理では説明できない力→感覚・感情)

という構造が出来上がってしまっているのかもしれません。

 

斎藤明日美氏と田中沙弥果氏の運営する「ワッフル」という非営利団体も紹介されており、女子向けのプログラミング学習により、女性はプログラミングできない、というイメージを払拭しようとしています。

 

このような取り組みがもっと増えれば、女性の社会的地位の向上にもなり、遅れている日本の男女平等化も進んでいきますね。

 

世界の中で日本はどうなっているのか。

内閣府の内部部局の一つ、男女共同参画局のサイトに、世界経済フォーラムが公開する「ジェンダー・ギャップ指数2021」が載っていました。

 

www.gender.go.jp

 

アイスランドが1位で日本が、、、120位。。。

 

低くなった大きな原因は、「経済」及び「政治」ということですが、これはひどい

 

各国がジェンダーギャップに取り組む中、日本が後れを取っている、ということで、子供向けプログラミング教育も重要ですが、ジェンダーギャップも踏まえて動かないと、女性のプログラマーは増えていかないと思われました。

 

回り道になるかもしれませんが、子供向けプログラミング教育のため、今後は、ジェンダーギャップに取り組む1位、アイスランドについても調べていきたいと思います。

いかに情報を「かっこよく」表現するか

f:id:teramethod:20211110000830j:plain

子供にプログラミングのことばかり教えることを考えていて、視野が狭くなっているような気がしたので

すこし趣向を変えて考えてみたいと思います。


情報をわかりやすく伝えること」について

システム開発をしていると、お客さんと、現状や今後修正する機能について説明する機会が出てきます。

そこで準備が足りないと、図がない文字だけの資料を作ったり、

話す内容も細部から入ってしまって、結局なにが言いたかったのかわからない、みたいなことが起こります。


相手の立場に立って、丁度いい粒度の情報に整えると、相手もすんなり理解してくれます。

プログラムを勉強する小学生のみんなにも、いずれはできるようになってもらいたいことなのですが

いきなり言ってもできるものではありません。(大人でも難しいです)


しかし、「相手にわかりやすく伝える」ということは、どの年代でも役に立つスキルで、

もちろんプログラム設計・実装でも大いに役立ちます。

わかりやすい説明ができることで定評のある池上彰さんは、数々の執筆された本の中で

「小学生にわかってもらうためにはどうすればいいか」と考えることで、わかりやすい説明ができるようになった、

とおっしゃっています。

わかりやすく〈伝える〉技術 (講談社現代新書)


この方法で、小学生の我が子に、難しい言葉や概念が出てきたとき

「それって幼稚園生にわかるように説明するとどうなるかな」

と何度か質問してみたのですが、なかなか難しそうな様子。

そもそも幼稚園生がどのような考えなのか、相手の立場に立つ、ということ自体が難しいかもしれません。

そこで考えたのが

情報を「かっこよく」表現するにはどうすればいいか

です。

子供心にも「かっこいい」という感覚は、個人差はあれどみんな持っていると思います。
(女の子には興味がない概念かも、、、「かわいく」でもいいかもしれません)

仕事柄、サーバの構成図を書くことも多く、パワーポイントやdraw.ioなどのツールで書くことはあるのですが
どうもしっくりきませんでした。

そこで、最近見つけたサービスがこちら
www.ilograph.com


AWSという、Amazonが展開するクラウドサービスのシステム構成を「かっこよく」表現できるサービスなのですが、

ちょっと触るだけならユーザ登録不要です。

トップ画面にアクセスして「View a sample diagram」ボタンを押すと、

以下のような画面がでてくるので、画面右下にある「Request」や「Get Diagram」タブを押してもらうと

画面中央にある四角の領域が「すいー」と移動します。

かっこいい、、、

きもちいい。。。

選択したタブの記載内容に準じたサーバ構成や各サーバとの関係に早変わりです。

(これはほかにも使えそう・・・)

そんなことをもやもや考えて、自分でも作ってみました。

理科でよくある、脊椎動物の分類 です。

脊椎動物は大きく分けで5種類ですが、見方によって分類の仕方が変わります。

「生活の場所」や「子供の生み方」「呼吸」による分け方
f:id:teramethod:20211110001358g:plain


「呼吸」の中で、エラ呼吸と肺呼吸に紐づく脊椎動物の表示
f:id:teramethod:20211110001458g:plain

サクサク動きます。

トップページの「Create a new diagram」をクリックして
出てきた開発画面の左にあるテキストをすべて消して、文末のテキストをコピペしてください。
エラーが出ても、画面下のタブをタップすると同じように動くと思います。

※ユーザ登録しないと作ったファイルが保存できないのですが
あまり周りで使っている人もいないことから
ユーザ登録される際は自己責任でお願いします。

階層が深い情報や、構成が複雑なものほど、これでまとめるとかっこよくまとめられそうな気持にしてくれました。

小学生のみんなには、プログラミングも勉強してもらいたいですが、
「情報をいかにうまくまとめるか」についても面白味を感じてもらいたい、
そうなれるようなネタをこれからも見つけていきたいと思います。

resources:
- name: 脊椎動物
  icon: AWS/_General/Users.svg
  
- name: My Environment
  subtitle: Environment 
  color: navy
  children:
  - name: 水中

  - name: 水中・地上

  - name: 地上

  - name: 卵生(殻あり)

  - name: 卵生(殻なし)

  - name: 胎生

  - name: エラ

  - name: エラ・肺・皮膚

  - name:- name: 魚類
    icon: AWS/_General/Users.svg

  - name: 両性類
    icon: AWS/_General/Users.svg

  - name: 爬虫類
    icon: AWS/_General/Users.svg

  - name: 鳥類
    icon: AWS/_General/Users.svg

  - name: 哺乳類
    icon: AWS/_General/Users.svg
    
perspectives:
- name: 生活の場所
  relations:
  - from: 脊椎動物
    to: 水中, 水中・地上, 地上

  - from: 水中
    to: 魚類

  - from: 水中・地上
    to: 両性類

  - from: 地上
    to: 爬虫類, 鳥類, 哺乳類


- name: 子供の生み方
  relations:
  - from: 脊椎動物
    to: 卵生(殻なし),卵生(殻あり) ,  

  - from: 卵生(殻なし)
    to: 魚類, 両性類

  - from: 卵生(殻あり)
    to: 爬虫類, 鳥類
    
  - from: 胎生
    to: 哺乳類
    
- name: 呼吸
  relations:
  - from: 脊椎動物
    to: エラ

  - from: 脊椎動物
    to: エラ・肺・皮膚
    
  - from: 脊椎動物
    to:- from: エラ
    to: 魚類

  - from: エラ・肺・皮膚
    to: 両性類

  - from:to: 爬虫類,鳥類,哺乳類


所さんに学ぶ、人生の楽しみ方

 

 

最近所さんが気になってたら、Daytonaが図書館であったので、見てみたら面白かったのでご紹介したいです。

 

 

 

この中の「トコロ辞典」が好きで毎回見てるのですが、今回のキーワードは「着地点」

 

東大生が難しい問題を解くみたいなクイズが流行ってるじゃん。正解があるものがたくさん入っていますよっていうことを競って何が面白いの?本やネットを見れば分かることなのにさ。

所さんもそのクイズ番組のオファーくる可能性あるのに仕事が減ることも厭わず言う!

 

正解なんてものは、そもそもどうでもいいんだよ。考えなくてはいけないのは、自分は正解を知らなくても、それに近い「着地点」に行ける力があるか?って事。

自分の力で考えて、自分なりの「答え」を出すことが重要だと考えられているんですね。プログラミングも、問題解決には様々な実現方法があるので、自力でいかに答えを出すかが重要です。

 

最近の番組の企画でもさ、最近の流行りとか、なんとかの製品が凄いとか紹介されるのが多いじゃない、でも、だから何?って感じなんだよね。出る側の意見としては、そういう企画なら、誰がやってもそれなりの番組になるよねと。ワタシなら、もう随分時代遅れで、今どきそれ取り上げる?って言うぐらい地味な企画のほうが、自分の力で絶対面白くしましょうと張り切っちゃうし、面白くできる自信がある。

所さんレベルになると「着地点」が見えない状況のほうが、燃えるみたいですね。(私自身流行を意識することがありちょっと反省、、、)

 

会社ってたいへんだな、週末の休みだけが楽しみ!学校つまらないなあ、夏休みが楽しみ!っていう人が多いでしょう。いや、そうじゃなくて毎日の暮らしを楽しくしようよ。そうすれば、週末や夏休みがより楽しくなるじゃん。そんなこと言ったって無理ですよ、というアナタ。何もしないでそういうこと言うんじゃないの。前も行ったけど、会社に行くときに、靴を左右逆に履いて行ってみなさいよ。楽しいから。なるべく同僚にバレないように、やたら足組んで座ってみりたりとか。

私の所さんのイメージだと、車やバイク、フィギュア、ガンマニアだったのですが、それ以外も楽しんでいらっしゃるようです。靴を逆に履いて私は楽しめるかな、、、

 

その日を楽しみに毎日会社に行けるってもんだよ。そういう楽しみを100個とか考えるだけでも楽しいでしょ。

やっとわかった気がしました。

所さんは、毎日楽しくなるように、様々なネタ、準備をされているんですね。 

・これ、誰かが気付いてくれたら面白そう

・こんな状況になったらこれ出してみよう

 

こんなこと考えていれば、毎日たのしくなっていきそうですね。

 

人生の楽しみ方を学べました。

また、子供向けのプログラミング教育も、「楽しさ」が重要だと改めて考えさせられました。

数学的な、アルゴリズム的な面白さは伝えられると思うのですが「靴を逆に履く」的な面白さをプログラミング教育にも取り得れられないか、新しい着眼点が得られた気がします。

 

では、私も、「着地点」を探しながら、子供向けのプログラミング教育をよりよくしていきたいと思います。

 

 

私がプログラミングにハマる10の理由

はてなブログ10周年特別お題「私が◯◯にハマる10の理由

ブログタイトルからして「プログラミング」にハマる理由を書かないわけにはいかない!

1.環境構築でハマる(プログラムしたいのにエラーで動かない)

2.エラーでハマる(英語で言われてもよくわからん)

3.バグでハマる(原因不明のバグ調査であっという間に数時間が!)

・・・あれ。
・・・そうじゃない。

楽しくて「ハマる」ものを書くんですねっ。

1.勉強すればするほど楽ができる(逆に言うと勉強しないときついことこの上なし)

2.現代の魔法使い気分が味わえる(写真で猫判別とか、昔から見たら魔法でしょう)

3.教えるとき「人の役に立ててるな」と思える(教えられるよう勉強しないとっ)

4.自分の好きなものが作れる(ゲームとかアプリとか)

5.コナン気分が味わえる(障害調査なんて探偵気分!急がないといけないときは大変ですが、、、)

6.億万長者になれる可能性がちょっとある(グーグルとかフェイスブックの経営者もプログラマー

7.自分をサポートさせることができる(孫正義も「アイデア発想アプリ」を自分で作って特許とって1億円)

8.遊ぶことができる(これとかで中学入試問題を解いてる時がなぜか楽しかった)

9.場所をとらない趣味(場所があれば、所さんの世田谷ベースみたいにいろいろ置きたいですが無理っ)

10.すぐできる(設計や不具合調査は頭の中でもできちゃう)

さすがに8個目から出しずらかった。
大体3.と8.が大きな理由かな。
出してみると、ブレインストーミングみたいで、いろんな発見ができて楽しかったです。

10の質問に答えてみる

はてなブログ10周年特別お題「はてなブロガーに10の質問

ブログ名もしくはハンドルネームの由来は?

うちの子にプログラミングについて興味を持ってもらいたくて

はてなブログを始めたきっかけは?

自分の考えをアウトプットすることで、何か変われないか、と思ったから。
変われたかな、、、

自分で書いたお気に入りの1記事はある?あるならどんな記事?

これかな、、、

ブログを書きたくなるのはどんなとき?

このままじゃだめだ!って思ったとき。

下書きに保存された記事は何記事? あるならどんなテーマの記事?

ほとんどプログラミングに関することでした。
「学校や塾の勉強を終わらせないとプログラミングできない」
っていうのもありました。我が子のプログラミング時間が取れない、、、

自分の記事を読み返すことはある?

時々。
かぶったネタを書いてしまっていないか確認するとき。
でも多少かぶっててもどんどん書いたほうが良いような。

好きなはてなブロガーは?

特定の人はいませんがいろいろ参考にさせてもらっています。

はてなブログに一言メッセージを伝えるなら?

ありがとう。

10年前は何してた?

トラブルプロジェクトで大変だったような。

この10年を一言でまとめると?

キツイ!

2021年11月号 ジュニアエラのプログラミング記事をきっかけに思ったこと

f:id:teramethod:20211024213243j:plain

 

最近我が子が塾の勉強に忙しく、なかなかプログラミングの話ができない今日この頃、我が子が愛読するジュニアエラ11月号を購入しました。

思いの外、良かったのでご紹介します。

 

 

「プログラミングのチカラ」という特集が組まれています。

「プログラミングが世の中の色々な所で使われている」系の話から始まり、『まあ、良くある記事かな』と流し読みしていましたが、今回のナビゲーターは清水亮先生!

これは期待できる! 

 

清水亮氏はこの記事でも、AIが作った芸術的な?画像を披露し、自身でもAIを開発・利用されていて、自分で作ったAIをつかい、最新の研究論文を収集してまとめたものをチェックして自分自身の調査、開発に利用するという、なんというAIを駆使した仕事っぷり!未来の仕事の進め方を垣間見た気がしました。

 

ネット上のいろいろ清水氏の記事を見ていき、個人的に面白いなと思った動画がこちら

 

Webサイトを作るAIのデモ - YouTube

 

AIにプログラミングコンテストのトップ画像のデザインをさせる、というシチュエーションですが、AIに注文する清水氏の依頼方法が、まあ雑!

「いい感じにして」

「もっと緊張感のあるやつ」

「クールに」

これくらいの依頼なら、現実世界でもありますね。

 

「クールに!」と清水氏がいったときの、AIの対応が、なんとも面白い。

まるで漫才のようだ、と笑ってしまいました。

 

でも、ちょっと待てよ。

 

せっかくAIが人間のいろいろな仕事をサポートしてくれるようになっても、依頼の仕方があいまいだったり、完成までAIにいろいろ修正させても途中で修正をあきらめると、できるアウトプットの質も人それぞれになるな、と思いました。

 

これから確実にAIが我々人間の生活に「サポート」として入ってくる世の中です。

 

子供達には、プログラミングももちろん勉強してほしいですが、

AIを使っていかに良いアウトプットを出すか

という、今の大人たちが答えられない課題についても、立ち向かっていかないといけないのではないでしょうか。

 

良いアウトプットを出すには、完成形が見えていないといけません。

また、その完成形に近づくために、どのようなアプローチをAIに取らせるか、戦略も問われるかもしれません。

 

私が子供のころは、おそらくボトムアップ型の、1つずつ手順を踏んで、やっと解決・完成させるような学習が多かったような気がします。

 

完成させたものから、「どうやって完成形を作るのか」という逆プロセスの考え方が必要になってくるかも。

 

私たちの今までの学習内容を改めないといけないのでは、そんな考えまで思い浮かべてみました。

 

面白い気付きを得られたという意味でも、今月のジュニアエラはよかったです。

 

プログラミング以外にも、とても子供だけに見せるのにはもったいない内容ばかりなので、親子で一緒に見ていただくのがよいのではないかと思われました。

「考える力」をつけるには

f:id:teramethod:20210811002330p:plain


夏休みにはいり、我が子は塾の宿題で大変そうです。

問題を解くことを頑張っているのですが、考えることが少々面倒な様子。

時計の針1分は、角度でいうと何度?

という問いに

「6度!」

一応正解です。

「じゃあ、なんで6度なの?」

「・・・・」

どうやら答えだけ覚えてしまっている様子です。

もっと自分で考えて答えを出すことを頑張ってほしいとおもい、

色々本を探していたら以下を見つけました。

だいぶ前に出版されていたので、すでにご覧になっている方もいるかもしれませんが

私はまだ見ていなかった池上彰さんの本です。

池上氏はかなりの読書家なので、今までの経験から

「考える」ことについても相当苦労された方なので

参考になりそうです。

P15

そもそも「考える」とは、自分の中にある情報(インプット)をもとに、自分なりの結論(アウトプット)を導き出す作業です。質の高いアウトプットをするためには、まずインプットが不可欠なのです。


なるほど。

本や新聞など、多くのインプットがないと、良質なアウトプットもできない。

その点では、我が子は妻が図書館からいろいろ本を借りてきてくれていて

我が子も読んでいます。

このあたりの池上氏の指摘はとりあえずクリア・・・かな?

さらに池上氏は続けます。

P17

少しでも効率的に知識を身につける方法がないものか

(中略)

「知識が身についたな」と思えば、ぜひそれを誰かに伝えてみてください。実際に伝えてみようとすると、きっと思いのほかうまくいかないはずです。そこで「なぜだろう」と考える。必要だと思えば、さらに周辺情報を調べていく。多分これが重要なのです。

誰かに伝えることが重要なんですね。

我が子に、読んだ本について聞いてみましょう。

「面白かった?」

我が子「面白かった」

「どんなお話だったの」

我が子「ええと、、、わすれちゃった」

まあそうでしょうね。

文庫本や図鑑をみていたのですが、どんな話なのか説明するのは大人でもむずかしい時があるでしょう。

全体としてどんなストーリーだったのか、全体の把握と、

説明するときに、どういった言葉が適切かの語彙力も重要です。

本は1回読むとそれで満足してしまうことも多く、人に言うことはなかなかないので、

親から聞き出すようにすることで、子どもの成長を促せる気がします。


第1章では様々な手法が書かれています

・まずは「自分は何がわからないか」を知る
・言葉の「由来」を探る
・似た言葉の定義をはっきりさせる
・「そもそもなぜなのか」を考える
・全体像を把握するためのコツ
・それで得をするのはだれかを考えてみよう
・情報を流す側の動機を考える
・専門用語の「仕組み」を理解する

第2章では図解の大切さも説明されています。
大人になっても、ビジネスシーンで提案書や説明資料が文字ばかりのものをだされると
読む気がしませんよね。

もし、内容を「図解」できる人がいれば、その理解力・説明能力は
文字だけ説明する人に比べ、とても高く、説明を聞いていても安心するでしょう。

そういえば、我が子は算数の問題を図式化するのが苦手なように思えます。
このあたりもフォローしてあげたいところです。

システム開発でも、エンジニアがお客さんの言っていることを
図にまとめてあげることができることは
とても重要です。

お客さんはいつも忙しく、現状をまとめる時間がない人も多いです。
そこで、エンジニアとしては、以下の流れができれば理想です。

エンジニア
『お客様の現状はこうなっていますね。
それをこういう風に改善していきますね。』

図を添えて説明してあげます。


お客さん
『(そうか、そんな風になっていたんだ。知らなかった。。。)そうですね。お願いします!』


という感じなれば、お互い共通認識が取れ、仕事も問題なく進むでしょう。

問題があるとすれば、図に落とすまでが大変なことですね。

・お客さん自身が良く分かっていない場合もあるので、ヒアリングしたり想像力が必要
・抽象化して重要なものを抜き出す力が必要

私は今では普通にできますが、最初のころは苦労しました。
何度もやって、鍛えていくことで慣れていった気がします。


この本では、ほかにも様々なアプローチで「考える力」をつける方法をまとめられています。

読んだあと、すべてを実践するのは難しいので

できるところからやってみる、という使い方が良いでしょう。

とはいってもなかなか始められない人もいると思います。

池上氏は、考える力をつける方法だけでなく、こんな方法でやる気を出そうとしてくれています。

P261

いまの若い人は本を読まなくなっています。その結果、本を読んでいるだけで、ライバルに差をつけることができてしまう世の中になりました。楽なものだとは思いませんか。

半分羨望、半分失望のような表現ですね。

この本が出てから5年経っています。

そういえば、今の日本の学生の読書量はどうなっているのでしょう。

池上氏の憂慮は現時点でどうなっているのか。。。

確認しました。

f:id:teramethod:20210811234340g:plain

学校図書館協議会の以下URLより 
全国学校図書館協議会|調査・研究|「学校読書調査」の結果


小中学生の読書冊数が増えている、、、、

驚きでした。

高校生の冊数が横ばいなのが気がかりですが、少なくとも小中学生はヤル気が出てきています。

(逆に言えば、みんな読みだしているので、遅れないようにもっと読まないといけない)

ただ、コロナ過の影響で、調査負荷の観点から現時点では調査が中止されています。

www.kodomo.go.jp

恐らくコロナ過では、児童は自宅にいる時間が多くなるため、

 読む人はもっと読み、読まない人は読まなくなる

とさらに読む・読まないの差が大きくなると考えられます。

しかし、小学生のお子様を持つ親御様の中には、

コロナ過でより大変な生活になっている方もいらっしゃると思います。

そのなかで、子どもの「考える力」を付けようとするところまでは

なかなか気が回らない人も多いかと思われます。

そんな時は、まず図書館などを利用して子どもたちの「読書量」をまず増やすところから

始めるのが良いかと思われました。

また、お子様へは、単に「本を読め」ではなく、池上流にこう伝えたほうがいいですね。

「みんな本を読んでないから、読むだけでもほかの人より頭が良くなるよ!」