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

InfoPath & SQL Server !

Archive for the ‘Microsoft Visual Studio 2015’ Category

プログラミングせずにプログラミング思考が身に着くはずがない – 「プログラミング思考」という言葉のまやかし – Visual Studio を使った C# プログラミングは最高の学習環境である。

leave a comment »

「情報教育」や「プログラミング教育」という言葉が表に出るたびに本質からそれる言葉が作り出される。その理由は明らかだ。コンピュータのことを知らない人間が「情報教育」を語るとき「情報教育はコンピュータを教えるものではない」と言い、プログラミングを知らない人間が「プログラミングができなくてもプログラミング思考を身に着けることができる」と言う。この二つの理由の根は同じだ。

たとえばこのように言ってみよう。「英語で話ができなくても英語的思考を身に着けることができる」「足し算引き算ができなくても数学的思考を身に着けることができる」「電池を豆電球につなぎ光らせることができなくても理科的思考を身に着けることができる」「楽器を何も弾くことができなくても音楽的思考を身に着けることができる」

もうこれでいいだろう。

つまり、「プログラミングする」ということは「プログラミング思考」を養うための重要な学習プロセスであり、また「プログラミングができる」ことによって「プログラミング思考が身についた」ことを評価することができるのだ。

しかし、このことは当然、実用的なアプリケーションを完成させるまでのプログラミング力を養う必要はない、ということも真実である。またどのような言語を使うかも、学習者のレベルにあわせて選択すべきであろう。学習ツールとしてのプラットフォームも同様だ。

小学生ならブロック型のプログラミング言語を使うことがいいだろう。そしてブロックの背後にはコードがあることを体験させる。中学生程度なら多くの学校で実践されているエクセルのマクロ、VBA を使うのもいいだろう。厳密に言えばエクセルのマクロはプログラミングではなく、エクセルというアプリケーションソフトの「オートメーション」だ。しかしエクセルのマクロには学習者にとってたいへん有効な、マクロの自動記録の機能がある。マクロの記録をしながら画面を操作すると、操作の手順がマクロとして記録される。このコードを元にして応用、発展させることで、マクロの自学自習ができる。

高校生では本格的なプログラミングを学習させるべきだ。高校生には実際に社会で使われているアプリケーションやプラットフォームを使って実習をさせるべきである。筆者は20年も前に高等学校でマルチメディアデザインの授業を始めたが、当時いくつかあった安価な画像編集ソフトを使わず、Adobe の Photoshop を使った。

新しい技術の概念はツールに表現されている。適切なツールを使うことで新しい技術概念を正しく身に着けることができる。技術とツールは不可分である。

どの言語を使ってプログラミング教育をしていい。とならば、Visual Studio を使った C# プログラミングは大きな選択肢の一つである以上に、コンピュータの OS が Windows であるならば、最も開発環境を整えやすく、実社会で使われており、効率よく、単純なものから高機能なものまで作ることができ、データベースやネットワークの実習ができるアプリケーションも簡単に作ることができ、しかも書店に行けば初心者から上級者まで様々な解説書が手に入る、Visual Studio と C# の組み合わせは最高の選択肢だといえる。

2018年10月10日

松本 吉生(まつもとよしお)
Microsoft MVP Data Platform

1961年京都に生まれ、神戸で幼少期を過ごす。大学で応用化学を学んだのち、理科教諭として高等学校に勤務する。教育の情報化が進む中で校内ネットワークの構築運用に従事し、兵庫県立明石高等学校で文部科学省の「光ファイバー網による学校ネットワーク活用方法研究開発事業」に携わる。兵庫県立西宮香風高等学校では多部制単位制の複雑な教育システムを管理する学籍管理データベースシステムをSQL ServerとInfoPath、AccessなどのOfficeソフトウエアによるOBA開発で構築・運用する。2015年から2017年まで兵庫県立神戸工業高等学校でC#プログラミング、IoTなどのコンピュータ教育を行い、現在は兵庫県立神戸甲北高等学校に勤務する。2004年からマイクロソフトMVP(Microsoft Most Valuable Professional)を受賞し、現在15回目の連続受賞。2016年にマイクロソフト認定教育者(Microsoft Innovative Educator Experts : MIEE)を受賞し、現在4回目の連続受賞。

C# プログラミング – Visual Studio 2017 で作る Windows Form アプリケーションでデフォルト値を保存できるようにする。

leave a comment »

作ったアプリケーションにデフォルト値を保存できるようにしたい。Visual Studio による C# アプリケーション開発なら驚くほど簡単にできる。

まずプロジェクトを開始したら、ソリューションエクスプローラーのアプリケーション名を右クリックしてメニューを表示させる。その中に「プロパティ」の項目があるので、そこをクリックする。

すると次のようなウィンドウが表示されるので、その中から「設定」の項目をクリックする。この「設定」というのがアプリケーション内に保存されるデフォルト値を管理する項目になる。やや日本語がぴったりでない気がするが。

青くなっている「設定」というところをクリックして、アプリケーション内で使いたい名前に変更する。ここでは「mySaveText」という名前にした。この名前をアプリケーション内で使うので覚えておく。

メニューの「×」をクリックして閉じようとすると、プロジェクトを変更しますか、というダイアログが表示される。このときにプロパティ値の設定が保存される。

保存されたら開発画面に戻るので、フォームにテキストボックスを 2つ、ボタンを 3つ作ろう。それぞれ名前は「textBox1」「textBox2」「button1」「button2」「button3」だ。

そしてボタンのクリックイベントに次のコードを書く。

—————————————————————————————

private void button1_Click(object sender, EventArgs e)
{
Properties.Settings.Default.mySaveText = textBox1.Text;
}
private void button2_Click(object sender, EventArgs e)
{
textBox2.Text = Properties.Settings.Default.mySaveText;
}
private void button3_Click(object sender, EventArgs e)
{
Properties.Settings.Default.Save();
}
—————————————————————————————

button1 に書いた Properties.Settings.Default.mySaveText = textBox1.Text のコードで、テキストボックス1に書いた文字がプロパティ値に記録される。button2 に書いた textBox2.Text = Properties.Settings.Default.mySaveText のコードで、プロパティ値が textBox2 に呼び出されることがわかる。しかしこれだけではアプリケーションを終了するともとに戻ってします。アプリケーションを終了してもプロパティ値が保存されたままにするのは、Properties.Settings.Default.Save() のコードだ。button3 をクリックしてアプリケーションを終了し、ふたたび起動してプロパティ値が保存されていることを確かめよう。

プロパティ値の保存がなんと簡単にできることか。Visual Studio による C# アプリケーション開発は素晴らしい。

Written by Yoshio Matsumoto

2017年4月14日 at 5:56 PM

アドミンティーチャーズの「ラボワーク LW01 – Netduino で Lチカプログラミング」

leave a comment »

「アドミンティーチャーズ」は教育の情報化や情報教育、校務の情報化に携わる教職員対象の勉強会で、このたびは「ラボワーク」と名付けて、マイコンボードや電子回路を自由に体験するというスタイルで企画された。

「ラボワーク LW01 – Netduino で Lチカプログラミング」の報告

P1110024_mid_640_480

Netduino は内部で .NET Micro Framework が動き、Visual Studio を使って C# のプログラミングができるマイコンボードだ。実際に Visual Studio で開発するためには、SDK などいくつかの追加モジュールをセットアップする必要がある。このラボワークでは、Arduino の典型的なループを使った「L チカ」プログラミングと同じアルゴリズムで C# のコードを書いて比較し、また Netduino で別スレッドで実行する 2 つの「L チカ」プログラミングのデモをした。

P1110012_mid_640_480

Netduino や Arduino は受け取った電圧変化をディジタル変換するアナログ入力の A/D ポートを標準で持っている。このアナログ入力ポートの動作を確かめるために、まずボリュームで電圧変化を与えて A/D 変換をし、次に距離センサーを使って距離の測定ができることを確かめた。

P1110004_mid_640_480

そのほかブレッドボードを使った回路実験や 7 セグメント LED、バー型 LED、マトリックス型 LED などの使い方、Arduino の亜種や類似のマイコンボード、組み込み実装用の Arduino Pro Mini などの紹介もした。

この「ラボワーク」は今後も毎月第一土曜日に兵庫県の神戸市、三ノ宮で行うことを考えている。次回の計画は月半ばにアドミンティーチャーズのサイトで案内することとする。

アドミンティーチャーズ
https://adminteachers.wordpress.com/

興味のある方はぜひご参加ください。

Netduino で Arduino 用の multifunction シールドを使う(1) – multifunction シールド(Arduino UNO R3 学習向け多機能拡張ボード シールドキット)とは

with 3 comments

急激に進化しつつあるマイコンボードとIoTの分野において、その先鞭となりかつ現時点で最も普及し豊富なラインナップと周辺製品が充実しているのは Arduino と言っていいだろう。Arduino はそのIOピン配置に適応した拡張ボード、マイコンの世界では「ドーターボード」と呼ばれたりするものだが、これを使うことで機能を拡張したり簡単な実験をすることができる。これを Arduino の用語では「シールド」といい、様々な製品が発売されている。Arduino は回路が公開されているので自分でシールドを設計して作ることもでき、自作用の基盤やピンなどの部品も簡単に手に入れることができる。この Arduino のIOとピン配置に適合したシールドは、近年のマイコンボードの世界であたかもデファクトスタンダードの様相を示しており、豊富なシールドの恩恵を得るように、様々なマイコンボードが Arduino 互換のIOとピン配置を持っている。

P1100471_mid_640_480

Netduino は「ネットデュイーノ」と読み、.NET micro Framework が動くマイコンボードで Visual Studio を使って C# プログラミングによる .NET ライブラリの豊かな資産を使うことができるものだが、Netduino もそのIOとピン配置は Arduino 互換となっており、Arduino 用の様々なシールドが利用できる。下の写真は Netduino 2 で、現時点で入手することができる最もベーシックな Netduino だ。

P1100470_mid_640_480

公式サイトは www.netduino.com で、Netduino の製品群や Visual Studio で開発するための SDK などのダウンロード、活用のノウハウと情報交換のコミュニティなどがある。

Netduino_2_052_mid_640

Netduino は発表以来いくつかのモデルが発売されている。Netduino の公式サイトによると、現時点で最も新しい モデルは Netduino 3 だ。

Netduino_2_053_mid_640

multifunction シールドは、Arduino Uno と Leonardo に対応した実験用のシールドだ。基本的な実験で利用しやすい部品が取り付けられている。値段も安い。現時点で Amazon では送料無料で1,000円で買うことができる。ちなみに Amazon で最も価格が安いショップでは、「Arduino UNO R3 学習向け多機能拡張ボード シールドキット」という名称になっているので、検索するときはキーワードに気を付けてほしい。

Netduino_2_051_mid_640

この multifunction shield には4個のドット付き赤色7セグメントディスプレイモジュール、4個の LED、10K オームの小型ボリューム、3つのプッシュボタンが装填されている。もしこのモジュールを自作するとすれば、よほど低価格の部品をかき集めてこないと、部品代だけで 1,000 以上かかってしまうだろう。

P1100469_mid_640_480

この multifunction シールドを Netduino 2 に装填し、基本的な実験をしてみよう。

※この記事を書くには Microsoft MVP のはつねさんが書かれた Build Insider の記事「.NET対応組み込みデバイス『Netduino』入門」 http://www.buildinsider.net/small/netduino がとても参考になりました。ありがとうございます。

<次の記事>
「Netduino で Arduino 用の multifunction シールドを使う(2) – Microsoft Visual Studio Express 2013 for WIndows Desktop の C# プログラミング環境を整える」