ホチキス先生の「プログラマーと呼ばれたい」

InfoPath & SQL Server !

Archive for 4月 2017

Yoshio Matsumoto called "hotikisu sensei" in America 2016 – Los Angeles, Las Vegas, Grand Canyon, Sedona, Death Valley and Red Rock Canyon – Day 7

leave a comment »

P1310085_mid_640_480

P1310158_mid_640_480

P1310177_mid_640_480

P1310237_mid_640_480

P1310240_mid_640_480

P1310253_mid_640_480

P1310530_mid_640_480

P1310531_mid_640_480

P1310566_mid_640_480

P1310626_mid_640_480

ESP8266 Wi-Fi SoC を搭載した nodeMCU には大きさ、形が異なるいくつかのタイプがある。一見同じもののように見える 2つのタイプを比べてみる。

leave a comment »

いわゆる nodeMCU と呼ばれるマイコンボードは、オンボードに ESP8266 の Wi-Fi モジュールを搭載しており、IoTデバイスとして安価で使いやすいものだ。IoT ではマイコンボードをネットワークにつなぐことに大きな意味があるのだが、他の多くの安価なマイコンボードではネットワーク関連のデバイスはオプションパーツ扱いになっていることが多い。パーツがオプションであるということは、自由度がある代わりに本体とパーツ、間のインタフェースと、トラブルシュートに要する項目が増える問題がある。その点、オンボードでネットワークモジュールを搭載しているマイコンボードでは、それらを考慮する必要がないので開発が楽だ。しかも nodeMCU は極めて安価である。

nodeMCU は日本の Amazon でも買うことができるが、大きさや形が異なるいくつかのタイプがある。このうち、よく似ていて一見すると同じもののように見える 2つのタイプを比べよう。

P1490289_edit_mid_640_480

こうして横に並べて比べると違いがわかるが、ネットで注文するときなどは、よく見ないと違いがわからない。まず全体の大きさが違うのだが、これらを別々のページで見たときには、大きさではわかりにくいだろう。そこで比べるには、搭載している部品の配置に注目するといい。わかりやすいのは USB コネクタの近くにある、おそらく USB シリアルインタフェースチップだと思われる黒い IC チップだ。写真の右側、「LoLin」と呼ばれる nodeMCU では横長のチップが搭載されているが、左側の「Amica」と呼ばれる nodeMCU では正方形の小さめのチップが搭載されている。あと違いが目に付くのは、左の「Amica」のきれいに整列したチップ抵抗だと思われる部品、あるいはチップコンデンサと思われるオレンジ色の大きめの部品あたりだろう。

P1490291_mid_640_480

裏から見れば違いはよくわかる。写真の右側には、おそらく雲をイメージしてデザインしたシンボルマークと「NODEMCU Amica」の名前がある。右側は「LoLin」と書かれている。

さて、この 2タイプの nodeMCU だが、プロトタイピングにおいて大きさの違いが使い勝手に影響するところは、一般的な長潟のブレッドボードを使うときに、大きい方の「LoLin」ではピンの穴を全部覆ってしまい、信号を取り出せなくなるところだ。これに対して小さい方の「Amica」では、かろうじて 1ラインは信号を取り出せるように残っている。

P1490294_edit_640_480

もし「LoLin」を長潟のブレッドボードで使いたいなら、2枚ならべて使うことになるだろう。

P1490295_edit_640_480

P1490291_mid_640_480

C# – 教科「情報」の授業で使うタイピングトレーニングのソフトを作っています。その 3。河端さんとのコラボレーション。Microsoft Flow と Microsoft Power BI で何ができるか。

leave a comment »

教科「情報」の授業で使うタイピングトレーニングのソフトを作っており、Microsoft SQL Server の大家であり Microsoft MVP でもあった河端さんと一緒に考えている。私は Visual Studio でクライアントの開発をし、河端さんにクラウドのアプリケーションを作ってもらっている。クライアントは Windows デスクトップアプリで、開発言語はもちろん C# だ。

河端さんには、クライアントアプリケーションから POST データを受け取るサービスを、Microsoft Flow で作ってもらった。Microsoft Flow で受け取ったメッセージを電子メールで通知する、といったシステムを、お互い離れた拠点でメッセージをやりとりしながら、およそ 30 分で作ることができた。これが現代的な開発スタイルだといえよう。

そして河端さんには、Power BI の分析ページを作ってもらった。こんなかんじだ。

文字入力トレーニングアプリ_003_PowerBI_1_mid_640

文字入力トレーニングアプリ_004_PowerBI_2_mid_640

文字入力トレーニングアプリ_005_PowerBI_3_mid_640

河端さんは、私がクライアントの Windows フォームアプリケーションを調整している間に、Microsoft Flow に送られたデータをこのように分析する Microsoft Power BI のフォームを作られていた。これらのビューを作るには、およそ 15分もあればよいそうだ。

このように、Microsoft Flow と Microsoft Power BI を使うとアイデアさえまとまればアプリケーションを作る手間は革命的に小さくなった。重厚長大のシステム開発の時代は終わったのだ。

マインクラフトのエデュケーション版を使った問題解決の授業案を考えています。たとえば小学校四年生の「植木算」の考え方。

leave a comment »

マインクラフトをプログラミング教育に使うことを考えて勉強会をしています。

勉強会「マインクラフトとプログラミング教育」を開催します。
アドミンティーチャーズ
https://adminteachers.wordpress.com/2017/03/08/%e5%8b%89%e5%bc%b7%e4%bc%9a%e3%80%8c%e3%83%9e%e3%82%a4%e3%83%b3%e3%82%af%e3%83%a9%e3%83%95%e3%83%88%e3%81%a8%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e8%82%b2%e3%80%8d/

マインクラフトにはエデュケーション版があり、エデュケーション版には一般のコンシューマー向けのマインクラフトにはない特殊パーツや「Classroom」という授業をするためのモードが用意されています。これらの機能を使えば、効果的に授業でマインクラフトを運用することができます。

マインクラフトは自由度が高く、無限の可能性がありますが、たとえば小学校の算数をテーマに取ると、このような問題解決型の授業案が考えられると思います。

テーマ:レッドストーンで「植木算」を理解しよう
概要:「植木算」は、おおむね小学校四年生の算数で取り上げられる課題で、割り算を習った後に、割り算を現実世界にあてはめて使うことを学ぶ目的で使われます。たとえば「10メートルの道路にそって1メートルおきに木を植えるとしたら、何本の木が必要ですか。」といった問題です。割り算を習った子供は、10メートル割る1メートルで10本、という答えを出せるとして、しかし実際は1mごとの「間」を数えるので9本でよい、ということに気付かせる問題です。これをレッドストーンの働きにおきかえて、15ブロックしか信号が伝わらないレッドストーンを150個使い、全部使ってできるだけ長く信号をつなぐために、何個の反復装置が必要かを考えさせ、実際にマインクラフトの世界でやってみて体験します。

授業案を Docs.com でも公開しています。
https://docs.com/user775272/8741/minecraft-small-challenge-no-2-planting-tree

Minecraft_Small_Change_002_001_mid_640

Minecraft_Small_Change_002_002_mid_640

Minecraft_Small_Change_002_003_mid_640

Minecraft_Small_Change_002_004_mid_640

Minecraft_Small_Change_002_005_mid_640

小学生マインクラフト エバンジェリスト、あくひろくんがマインクラフト Windows 10 Edition のサバイバルモードを動画で解説します。第一回は木を切って木材を作るところから。

leave a comment »

マインクラフトはプログラミング教育や問題解決、コラボレーション教育に利用できるのではないかと期待されている。そこで、まずマインクラフトの基本について、いちばんよく知っている小学生に解説してもらうことにした。いわば「小学生マインクラフト エバンジェリスト」みたいなかんじだ。

説明が長いとわかりにくいので、短く 5分で解説するようにしている。第一回は、まず木を切って木材を作るところから始めている。マインクラフトの初心者向けに作っているので、ぜひご覧いただきたい。

https://www.youtube.com/watch?v=irP1tyWXWzE
minecraft_001_mid_640

C# – 教科「情報」の授業で使うタイピングトレーニングのソフトを作っています。その 2。河端さんとのコラボレーション。

leave a comment »

先日、SQL Server のスペシャリストで Microsoft MVP でもあった河端善博さんと久しぶりにお会いし、Microsoft Flow や Power BI の話をうかがった。実に興味深く、私がやっている IoT や情報教育で使う場面がないか考えた。そこで、まず今作り始めている文字入力トレーニングソフトのデータを Microsoft Flow で処理し、Power BI で分析することをやってみることにした。

まず、実習結果を自分で見るだけなら時間を計り正しく入力できたかどうかを判定できればよい。しかしデータを集約するなら、誰の実習結果かという ID が必要になる。そこで ID をどうするかを含めて、通信データのフォーマットを決めることにした。河端さんから提示されたのは次の項目だ。

"生徒識別子"
"経過秒数"
"スコア"

生徒識別子は文字列型とし、経過秒数やスコアのデータ型をどうするか相談をしたが、型がそろった方がアプリケーション側で作りやすいので文字列型にしてもらった。これに加えて次の項目を付け加えた。

手本文字数"

「スコア」は何文字まで間違いなく入力できたかの文字数を評価することにしているが、もともとの手本の文字数が何文字かがあった方が良いと考えたので、それを加えることにしたのだ。これらの集めるデータは今後どんどん変わっていく可能性があるが、とりあえずこの 4つの項目にすると決めた。データの送信は Web サービスの POST メソッドとし、渡すデータは json で記述することにした。こんなかんじになる。

{
"生徒識別子": "A0000",
"経過秒数": "10",
"スコア": "89",
"手本文字数": "100"
}

すでに作っているアプリケーションに「生徒識別子」のテキストボックスを追加し、Web サービスに POST するコードを書いた。

文字入力トレーニングアプリ_001_mid_640

その他の変更点は、入力するための原稿をテキストファイルにして保存し、アプリケーションの起動時に読み込む形にした。また入力原稿は教科書の本文とすることとし、入力分のはじめとおわりを表示して、教科書のどこの文を入力するのかを間違わないようにした。

私がアプリケーションを調整している間に、河端さんに Microsoft Flow で Web サービスを作っていただいた。河端さんに作っていただいた Microsoft Flow は次のようなものだ。Web サービスへの POST の結果を知りたかったので、電子メールで送信してもらうようにお願いした。次の画面は河端さんからもらったものだ。

18109673_10155304824759394_589213491_n_mid_640

何度か試験を繰り返し、正しくデータが送られることを確認した。データの送信確認は電子メールが送られてくることでわかる。

文字入力トレーニングアプリ_002_mid_640

このように、私が Visual Studio 2017 でアプリケーションを作り、河端さんが Microsoft Flow でクラウド側のシステムを作る。このコラボレーションが、実質 30 分ほどで動くシステムができあがった。

たとえば生徒の家庭学習などを IT でサポートする場面で、このように簡単にアプリを作ってクラウドの共有フォルダなどで配布し、練習結果を Microsoft Flow で受け取って集計する、Power BI で分析する、といったことが簡単にできる。何年か前なら、なんらかの学習システムみたいなものを作ったものだが、今やこのような時代だ。

Minecraft Windows 10 Edition は今なら 1,150 円。2,000 円の値引き。あと 11 日です。

leave a comment »

Windows ストアからダウンロードする Windows ストアアプリの「Minecraft Windows 10 Edition」はキャンペーン中で今なら大幅ディスカウントだ。いま見たところでは「あと 11 日です」とある。Windows ストアアプリは複数のデバイスを持っているユーザーなら、10 台までの端末にインストールして使うことができる。一人で何台ものデバイスを所有する時代にはとてもぴったりだ。

minecraft_ディスカウント_mid_640

とても面白く、教育にも利用できる可能性があるので、ぜひ試してみたい。