福野泰介の一日一創

新潟県、ものづくりのまち、長岡市。長岡造形大、長岡市役所、長岡高専をリアル訪問!

はじめての長岡造形大学


シンボルツリーの桜!建物内外、さすが造形大!


先生の熱意によって長岡造形大内にできた、プロトタイピングルーム!


レーザーカッター切り出し「火気厳禁」かっこいい!


いいレーザーカッター、大活躍とのこと!(鯖江Hana道場にも少し小さめのあります)


かわいいサンプル。学部問わず興味ある学生多数とのこと!
コンセプト、外装、ハードウェアやソフトウェアの実装、見せ方、全部揃うと超強力!


長岡市役所隣、アオーレ長岡。新潟で30回続く、デザインコンテスト、NIIGATA IDS DESIGN COMPETITION 2020!ちょうど造形大の学長、和田さん講評されていました。


ストアで発見、ステキな卓上切出(ナイフ) MASUWA by 増田切出工場 & TWOOL(昨年度の準大賞)
企画販売は和田学長の息子さん!プログラミングに興味ありとのこと!


Insta360 EVO用ケースにほしい、伸びる、簡単、瞬間パッキング!ストラップに付けられるとより便利かも?


日本のめがねといえば鯖江ですが、長岡にもメガネ会社あり!アセテートにβチタンの芯をいれたメガネ!


かわいいコケのいれもの


企み、語り、創り、伝え、会う!


長岡駅隣のおもしろ空間、なんと左が市役所と右が市議会の議場!


旧デパートの1Fを、市営のファブ&コラボスペースとした「NaDeC BASE」長岡高専、長岡造形、長岡技科大も!


こちらも、プロトタイピングラボ、ものづくり工房あり!


長岡市バックアップのものづくり支援コンソーシアム「NAZE」と新潟の方言「ごうぎ」に漢字を当てた「豪技」


今年度初開催こども向けロボコン、ロボカップジャパンオープン!


NT鯖江にもご訪問いただいた、長岡市役所の橋詰さん、ご案内ありがとうございました!


続いて訪問、長岡高専!元気な長岡高専生!


多数の先生に参加いただいた、長岡高専にて講演&IoTプログラミング体験!(資料参考、高専生から中学生へ「はじめてのプログラミング、はじめてのIoT」 / 佐世保高専での学び

最新集約周辺機器IchigoDyhookとIchigoSodaの接続法。ジャンパーワイヤ6本使って、まずはIchigoDakeのRESET-GNDをつないで無効化し、IchigoDakeとIchigoSodaのKBD1-2/VIDEO1-2/GNDを5本で接続。

ちょっと面倒?DPCが登場すれば、ずっとシンプルになります!(IchigoJamカムロボのデバッグからラズパイ製品の現場調整まで、立ち乗りでこなすIchigoDyhook! – about yrm

4Gモジュール用には電源が必要なので、IchigoSodaにmicroUSB経由で給電。


あとは普通に使えます!接続状況表す、IchigoSoda上部の点滅が1回に変わったら、

IOT.OUT 15 OK

これでクラウドにデータが飛びます
受信したらLEDを付けて終了するプログラムも簡単!

1 IF IOT.IN()=0 CONT 2 LED1 RUN OK


GPSや高精度温湿度センサーSHT31、UVセンサーなどを搭載したIchigoSensorsを合体!
I2CでSHT31の温湿度データを読み出し、サーバーに定期的に送るプログラム(for IchigoJam 1.4)

10 POKE#700,#2C,#06:R=I2CR(#45,#700,2,#700,6) 20 IOT.OUT #700,6 30 WAIT 60*60*5:GOTO 10

シンプルに使えますが、がんばれば、割といろいろできちゃう、IchigoJam。
画面拡大(VIDEO3)して、IchigoSoda上で表示も行うIoT温度計にする例(℃をパターンを700行で生成)

5 VIDEO3:CLS:GSB@DC 10 GSB@TH 15 LC 4,4:?T/100;".";DEC$(T%100+100,2);CHR$(#708) 25 LC 4,6:?H/100;".";DEC$(H%100+100,2);"%" 27 IF TICK()>60*5 IOT.OUT T:IOT.OUT H:CLT 30 WAIT6:GOTO10 600 @TH:U=95:LET[U],#062C,#4401,#8808,#884A,#4350,#0C00,#4770 610 U=#800+U*2:R=I2CR(#45,U,2,#700,6) 620 [0]=17500:[1]=PEEK(#700)<<8|PEEK(#701):T=USR(U+2,#800)-4500 630 [0]=10000:[1]=PEEK(#703)<<8|PEEK(#704):H=USR(U+2,#800) 640 RTN 700 @DC:S="゚C":FORI=0TO7:POKE#708+I,PEEK(ASC(S)*8+I)|PEEK(ASC(S+1)*8+I)>>3:NEXT:RTN


さすが高専、トラ技ジュニア!(See also: 高橋名人とのコラボイベント


長岡名物シュークリーム、ごちそうになりました


高専x造形大で企む会(平行法で立体視可)


長岡は山本五十六氏の出身地。平和を願う長岡の直径650mという大花火の玉は直径90cm(3尺)!VR再現楽しそう。

地域の課題、ITとデザイン、力を合わせてどんどん解決!地域を越えてイノベーション!
地域のプログラミングといえば高専!GIGAスクール構想を先取りし、プログラミング的思考ことプログラミングを広めましょう!
ものづくりとデザインに力を入れるまち、長岡と鯖江。仲良くなれそう!

links
- 「プログラミング的思考」=「プログラミングする活動そのもの」 小学校プログラミング教育の手引第三版で減ったもの増えたもの
- 学校に激震!? 昭和の「一斉授業」から令和の「個別最適化された学び」へ! すべてのこどもたちに世界とイノベーションへの入口を、GIGAスクール構想とは?その実現に近いまちは?

小学校プログラミング教育の手引:文部科学省」がバージョンアップ! 40回登場していた「プログラミング的思考」が1つ減少。独り歩きしがちな「プログラミング的思考」という新単語は、手引内で次のように説明されてます。

有識者会議「議論の取りまとめ」において「プログラミング的思考」は、「自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力」と説明されています。
文科省としての定義ではありませんが、他に文章はありません。言葉通り「論理的に考えていく力」と解釈すると「論理的思考力」と同じように感じますが、それだけではないことがわかります。


「プログラミング的思考を働かせるイメージ」(手引より)
第二版までは「プログラミング的思考」だった図に注釈が加わりました。 下記、事例の中でもあるように、試行錯誤する「行動」「活動」をプログラミング的思考と呼んでいます。

児童は、生活の中での経験を基に、自動販売機はどのような手順で動作しているのか、それを再現するには命令(記号)をどのように組み合わせればよいかを考え、試行錯誤します(プログラミング的思考)

その際、このような音楽を、このようにしてつくりたいという自分の考えをもち、音楽の仕組みを意識しながら、プログラミング言語又は創作用ソフト等を用いて様々なリズム・パターンの組み合わせ方を試し、更に工夫を重ねて試行錯誤し(プログラミング的思考)、音楽をつくっていきます。
表現をすっきり、改変しました。

「プログラミング的思考とは?」
「組み合わせる」=「動きに対応した命令にする」一緒なので集約(コンピューターに対する命令には、マシン語からAI判定などまで抽象度レベルは様々)。 試行錯誤とは継続的に改善することなので短縮。 私が最初聞いたときの印象で思った「狭義のプログラミング的思考」と、一般の人が誤解しがちな「狭義のプログラミング」を注釈として追記。


「プログラミングとは?」(小学校プログラミング教育の手引(第三版) 図4を改変
プログラミング的思考、我々エンジニアが考えるいわゆる普通の「プログラミング」だと思うとしっくりきます。 「やることが決まっていて、それを単純に打ち込むだけ」の狭義のプログラマーという職業と思われてしまわれないようにという配慮だったのでしょう。

課題に対して、知識技能とコンピューターを使って、あれこれ好きなだけ試行錯誤して、解決に導く。プログラミングの醍醐味です!


「プログラミング的思考」が1つ減ったポイントはこちら。「プログラミング的思考」を育むではなく、全体のねらいの達成が強調される形に改訂されました。

こどもの頃、紙のノートに書いて遊んだり、巨大迷路を駆け巡ったり、ダンジョンゲームで迷ったり、迷路に関する楽しい思い出。 「迷路を自分で作りたい」という課題に対するアプローチは様々ですが、IchigJam 1.4の新コマンド、DRAW、SIN、COSを使った短い迷路作成法を紹介します。(RUN on IchigoJam web)

角度をランダムに決めて、上下左右どちらかに倒す、いわゆる棒倒し法で描く、たった1行のプログラム。もちろん分けて分かりやすく書くこともできますが、まずはシンプルにワオと思うこと、大事です。 もちろん、他にもいろいろな作り方がありますし、いろんなプログラミング言語で作れます。既知の知識をあえて見ずに自分なりに試行錯誤するのも楽しいです。 今回は、Twitterで見かけた1行迷路プログラムにヒントをもらいました!

今回の手引第3版の目玉は「企業との連携」。ただし、プログラミングが得意な企業が近くにある学校ばかりではありません。KDDIx磐梯町のように、大企業による地域遠征と、その地域内でのPCN的活動や、Hana道場的活動として根付くかどうかが重要です。

6. NPO等との連携
プログラミング教育の推進に取り組んでいる NPO などに協力を依頼して各教科等の授業やクラブ活動など、幅広く関わってもらう例もあります。事前の授業設計に当たって教師と議論を重ね、基本となるプログラム例を作成するなど、授業の流れを一緒につくっていきます。状況に応じて、専門家に協力を依頼するなどのコーディネーターの役割も担ったり、授業の際にメンターとしてサポート役に入ったりすることもあります。

当初はクラブ活動のサポートから始め、徐々に各教科等におけるプログラミング教育に取組を広げてきた例もあります。また、IT 企業との連携を NPOが担い、プログラミングを体験するだけでなく、社会におけるプログラミング技術の意義や自らのキャリアについても子供たちに考えさせるといった、特徴のある取組を実施した例もあります。さらに、学校における土曜学習のほか、学校や適応指導教室とも連携しながら、公民館等の社会教育施設を会場として不登校の子供を含む幅広い層の子供たちにプログラミング体験の機会を提供している例などもあります。

このほか、主に教師を対象として、プログラミング体験を含む研修等を開催したり、授業で使いやすいプログラミング教材を開発・普及したりしている団体もあります。
地域に高専あり!
宮城県の事業として行われている「KCみやぎ」という取組があります。もともとは教育を目的とした事業ではなく、地域企業が抱える技術的な課題に対し、地域の学術機関(大学や高専など)が協力して相談を受け、金融・支援機関とともに、解決策を模索するというものです。
地域の未来は、地域のみんなで創りましょう!

links
- 小学校プログラミング教育の手引:文部科学省
- 小学校プログラミング教育の手引(第三版)
- 「小学校プログラミング教育の手引」の改訂(第三版)【令和2年2月】について

ファミコン世代に強烈なインパクトを残す、伝説の「高橋名人」が緊急参戦!
トラ技ジュニアを定期購読している高専や中学校技術の先生など向けに開催です。
教材導入の勘所を開発者が直伝! 1,500円パソコン「IchigoJam」プログラミング実習 | トラ技ジュニア
小中学生から大人まで人気な「自分のパソコンのはんだづけ」から、プログラミングの入門、センサー・制御・ネットワーク、そしてIoTを使った実用例まで、まるっと体験いただける研修な上に、名人も!

高専で出会った「トラ技」こと「トランジスタ技術」。今は、やさしい内容を無料で提供する「トラ技ジュニア」があるんです。 定期購読している学校一覧によると、大学215校、高専54校、専門学校63校、高校421校、中学校・小学校・クラブなどで71校! 学生・新人エンジニア向けには無料配布中、まだの方は、この機会にぜひどうぞ!(トラ技ジュニアとは? | トラ技ジュニア


私がプログラミングを始めるきっかけとなった、ファミコンゲームをBASICで開発できるハード、ファミリーベーシック。(親が買ってきたのはMSXでした)


なんと高橋名人「ファミリーベーシックがわかる本」の著書で掲載ゲーム10本の作者とのこと! (備忘録 | 高橋名人オフィシャルブログ「16連射のつぶやき」Powered by Ameba


高橋名人原作、BASICを解説するマンガ。かなり骨のある本格的なゲーム開発を丁寧に紹介されてます!ゲームの名人は、プログラミングの名人でもあったことに衝撃! そんな名人による、IchigoJamの入門連載が始まっています! (IchigoJam|高橋名人オフィシャルブログ「16連射のつぶやき」Powered by Ameba


10本ゲームの1つ。ブロック崩しゲーム。ファミリーベーシックは背景(BG面)を別途ツールでデザインして、重ねられる仕様だった様子。IchigoJamでやる場合は、「Insert」キーを押して上書きモードにして、自由にデザイン。メモリの#900から保存したい行数x32をプログラム領域にCOPYしておくなどで真似してみてください。


最新ファーム、IchigoJam ver 1.4 のDRAWコマンドを使って、ブロック崩しゲームを作ってみました。


1画面に収まります!(125 'MAIN)と追加すると、構造が分かりやすくなります。基本は、セットアップとループ!(RUN on IchigoJam


ハドソン製ゲームと合わせ、高橋名人に会う、準備万端!

高橋名人による「【特別ゲスト講演】ゲーム・プログラミング35年史」と、IchigoJamプログラミング教え方講座、お楽しみに!
教材導入の勘所を開発者が直伝! 1,500円パソコン「IchigoJam」プログラミング実習 | トラ技ジュニア

総務省主催 令和元年度 地域ICTクラブ取組発表会、開催!
プログラミングが必修化される2020年度、もっとやりたいこどもたちを支援する地域の取組、それが地域ICTクラブ。

第二期の全国17拠点、多彩な取組が発表されました。


「未来の学び」構築パッケージ
GIGAスクール構想、高度IT人材の排出に向けて、内閣官房IT総合戦略室、総務省、文部科学省、経済産業省、全日本あげての推進体制
120年続いた「一斉授業」からいかに脱却して「未来の学び」に移行するか?
学校に激震!? 昭和の「一斉授業」から令和の「個別最適化された学び」へ! すべてのこどもたちに世界とイノベーションへの入口を、GIGAスクール構想とは?その実現に近いまちは?


農業xICT、こどもとつくるアグリテックプログラムを発表する、ジュニアビレッジ運営協議会、発表者はJTBの方!


NTTグループのOB・OGがメンターとして参加!民間企業との協力体制構築も未来の学びの大きなポイント


畑に設置して使った、ラズパイとカメラ、太陽電池で動くIoTモジュール。電源や回線、実際やってみるといろんな失敗、課題が見えてきます。それこそ最大の宝。継続したい気持ちがあれば、なんとでもなります!


こどもも大人も発表会は楽しい!
「とやま未来キッズカンファレンス」いいですね!NT鯖江的なイベントもおすすめです!


広島のカントリーサイド、あきたかたSTREAM教育フォーラムの取組


こどもたちがいかに自分でガンガン学ぶ状態へと持っていくか?教育の本質!


やってみて初めてわかる知見や課題、そしてその対策案。現場で何度もやればやるほどおもしろい!教えることは学ぶこと。 こどもも大人も、未知の課題をいかにして乗り越えるか、日々学習。


各取り組みにコメントする、合同会社MAZDA Incredible Lab 松田さん!
第6回 対談|松田 孝 氏 - embex education


地域に高専あり!高知ICTクラブ推進協議会の高知高専の今井先生!


IoT学習HATキット (Raspberry Pi Zero WH用)、秋月電子で買えます!
こちらもお値段イチゴー!USBケーブルでつなぐだけで簡単IoT


沖縄での取組


埼玉大学STEM教育教育センター生まれ、単体で簡易プログラミングができる安価なロボット STEM Du! テンキーパッドをつけて、ディスプレー、モニターなし動作するモノづくり、入口にいいかも?


ネットでインドと沖縄をつないでの交流!世界がフラットになったネット時代、世界中でプログラミングを学ぶこどもたち同士がつながりますね!
IchigoJamでつながるルワンダこどもと鯖江のこども! Hana道場で踏み出す新たな一歩! ビーズ x はんだづけがかわいい


淡路の取組ブースで発見 IchigoJam!


淡路の中学生、IchigoJamを気に入ってくれているとのこと!


もりあがった懇親会!地域間交流のきっかけにしたいですね!


神田 x 鯖江!


少しクロックアップしてみたIchigoJam、どこまでいけるか?
外部クリスタル 3.579545MHz で実験した結果、24倍では起動せず。23倍だとたまにうまくいかない。ということで、22倍で動作するファームウェアを実験公開。

IchigoJam 1.4β18
- 外付けクリスタル 3.579545MHz 用実験ファームウェア(78.75MHzの動いたらラッキーオーバークロック版)
(通常IchigoJamでは動きません!)

失敗して初めて分かる限界。安全マージン内でぬくぬくしていては分からない世界にイノベーションの種がきっとある!

マシン語や、アセンブリ言語、高専で習いましたか?

コンピューターはマシン語で動く機械。家電が電機で動くくらいの基本です。
全小学生がプログラミングする時代、さらっと15分でマシン語の肝、押さえましょう。

前提知識は、鯖江市の小学4年生向け総合2コマでも実施しているプログラミング体験。
大きな文字が大人に優しい、はじめてのプログラミング with IchigoJam スライド資料3種のオープンデータ! KDDI連携、福井県小浜市編
まだの方は IchigoJam または IchigoJam web と上記スライドを使って、まずはさらっとご体験ください!

IchigoJam BASICを使った、1から100までの地道な足し算。

A=0:FOR I=1 TO 100:A=A+I:NEXT:?A 5050

AやIは変数と呼ぶ、コンピューター内の記憶です。Aはひとまず0と覚えてもらいましょう。 リファレンスを見ると、FORとNEXTコマンドでIが1から100まで繰り返すことがわかり、変数Aがどんどん書き換えられて、最終的に?(=PRINT)で、表示するプログラムと読めると思います。(A=A+1 は LET A,A+1 の省略形)

コンピューターは数の計算しかできません。上記のプログラムもすべて数として処理されています。IchigoJam BASICというOSは、かかれたプログラムを1文字ずつ文字コードを照合しながら、知っている言葉を見つけたら、その処理を行うことを繰り返します。知らない言葉に遭遇したら「Syntax error」と返すのもOSの役目です。

一文字ずつ、丁寧に処理しているので、真の力は発揮できていません。
そこでマシン語の登場です!

?USR(#800,100) Segmentation Fault

指定したメモリをマシン語として解釈して、動かすコマンドUSR(ユーザー)を使うと、エラーになります。(IchigoJam 1.4未満だと固まるので、電源入れ直しましょう)

IchigoJamで使っているNXP社のCPU LPC1114は、Arm Cortex-M0アーキテクチャーなので 0-65535(16bit)の数(=マシン語)によって動作を指定します。
BASICと同じように、繰り返し足し算するプログラムをマシン語でいれてみます。

LET[0],#2100,#1841,#3801,#D1FC,#4608,#4770 ?USR(#800,100) 5050

LETコマンドは配列に連続した値をセットしていきます。HELPコマンドで確認できますが、IchigoJamの配列はコンピューター内のメモリ#800(16進法で800という位置)に記憶された数の並びです。

マシン語を解読してみましょう! Armマシン語の仕様は2進法で区切ると読みやすいので、BIN$コマンドを使います。

?BIN$([0],16) 0010000100000000

マシン語表をみて、0と1の並びが一致するものを探しましょう。 早速、一番最初の Rd=u8 が、一致しますね。Rdの部分、6〜8番目が0なので、2進法で001、つまりR1、その後8bitが全部0、つまり R1=0 と解読できます。(R0〜R15は、CPUがもっている記憶領域、レジスタと呼びます)

同じように、6つのマシン語を解読していきましょう。

FORI=0TO5:?HEX$([I],4),BIN$([I],16):NEXT 2100 0010000100000000 1841 0001100001000001 3801 0011100000000001 D1FC 1101000111111100 4608 0100011000001000 4770 0100011101110000

解読すると、下記のような動作をしていることがわかります。

R1=0 R1=R1+R0 R0=R0-1 IF !0 GOTO -2 R0=R1 RET

IF !0 GOTO n8 は、ちょっとややこしいです。11010001の並びでまずマシン語がわかります。n8とは、2進法で8bit(8桁)使った飛び先を指定しますが、一番上の桁が1になっているものはマイナスの数を表します。全部8桁、全部が1だと-1、最後が0だと-2・・・と続く、2の補数表現を使います。 -4だとわかりますが、実はこれに2を足した場所 -2 が飛び先となります。R0を1減らして、0でなければ2つ前のマシン語、R1=R1+R0 のマシン語へ飛びます。

RETでBASICに戻ってくるときの R0 の値が、USRコマンドの値となって、表示されます。

CPU、Arm Cortex-M0 アーキテクチャーのLPC1114の最大動作周波数は50MHz、IchigoJam標準の設定では48MHzで動かしています。 1Hzは、1秒間に1回という単位、M(メガ)は、100万の意味。ほとんどのマシン語を1つ1クロックで処理するので、秒間最大5000万回で計算できるというわけです!

ループさせずにRETで戻らせてみたり、引き算、掛け算など、いろいろいじって思い通りになったり、ならなかったり、遊んでみましょう!

命令をいろいろ組み合わせれば何でもできそうな感が伝わりましたか? このマシン語をいい感じに生成するプログラムのことをコンパイラやランタイムと呼び、C言語をはじめ、いろいろな言語が動いている裏っ側となります。
(参考、C言語開発者「C言語は初心者にはお勧めできない」 エントリーにオススメBASICは、世界初のクラウド対応言語だった!

スマホで使われているのは 64bit化された Arm Cortex-Aシリーズ、PCでは Intel/AMD、これから活躍楽しみな RISC-Vなど、CPUによってマシン語の違いはありますが、基本は同じです。

もうちょっとマシン語遊んでみたい人は、こちら「はじめてのマシン語」をどうぞ!
マシン語も分かったし、いろいろ作ってみたい人にオススメは、JavaScript。サーバーからスマホ、PC、ゲーム機まで動くプラットフォーム数、最高です!

プログラミング好きな高専生、鯖江の自然豊かな古民家でのインターン、来てみませんか?

高専生なら気になる、徳島県神山町。
日本で4つめ、2023年に開校予定の私立「神山まるごと高専」ができる町!

CoderDojo神山と一緒にイベント「はじめてのプログラミング with IchigoJam」
山と川と光ファイバーのまち、神山町。自然もコンピューターも仲間にしちゃおう!

たっぷり2時間、楽しんでくれました!未来の高専生!?


今回の使用機材は学校などでの多人数一斉体験にオススメ「IchigoDyhook
お習字のように、最初はゆっくりタイピング、だんだん慣れてきたら、自分なりに改造してオリジナルゲームにして遊んだり、遊んでもらったり! 作ったり、使ってもらったりするこの楽しさ、病みつきになって早34年。飽きる兆候がありません。


はじめてのプログラミング with IchigoJam (IchigoDyhook)
標準、USキーボード、大きな文字版もあります(slide pptx/keynote/pdf on GitHub

加えて、情報系の高専の授業で登場する、一歩先行くマシン語体験
「コンピューターの真の速さを見てみよう!」

1から100まで地道に足していく計算、みなさんは何秒でできますか?

A=0:FOR I=1 TO 100:A=A+I:NEXT:?A

さすが IchigoJam、なかなかの速さで計算しますね。

でも、まってください。IchigoJamのCPU、1秒間に5000万回だったはず?
そうです、BASICという言語は自転車の補助輪のようにやさしく丁寧にまちがいがあったら教えるために、実はこれでもゆっくり動いています。

ちょっと背伸びして、コンピューターが分かる言葉「マシン語」を使ってみましょう。大丈夫、こちらを間違えないよう、ただ打つだけでOKです。

LET[0],#2100,#1841,#3801,#D1FC,#4608,#4770:?USR(#800,100)

でてくる答は同じですが、速さが全然違いますね!これが100円くんの真の力です。
興味が出てきた人は、こちら「はじめてのマシン語」をどうぞ!


会場はステキコワーキングスペース「神山バレー・サテライトオフィス・コンプレックス


Fabスペースもあり!高校生がいろいろ作っているとのこと! お互いのレーザーカッターや3Dプリンター用のデータを交換したり、Hana道場とのコラボできたらおもしろそう。


こちらが噂の「神山まるごと高専」の校舎候補、大きい!部室でも何でも遊び放題!?


鮎喰川(あくいがわ)を挟んだ向かい岸に寮が並ぶ予定とのこと


山の中に秘密基地!?なんと手作りのサウナ!杉の木を切り開き、木材や薪にするリアルマイクラな世界!灰は撒いて新たな木への栄養にする循環型な遊び場。


SHIZQ | 神山しずくプロジェクト
神山町内、移住組に寄るステキなお店がたくさん!ご案内いただいたグリーンバレー大南さん、キネトスコープ廣瀬と!


アメリカからの移住者によるブッガカフェ!おじいちゃんスペシャルという、ベトナムコーヒー風をいただく。


近くでは集合住宅新築中!人が集まる熱い町!

自然と人とコンピューターにがっつり触れ合うのが21世紀流の学び=遊び。
高専生のみなさん、鯖江の自然豊かな古民家でのインターン来てみませんか?
(現在、3/15-19、主に高専4年生向け春インターン募集中)

links
- IchigoJamとBASICで遊ぶプログラミングワークショップ|CoderDojo神山|note
- 神山まるごと高専設立準備委員会 on Strikingly

まだネット普及前の高専生の頃、よく読んでいたC言語の雑誌「C MAGAZINE 創刊号(1989.10)」に、C言語開発者デニス・リッチー氏のインタビュー記事。


そうです、C言語はマシン語を便利に生成するツールなので、その根っこを理解せずに使おうとすると簡単に挫折します。ポインタで嫌いになった学生、世界中に数知れず・・・。

C言語誕生の6年前、ジョン・ジョージ・ケメニー氏によって、当時高価だったコンピューターを誰でも手軽にシェアして使えるプログラミング言語が誕生、BASICです。直感的に使え、シンプルな仕様故に、いろいろなマシンに移植され、世界中で大ブーム、多くのエンジニアを排出しました。

they invented the BASIC programming language in 1964, as well as one of the world's first time-sharing systems, the Dartmouth Time-Sharing System (DTSS) - John G. Kemeny - Wikipedia

(参考、専門的教育を受けていなくてもプログラミングを行うことを可能にした「BASIC」の開発者、ジョン・G・ケメニーとは?
いろいろあって、BASICは大学教育から外れてしまったのはもったいなかった!
ということで、現代でもコンピューターサイエンスの入門にオススメしたい、BASIC、マシン語、C言語から入る基礎手順。まずはシンプルに楽しくコンピューターに触れ、ネットワーク不要な書籍で自学し、ネットワークを使うリテラシーと更なる言語理解意欲と共に、大人パソコンとネット活用を解放しましょう。 創るための道具として、パソコンとネットは最強です。無限に広がるコンピューターサイエンスの世界へようこそ!

なんと、我らのヒーロー高橋名人がIchigoJam入門をスタートしてくれました!


BASICを心のふるさとにしているエンジニアは世界中にいます!

初心者用言語と侮るなかれ、わかりやすい書き方で入門した後、言語仕様を読み込み、試し、駆使すれば、いろいろ力作作れます。


こちら @h_araki さんの作品!この楽しそうな作品だって 1kbyte (1024文字)以下!
(他、Kidspod;にもいろいろ作品あり!)

スペースキーひとつで方向転換というのがおもしろいですね!

そのエッセンスだけ使った、1行ゲーム「グルグル」 for IchigoJam 1.4

1 CLS:CLV:CLT:FORI=0TO1:D=(D+(INKEY()=32))&3:X=X-(D=2)+!D:Y=Y-(D=3)+(D=1):I=POINT(X,Y):DRAWX,Y:WAIT1:NEXT:?TICK()/60

IchigoJam 1.3などでも遊べるバージョンはこちら

1 CLS:CLV:CLT:FORI=0TO1:D=(D+(INKEY()=32))&3:X=X-(D=2)+!D:Y=Y-(D=3)+(D=1):LCX,Y:I=SCR():?CHR$(1);:WAIT1:NEXT:?:?TICK()/60

画面外にいってしまうとバグります、なんとかしてみましょう!

BASICで自在に作れる自身がついたら、コンピューターの真髄、マシン語に挑戦!
はじめてのマシン語 - IchigoJamではじめるArmマシン語その1」(書籍化しないと!)


htmlenc
& や < などのHTMLで特別な役割を持った記号が混ざったBASICで作ったプログラムは、エンコード(変換)する必要があります。変換を楽するプログラムがこちら! JavaScriptのとってもシンプルな対話型プログラムのベースとしても活用ください。

<script>"use strict" tasrc.onkeyup = function() { var s = tasrc.value s = s.replace(/&/g, "&amp;") s = s.replace(/>/g, "&gt;") s = s.replace(/</g, "&lt;") tadst.value = s } } </script>

JavaScriptのとってもシンプルな対話型プログラムのベースとしても活用ください。

JavaScriptは、iPhone/iPad、Android、PC、テレビ、ゲーム機など、ブラウザが使える端末全部で動くステキなプログラミング言語!Node.jsを使ったサーバーアプリ開発にも使えていろいろお得でオススメ言語のひとつです。
(参考、コンピューターと深く話そう! Macのターミナル入門とNode.jsでつくるwebサービスはじめのいっぽ


本日、新潟県、長岡高専にて起業家甲子園出場チームのメンタリング!


起業家甲子園に向け、気合充分!


廊下に並ぶ、輝かしい歴史!NICT賞も!


メイカー仲間を増やそう、IchigoSodaを使ったIoT体験5分レクチャー。
参考資料「高専生から中学生へ「はじめてのプログラミング、はじめてのIoT」 / 佐世保高専での学び


オープンキャンパスに使ったという、3Dプリンターと簡易版の紙でつくれるロボットがかわいい!


安価に水位を計測するオリジナル基板とIchigoJam! IchigoSodaで即IoT化できますね!

児童1人1台という話題が先行していますが、そのゴールはかなりアグレッシブ!
小中高、学校教育大改革「GIGAスクール構想」をご存知ですか?

GIGAとは、Global and Innovation Gateway for All の略
意訳すると「すべてのこどもたちに世界とイノーベーションへの入口を!」
ゴールはICTによる「個別最適化された学び」の実現!

いよいよ一斉授業に別れを告げ、「時代に取り残され、世界から遅れたまま(文科大臣メッセージより)」の日本国の教育をアップデートする、力強い宣言です。(1996年の経団連の提言「創造的な人材の育成に向けて」がいよいよ実現です!)


「児童生徒1人1台コンピュータ」の実現を見据えた施策パッケージ(令和元年12月19日)を改変」

誰一人取り残さない(インクルーシブ)、個別最適化された学びの実現が目的。その手段として、ソフト、ハード、指導体制をバランスよく作り上げるのがポイントです。「すべてのこどもたちにコンピューター」はその一部。

「児童生徒1人1台コンピュータの実現に向けて「ハード」だけでなく、「ソフト」「人材」一体となった施策を推進していくことが必要です。一番いい方法をみんなで考えて、子供たちのための環境を整えたいと思います」 (文部科学省 萩生田大臣 「GIGAスクール実現推進本部 第1回を開催」より)

3本柱中、一番の難関と思われる「指導体制」に対して、課題がぎっしり
「教師の在り方や果たすべき役割、指導体制、ICT活用指導力の向上方策、年間授業時数、標準的な授業時間、学年を超えた学び」

また、「ソフト」に対しても「デジタル教科書の今後の在り方」とありますが、こちらは「教科書のオープンデータ化」を強く提言したいです。 デジタル時代に重いランドセルを運ばされる昭和スタイルから、スタイリッシュな薄いバッグにパソコンをいれ、楽しく通学する令和スタイルへ!

参考として提示されている仕様書を見ると、全クラスで動画を見ながら授業できるクラスのバックボーンの整備なども記載された、使える高速無線ネットワークをすべての学校に、とも!

ネットをどう授業に活かすか、先行して整備され、一人一台パソコン環境も高専によっては実践している高専のノウハウが活きるでしょう。無線LANがありながらも、学生は思うように使えず、これでは家に勉強したほうが捗るという悲しい意見も聞きました。

本日、鯖江総合戦略会議と福井高専未来戦略会議にて、GIGAスクールの早期実現を提案。

この実現には、各自治体の首長の皆様のリーダーシップが不可欠です(文科大臣メッセージより)
ICTを活かす体制がGIGAスクール実現の要、自治体として力が問われています。

47都道府県、どのくらいICTに力をいれているか否かを見える化してみました。昨日整備したオープンデータを使って、AOSSL化率を新規開発、オープンデータ化、プログラミング準備教育と合わせてどうぞ!


日本のAOSSL化率ダッシュボード」 7x7カラム地図 (TabularMaps7x7)


日本のオープンデータ都市率ダッシュボード」 7x7カラム地図 (TabularMaps7x7)


小学校プログラミング教育準備状況ダッシュボード


参考、「児童生徒1人1台コンピュータ」の実現を見据えた施策パッケージ(令和元年12月19日)

この資料、大事なのは真ん中!

links
- GIGAスクール構想の実現について:文部科学省

オープンデータ伝道師会に遠隔参加。2020年度中にオープンデータ都市率100%が政府目標。あと65%、どう広げられるかなど議論。本日は鯖江からオンライン参加。

検索するのが現状のweb、次世代のwebは検索する必要すらなくなります。

例えば、その場所の地方自治体のページ、緯度経度がわかれば辿れるはずですが、現状ではその一覧が整理されていない状態。 さすがに不便なので、1916ある全区市町村を、時々プログラムで全件チェックして、更新しています。(data on GitHub)

前回調査「年賀アプリで始まる2019年の一日一創!AOSSL化してリスタート!」から1年経ったので、更新してみました。


日本の自治体「Webの安全」対策率
AOSSL化、2018年の15.9%から、大きく進んで(+58%)、74.2%!


日本の自治体ドメインセンサス
合わせてこちらも自動的に更新。自治体っぽくないドメインがちょっと減って、オススメのlg.jpが伸びました。

代表的な位置(緯度経度)、都市名、キャッチフレーズをまとめたCSV/JSONをGitHubで公開しています! 必ずしも最新情報を表すわけではありませんが、ご理解いただいた上、どうぞ、ご活用ください!
code4fukui/localgovjp: list of local government in Japan (日本の地方自治体一覧オープンデータ)


信州アプリコンテスト0で、起業家甲子園出場権を獲得した長岡高専メンバーとのメンタリングもオンライン! ネットは軽く、空間を越えますね!

とはいえ、同じ空間をがっつり共有しないと得られない体験があるのも事実。
高先生向け、春のjigインターン、今年も4月頃公開予定の夏のjigインターン他、鯖江に直接訪れる機会もぜひどうぞ!

山口県周南市、徳山駅直結周南市立図書館にて、プログラミングワークショップ!

イトナブ、大島商船高専生、KidsVenture、PCN仙台、PCN山形米沢、PCN鯖江、いろいろ混成チーム。


第2回、周南きさらぎ文化祭、テーマは「こどもとまなび」


輝き出した、机の上!


PCN仙台で加工された、WS2811 x 10連セット。先端はカシメてあって使いやすい!


接続しよう!電子工作は結構かんたん!


赤、緑、青の順番に値をいれていろんな色で光らせよう!
値を大きくすると、明るくなる!(明るくしすぎると電力不足になっちゃうよ)


リピートの使い方。1x10? 2x5? 3x4? 4x3? 5x2? 10コ全部指定するのももちろんOK!


くりかえし(GOTO)を使えば、ずっとキラキラできますよ!


かわくだりの敵で使ったランダムを使えば、コンピューターに色を決めてもらえる!


それぞれのキラキラLEDかざりができました!


おわったらチェキでひとりずつ記念写真をとって、おもちかえり!


午後は、PCN仙台、おやかた講師による、100mダッシュゲームづくり!


100mダッシュプログラム、おや、向きが逆?どこを直すといいか、わかるかな?


キャラクターは自分の好きなものに変えられるよ!


プログラミングがおわったら、外に出て100mダッシュリレー!


入力をスペースキー(BTN(32))から、ボタン(BTN())に変えて、足踏み用で頑丈なフットスイッチをつないで連打!


臨場感抜群、VR180でどうぞ!

ゲームは自分でつくるともっと楽しい!

10 GSB100:CLS:X=15:CLT 20 LC X,5:?CHR$(236) 30 LC RND(32),23:?"*" 35 WAIT 5-TICK()/180 36 X=X-BTN(28)+BTN(29) 37 X=X&31 38 BEEP RND(20) 39 IF SCR(X,5) GSB200:GOTO10 40 GOTO20 100 CLS:LC10,10:?"KAWAKUDARI" 110 LC9,14:?"HIGH SCORE:";H 120 LC6,16:?"SPACE KEY TO START" 130 IF INKEY()!=32 CONT ELSE RTN 200 S=TICK():BEEP 210 LC12,10:?"GAME OVER" 220 LC12,14:?"SCORE:";S 230 IF S>H H=S:LC11,16:?"HIGH SCORE!" 240 IF INKEY()!=32 CONT ELSE RTN

かわくだりゲームに、BGM、だんだん速くなるしくみ、オープニング、ゲームオーバー画面、ハイスコア記録を追加した豪華版を紹介。見慣れないコマンドは、リファレンスを見て調べてみよう。


リファレンスを家で印刷して持ってきて、自分でがんがん改造していた小学4年生! 今回うれしいことにサポートに来てくれた、大島商船高専生、これはPCN大島、楽しみだ!


今回の機材。


会場は、新幹線徳山駅直結のステキ図書館、3F!


外観、新幹線降りてすぐ!

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / アイコン画像 / プロフィール画像 / RSS