フォト
無料ブログはココログ

Yoshiのよしなしごと

「よしなしごと」は、「Yoshiのよしなしごと 」にあります。

新着 GIGAスクール構想とデジタル庁 (2020/12/01)

   やりがいは自己満足 (2020/11/23)

   一生使える技術? <惑わされないように> (2020/11/17)

   なぜ日本の教育は、諸外国と違いオンラインの波に乗れなかったのか (2020/10/17)

   効率のいい学習方法を身につけるためのスキル (2020/10/11)

Yoshiのよしなしごと】【Yoshiのブログ

 

2020年11月18日 (水)

micro:bitで跳び上がると表示する名札 <ウケ狙い>

 micro:bitで加速度センサーを使ってみた。
加速度センサーのY軸の値を監視して、一定値より小さくなったら表示が始まる。micro:bitを身に着けていると、飛び上がると表示が始まる。

Jumptostart

電池ホルダーを胸ポケットに入れてmicro:bitを外に出すと跳び上がると表示する名札になる。

ダウンロード - makecode.microbit.org.lnk

micro:bitを初めて触る子どもたちにmicro:bitはどのようなもので何ができるのか説明するよりサンプルを見せたほうがイメージしやすい。

けっこうウケたので、ちょっと嬉しい。v(^^

ところで、

子どもたちにmicrobitを教えるときには、

  • ChromeでMakeCodeエディタを開くリンクを用意しておく
    IEが規定のブラウザに設定されていると、MakeCodeエディタのページを開くのに一手間二手間が必要。
    (makecode.microbit.org.lnk)

     
  • デバイス接続して直接書き込む方法を教える
    ダウンロードの設定でダウンロードフォルダが指定されている場合、ファームウェアを書き込むときに、ダウンロードフォルダからMICROBITドライブにコピー(D&D)が必要となり、パソコンの操作に慣れていないと結構手間がかかる。
      
  • ファームウェアが古くてデバイス接続できない場合は、Chromeのダウンロードの設定を変える
    chromeの詳細設定でダウンロードの前に保存場所を確認する設定にすると、ダウンロード時に保存場所を聞いてくるので、MICROBITドライブを選ぶと、プログラムが書き込まれる。
    Chromeの設定(右上の縦に3つ並んだ●)→設定→詳細設定(左下の▼)→ダウンロード→「ダウンロード前に各ファイルの保存場所を確認する」をON


最近の投稿】【最近のCPUボード】【最近のプログラミング】【2017の投稿】【2016の投稿】【2015の投稿

2020年11月15日 (日)

テキストプログラミング <大人の先入観で決めてはならない>

「テキストプログラミングは小学生には難しいは大人の思い込み」松田孝氏 ReseMom.biz (2020/10/29)

★重要なことは、大人の先入観で決めてはならないということ。誰にとっても、ビジュアルプログラミングよりテキストプログラミングが良いわけではない。

松田孝氏は、

 大人は、テキストプログラミングは小学生には難しいと考えがちだ。しかし、松田氏はこれは大人の思い込みだという。松田氏の経験から、子どもたちは「テキストプログラミングはかっこいい」といい、ビジュアルとテキストを選ばせると「テキストをやりたい」という子どもが多いのだという。「子どもたちは、実はゲームを通してキーボード操作に慣れている。文字の入力に慣れていないのは、トレーニングしていないから。最初はキーボード入力できなくても、子ども同士の学び合いで身に付けていくのです。もうひとつ、3年生からはローマ字を習い、英語活動が始まります」と説明し、「そういう意味からも、テキストプログラミングはこれからの時代にマッチしていると思います」とする。

とおっしゃる。そのとおりだと思う。昔のマイコン少年はテキストプログラミングしか選択肢がなかったが、ちゃんとプログラミングしていた。

 Scratchなどビジュアルプログラミング言語でプログラムを書くときに、ちょっと凝った構造にすると構造がわかりにくくなる。

 例えば、↓はネコが矢印キーで動く方向を変えるプログラムだ。がデフォルトの大きさの場合は下が切れるのでスクロールしなければ全体が見えない。

Blockeditor1

全体が見えるまで縮小する機能(マイナスの虫眼鏡)はある。しかし、当然小さくなる。

Blockeditor2

これより複雑な構造をプログラムを書いているのを見ると感心する。「うまく動かないんです」と相談を受けたときに、肩越しに画面を見ただけで構造を理解するのは大変だったりする。

 Scratchで書いた立派なゲームが公開されているが、コードを見るとすごく不雑で構造が分かりにくい。自分がこの量のコードを書くなら、とてもブロックエディタでは書く気になれない。

 昔のエディタは25行とか40行だった。関数や手続きなど一まとまりの処理は1画面に収まるように書けと言われていた。条件分岐や繰返しなどの構造が画面跨ぎになってスクロールしなければ処理の全体が見えないコードは格段にバグが増える。

 そう考えると、ビジュアルプログラミングでブロックエディタを使う場合は簡単なサンプルくらいのシンプルなプログラムを書くくらいがちょうど良くて、プログラミングに興味を持った人には、テキストプログラミングを教えた方が良いと思う。

★重要なのは、ビジュアルプログラミングよりテキストプログラミングが良いわけではないということ。

 人それぞれに向いたプログラミング環境があるのだ。さらに、プログラミングより、絵と絵を動かすことに興味がある子には、複雑なコードを書いていてもScratchが良いのだ。 大人の先入観で決めてはならないのだと思う。


最近の投稿】【プログラミング】【2019の投稿】【2018の投稿】【2017の投稿】【2016の投稿】【2015の投稿

2020年10月27日 (火)

Scratchの疑問

 Scratchのサンプルをみていると、疑問に感じることがある。

疑問1:「ずっと」ブロック

 とりあえず「ずっと」ブロックを使ってその中で処理を行っているサンプルをよく見かける。疑問は、なぜ、ずっとブロックの中で終わるのか? である。
例えば↓のようなサンプルだ。

Forever

このプログラムの意図は「スプライトが端に触れたら止まる」であろう。そうであれば、繰り返し処理は「ずっと」ではなく「<>まで繰り返す」が適当だろう。

While

そういえば、「ずっと」繰り返すの意味や、「ずっと」と「<>まで繰り返す」の違いを説明しない。

Forevervsuntil

「ずっと」ブロックの意味を説明しないから、学習者がサンプルを改造するときに、よく間違う。学習者に子供が多いからといってもちゃんと説明すべきだと思う。

 NHK for Schoolの「Whyプログラミング」では、スクラッチを始めよう。(04:54あたり)で「ずっと」ブロックを説明している。

疑問2:イベントドリブン

 Scratchはイベントドリブンで書けるようになっている。
ところが、↓のようなサンプルを見かける。

Forever2

「ずっと」ブロックの中で押されている↑↓→キーで条件分岐している例だ。
どうしても条件分岐を使いたいなら、わからなくもないが、キー押下はイベントが用意されているので↓のように書くとスッキリする。

Evantdriven


Scratchの「全てを止める」ブロックは、イベントの発生まで止めないので、↑の例では、スプライトが端に触れると移動は止まるが、↑↓→キーで向きは変わる。ちょっとハマってしまった。


最近の投稿
最近の投稿】【プログラミング】【2019の投稿】【2018の投稿】【2017の投稿】【2016の投稿】【2015の投稿

2020年10月25日 (日)

スマホのカメラ機能 <カメラか?メモか?>

20代女性巡査、私有スマホで県警内部書類撮影…同僚にライン送信 読売新聞オンライン (2020/10/20)

★ルールが時代の感覚から乖離している。

 20代にとってスマホのカメラ機能の認識は、カメラではなくメモかもしれない。

 フィルム・カメラを使っていた人にとって、カメラは映像を記録する機器だったから、スマホのカメラ機能はカメラだと認識している。撮影した画像は記録され未来まで残ることが前提だ。

 ところが、フィルム・カメラを使ったことがない人、ひょっとするデジカメも使ったことがない人にとって、スマホのカメラ機能はメモという認識だろう。 気になったシーンを一時記録するためのものだ。インスタにアップするまでとか、黒板に板書された内容を覚えるまでとか、一時的に記録しておくものだろう。

 冒頭のニュースでは、おそらく、運用ルールを作ったのはフィルム・カメラ世代の人で、処分を受けた人は、スマホ世代ではないだろうか。そうであれば、処分するだけでは根本的な解決にならないだろう。

 ルールが時代の感覚から乖離しているのである。

 外部に持ち出してはならない情報がある部屋にはスマホを持ち込めないルールにすればよい。(そのような運用をしている職場はある)
ところが、そのような運用ができない職場は多いのではないだろうか。それが、セキュリティ・ホールだ。

 セキュリティ・ホールを塞がないでルールで縛るには限度がある。セキュリティは「仕掛けと躾け」の両方の対策が必要だから、躾けだけで対応しようとするのは無理がある。

 まず、フィルム・カメラを使っていた世代の意識を変えることが必要だろう。


最近の投稿】【2019の投稿】【2018の投稿】【2017の投稿】【2016の投稿】【2015の投稿

2020年10月14日 (水)

ルビィのぼうけん

ルビィのぼうけん リンダ・リウカス作 鳥居雪訳

Photo_20201010213401

 この絵本は、新しいことを覚えるのが好きな女の子、ルビィ(Ruby)、変わり者と呼ばれているペンギンたち、孤独が好きな雪豹(Snow Reopard)、ときどきオジャマ虫を育てている狐、カップケーキを作っているロボット、ニシキヘビがペットのジャンゴが登場する。

 IT業界にいる人は思わずニヤリとしてしまう。 そうそう、仕事で旅行にでかけているルビィのお父さんの写真は、まつもとさんに似ている。 もし、主人公がパールちゃんだったら、おばさんだから、物語が変わってしまう。

 この絵本は、リンダ・リウカス氏は子どもたちが「プログラマー的思考」ができるようになるために書いたようだけど、文科省がはじめた「プログラミング教育」の「プログラミング的思考」で参考にされているようだ。

 この本の「プログラマー的思考」にある要素のうち、「プログラミング的思考」で扱いにくい要素があるようだ。
「データ構造」「抽象化」「関数(一般化)」「デバッグ」が扱いにくく、「シーケンス」「小さく分ける(分解)」「ループ(繰り返し)」「アルゴリズム」は扱いやすいようだ。

 大人向けの部分に書いてある、「れんしゅう1」から「れんしゅう22」までのすべての要素を継続的に教えると「プログラマー的思考」ができるようになるのだけど、一部それも単発では「プログラマー的思考」は無理だと思ってしまう。

閑話休題

 大人向けの解説に↓こんなのがある。

Algorisms

 最近モヤモヤしていたことだ。

 プログラミング教育でよく使われる、code.orgの古典的な迷路(angry birds)アルゴロジックはアルゴリズムを題材にしたものだ。 これらサイトでは正解すると少ないステップ数があることが示される。

 それはそれで良いのだけれど...少ないステップ数のアルゴリズムの方が良いアルゴリズムと教える人がいる。

2s

↑これより、↓これの方が良いのだと。

1s

「ルビィのぼうけん」の解説にあるように

異なったアル ゴリズムは、それぞれの用途によって使い分けるものです。

なのだ。

 一般的には、簡潔なアルゴリズムの方が最適であることは多い。しかし、プログラムを高速化するときに、ループを展開して順次処理にするのは常道だから、簡潔なアルゴリズムがいつも最適とは限らない。

 状況や場面によって最適のアルゴリズムは異なるから、状況や場面に合わせて選択しなければならない。 だから、複数のアルゴリズムを考えられる、頭の柔らかさ、発想の柔軟さがとても×2重要だ。

 教える人は、迷路の問題のアルゴリズムを教えるときに、「最小ステップが最適だ。」ではなく、「少ないステップにするにはどうしたらよいか?」という問いかけが必要なのだと思う。


最近の投稿
最近の投稿】【最近の書籍・雑誌】【プログラミング】【2019の投稿】【2018の投稿】【2017の投稿】【2016の投稿】【2015の投稿

2020年10月 2日 (金)

「技術の調べ方について」の質問

twitterで↓こんな投稿を見つけた

 「分からないことがあったら何でも聞いてね」と言われて本当に聞いたら、キレられるのはよくあることだけど、投稿した新人君には大きな誤解があると思う。

誤解1:知っていることは教えられる。

 知っているのと教えられるのは全く別の能力なので、自分が分からないことを先輩や上司が解るように教えてくれるのを期待しないほうが良い。

 「分からないことがあったら聞いてね」と言う人は、自分が知っていることを教えられると勘違いしている人だ。いざ質問すると教えてくれないのは、意地悪しているのではなく、教える能力が無いだけだ。教師ではないのだから期待してはいけない。

誤解2:説明してくれたらなんでも理解できる。

 訊ねた側と訊ねられた側の知識レベルの差が大きければ大きいほど、教えるのが難しくなる。
必要な前提知識が無かったら、理解させるのはまず無理だ。前提知識から教えようとすると膨大な説明が必要となる。
そこで、ストレートに「ぐぐれ」と言うか、わからないだろうと思いながら、レベルを下げないで説明するか、参考資料を紹介するかだろう。

 気をつけなければならないのは、分かった気にさせてくれる人だ。分かった気になっているだけで、理解しているわけではない。体よく誤魔化されただけだ。理解していないのに分かった気になるので、理解が遅れる。

誤解3:いきなり一般解を得ることができる。

 個別の技術ではなくて「技術の調べ方について」質問するのは、目の付け所が良い。しかし、ベテランでも「技術の調べ方」を他人に教えられるほど一般化できている人は少ない。

 多くの技術者は、特殊解を積み重ねて一般解にたどり着くことが多いようだ。一般解を求めるなら、一般解にたどり着いていて、それを他人に教える技能を持っている人を探すか、特殊解を教えてもらって自分で一般化する必要がある。

誤解4:質問された側は親切に回答する義務がある。

 質問のしかたが悪いと言われるのは、相手が答えられない質問をしているからだろう。
多くの先輩や上司は何でも知っているわけではないから、答えられない質問はある。素直に「知らない」と言えばよいのだが、技術者にとって「知らない」は、とても×2、言いにくい。いきおい、質問が悪いと言ってしまう。

まとめ

  • 知っていることと教えられることは別の能力なので、知っていても教えられないことは多い。
  • レベルが違いすぎると、質問に対する回答が膨大になるので、答える気力が失せる。
  • 「技術の調べ方」のような汎用的な質問に対する回答を持っている人は少ない。
  • 人は答えられない質問を受けると、質問した相手を責める。そういうものだ。

だから

  • 回答は不完全と思うこと。
  • 不完全な回答から学ぶ方法を身につけること。
  • 自分で自分の能力を向上させる方法から始める。

かな。

###

 技術系の会社に就職するとエンジニアになれるわけではなくて、技術を身に付けて初めてエンジニアと名乗れるのだと思う。だから、新人君は「エンジニア見習い」くらいかな。


最近の投稿】【2019の投稿】【2018の投稿】【2017の投稿】【2016の投稿】【2015の投稿

2020年9月27日 (日)

面白いことは上司に黙ってやれ

面白いことは上司に黙ってやれ 日本発の新ビジネスを生み出すには? 春日知昭 光文社

Photo_20200920211001

 タイトルの「面白いことは上司に黙ってやれ」についてはあまり書いてない。

 春日知昭氏は、どこかの企業に所属していたとしても、それはその人の一つの武器にすぎなくて、大事なのは「自分株式会社」とおっしゃる。 転職するとよく分かる、退職するとそれまで持っていた武器はなくなるけれど、どこに行ってもついてくるものそれが「自分株式会社」だだろう。

閑話休題

 春日知昭氏は、

僕は、木も見れて森も見れる人になりたかったし、そういう上司が欲しかったのだ。ソニーのファウンダーの人たちは両方できていたのではないだろうか。でも、組織的な二世、三世の人たちからはそれを感じなかった。木も見れて森も見れる人を上司にしたいと思って探し続けたのだけれど、結局最後まで見つけられなかった。

とおっしゃる。

 春日知昭氏が言うように、「木も見れて森も見れる人」は少ない。先天的に「木も森も見れる人」はいないのではないかと思う。何も考えなければ、木か森か興味がある方を見てしまうのではないだろうか。だから「木も森も見れる人」になるには自ら努力してあえて興味がない方にも目を向けなければならない。

 もっと簡単な方法は、信用できる人に任せる方法だ。
木も森も細部まで見ることは難しい。SONYの創業者井深大氏も盛田昭夫氏も細部まで見ようとせず、細部まで見える人を見出すことができたのではないだろうか。

「木も見れて森も見れる人」は少ないし、目指したら必ずなれるものでもないだろう。
SONYの組織的な二世に「木も見れて森も見れる人」がいなかったのは、「木も見れて森も見れる組織」にしようとしていたのではないだろうか。

 そして、いつの間にか「木も見れて森も見れる組織」を維持することができなくなるのは、世の常だ。


最近の投稿】【最近の書籍・雑誌】【2019の投稿】【2018の投稿】【2017の投稿】【2016の投稿】【2015の投稿

2020年9月20日 (日)

教育総合展 2020 <コロナの影響で出展が少ない>

EDIX2020に行ってきた。 今年の開催はコロナの影響で9月になり、会場は幕張メッセになった。

キーワードは「学びを止めない」とGIGAスクール構想だ。展示会はその業界で金が回っているかが分かるのだが、今回はコロナの影響で出展も来場者も少なかった。Microsoftもgoogleも出てないNEC、Fujitsu、NTTも出てないのでちょっとさみしい。

◯プログラミング・ロボット

学習用のロボット玩具はたくさんある。孫に買うとジイさんが喜んで遊びそうだ。
・alilo

Alilo
・matatalab

 並べた命令を画像認識してbluetoothでロボットに送るのだそうだ。

Kumon

◯Rppot
自動のランドセルの肩紐に取り付けて、予め登録した交差点に差し掛かったり、後ろから車が近づいたときに、肩をトントンしてくれるロボット。ホンダが作ってる。

Ropot

Ropot1

◯スマイルゲーム
キャリア教育用会社経営体験ゲーム。ボードゲームで経営が学べる。赤プレーヤーは一次産業、青プレーヤーは二次産業、黃プレーヤーは三次産業。

Photo_20200919234401

◯akerun
後付けの電気錠、クラウドで入退室管理できる。 電気錠は1次電池で動作し、ICカードの読み取り部からbluetoothで制御するから停電でも使える。管理データはクライドにある。

Cloud


最近の投稿】【最近の展示会 】【2019の投稿】【2018の投稿】【2017の投稿】【2016の投稿】【2015の投稿

2020年9月15日 (火)

micro:bit <BLEが乗った低価格マイコンボード>

ずいぶん前に買ったmicro:bitを出してきた。

Microbit_set

micro:bitは英BBCが作った教育用マイコンボードで、英国では2015年に11歳と12歳の小学生全員に無料で配布したらしい。

マイコンボードとしては、(https://tech.microbit.org/hardware/)

  • CPU:nRF51822 Cortex-M0 ROM:256kB RAM:16kB Clock:16MHz Bluetooth4.1内蔵
  • DAPLink:MKL26Z128VFM4 Cortex-M0+
  • IO:5x5LED, SWx2, SPI, I2C, GPIOx18(LED,SW,SPI,I2C排他使用)
  • Sensor: 3軸加速度センサー、地磁気センサー、温度センサー(on chip), 明るさセンサー(LED使用?)

マイコンボードとして見ると盛りだくさんで、¥2,000はお買い得かもしれない。


Microbit_rea


Microbit_front

プログラミング環境はOnlineで提供されている。(https://makecode.microbit.org/)
教育向けを謳っているだけあって、ブロック型ビジュアル・プログラミング環境が公開されている。
困らないくらいブロックは揃っているが、文字でプログラミングしたいと言う人向けにjavascriptでもプログラムが書ける。

micro:bitの最初のプログラムは、Lチカでなくハートマークを点滅させるらしい。

Microbitidem

これくらいなら、ブロックエディタで書けるけど、ちょっと大きくなるとブロックエディタでは見通しが悪くなる。

ダウンロードのリンクをクリックすると、HEXファイルがダウンロードされる。micro:bitにはDAPLinkが乗っているので、ダウンロードされたHEXファイルを"MICROBIT"という名前のドライブにコピーすることで、micro:bitに書きまれる。

左にシミュレータがあるので、micro:bitを書き換える前に動作を見ることができる。

ところで、このIDEはHEXファイルを読み込むと、プログラムを編集することができる。HEXファイルはバイナリデータなのになぜプログラムを復元することができるのか不思議だ。 HEXファイルの中にプログラムが書いてあるのかと思い覗いてみたが見当たらない。

調べてみると、micro:bitはMicroPythonで動いていて、IDEでダウンロードされるHEXファイルには、MicroPythonインタプリタのバイナリとMicroPythonのスクリプト(中間言語?)が入っているらしい。IDEはHEXファイルを読んでMicroPythonのスクリプト部分を読み出しているようだ。

関数も使えて、再帰呼び出しもできるようなので、5Queenをやってみた。深くなるとスタックが足りなくなるようだ。

blutooth LEがオンチップで乗っているので、micro:bitのセンサーの値をスマホやPCに送って処理させたり、スマホやPCからmicro:bitを制御したり、micro:bit同士でメッセージが送受信できる。


最近の投稿】【最近のCPUボード】【最近のプログラミング】【2017の投稿】【2016の投稿】【2015の投稿

«サラリーマン絶滅世界を君たちはどう生きるか?

2020年12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

最近のトラックバック