フィボナッチ数を出しまくれ!Scratch, BASIC, JavaScript そして Quest、はたして君の考えたやり方は本当に動くのか!?

フィボナッチ数を出しまくれ!Scratch, BASIC, JavaScript そして Quest、はたして君の考えたやり方は本当に動くのか!?

IMG_3241

昨日のPCN勝山クラブで、こどもがフィボナッチ数列を出したいとScratchでプログラムを組み出しました。何やら小学6年生の算数の教科書にフィボナッチ数列がのっていたらしく、フィボナッチ数列を出す機械を作りたいとのことで、できたソースコードが上の写真。過去2つの数値を足し続ける、ということで変数を2つ、なかなか良い出来です。

では、BASIC だとどうでしょうか。

IMG_3250.jpg

10 Z=1
20 L=1
30 ?1:WAIT60
40 @ズット
50   ?L:WAIT60
60   Z=L+Z
70   ?Z:WAIT60
80   L=L+Z
90 GOTO @ズット

こちらは上記Scratchコードをそのまま IchigoJam BASIC に移植したもの、行数も同じです。ちなみに出たばかりの最新バージョン 1.3b1 。

実行するとこんな具合です。

IMG_3253.jpg

28657 の次に -19168 となっているのは、IchigoJam BASIC の変数箱の大きさが -32,768~32,767 であるため。この範囲外に出ようとするとおかしな値になります。

 

では JavaScript だとどうでしょうか。

IMG_3254.jpg

var zee=1;
var loo=1;
log( 1, "\n" );sleep(1000);
while(1){
  log( loo, "\n" );sleep(1000);
  zee=loo+zee;
  log( zee, "\n" );sleep(1000);
  loo=loo+zee;
}

こちらは IchigoLatte JavaScript に移植したもの、同じですね。

実行するとこんな感じです。1836311903 の次が -1323752223 になっているのは BASIC 同様、変数箱の数値範囲を超えたからです。IchigoLatte JS の数値範囲は -2,147,483,648~2,147,483,647 で、IchigoJam BASIC よりも大きい数字を扱えます。(最後、画面にゴミが出ているのはマシンスタックが不足したためで、IchigoLatteの仕様です。ご愛嬌。)

 

さて、お次はQuest言語で。

IMG_3258.jpgIMG_3259.jpg

IchigonQuestでのソースコードはこういう具合、全11行に移植しました。表示は じゅもん「ぷりんと」でもよかったですが「はこG に入れることが表示である」ということしました。

実行するとこういう具合です。IchigoJam BASIC と同じで 28657 の次が -19168 になっています。IchigonQuest の変数の数値範囲も -32,768~32,767 です。Quest言語は実行しているところも見えるし、変数の中身も常に見えているので楽ですね。ちなみに「ゆっくり実行」もあるので、どこを実行しているのかゆっくり見ながら楽しむこともできます。

 

さて、最後にScratch 3.0でやってみましょう。

IMG_3261.jpg

こちらがソースコードです。現状のScratchと色使いまで同じですね。

実行するとこんな具合、おなじみのネコが喋ります。Scratch 3.0 は一般的なJavaScriptで作られているらしく、数値範囲は ±1.7976931348623157×10³⁰⁸ ぐらいでしょうか(詳細求む)。リッチなプログラミング環境だと表現力もリッチ、リッチな君は挑戦してみよう!ちなみに、何秒見ていれば最後を見れるか、わかるかな?

 

今回のプログラムはあくまで1つのやり方。プログラミングに正解はない、君も君なりのやり方でやってみよう、それこそが「プログラミング的思考」です。


 

IMG_3263.jpg

Scratchの開発者 ミッチェル・レズニック教授 もやって来る「SCRATCH 2018 TOKYO」は今週末 2018.10.20(sat) 、六本木アカデミーヒルズ (六本木ヒルズ・森タワー49階) にて。残念ながら事前申し込みは定員に達したためClosedとのこと。

Scratch好きに会えるチャンス!

 

 

 

 

 

 

 

 

 

.

 

呼吸するLEDで「Lチカウェア」、自前PWMで光る強さをいろんな数式に変えてみよう!

呼吸するLEDで「Lチカウェア」、自前PWMで光る強さをいろんな数式に変えてみよう!

IMG_3199.jpg

胸元で輝く「ウェアラブルLチカ」、最近のお気に入りです。でもちょっと物足りない。

IMG_3215

というわけで今回は「呼吸するLチカ」をやってみましょう。

var ss=new Array(2);
ss[0]=64;
ss[1]=1;

var sn=0;

while(1){
 var t=0;
 while( t<180 ){
  var b=sin8(t);

  led(1);
  sleep( b>>4 );
  led(0);
  sleep( (256-b)>>4 );

  t=t+ss[sn];
 }

 sn=(sn+btn())&0x1;

 sleep(3333,1);
}

使用したOSはIchigoLatte、JavaScriptでプログラミングします。コードはこのようにしてみてください。sinを使ってゆるーりと呼吸するようにしてみました。ちなみにボタン電池で駆動させるため省エネ目的で起動時は瞬ピカモード、ボタンを押すと呼吸モードになります。

いかがでしょう?

胸元がちょっとカッコよくなりました。もう少し尾をひく消え方もいいですね、みんなもsinだけでなくいろんな数式を考えてみよう。

 

contest2018-2.jpg

ギャル電さんのようなLチカウェアを作ったなら、ぜひPCNプロコンに応募を。みなさんの作品、お待ちしています!

 

 

 

 

 

 

 

.

 

低学年はキーボードで運筆から!リンゴが美味しい信濃へお越しの際はぜひ南相木村の文化祭にもどうぞ。この秋は「すべてのこども達に芸術も!」

低学年はキーボードで運筆から!リンゴが美味しい信濃へお越しの際はぜひ南相木村の文化祭にもどうぞ。この秋は「すべてのこども達に芸術も!」

IMG_3167

りんごが豊作、長野県佐久平。

IMG_3142.jpg

今月の南相木村、低学年のクラスはもうキーボードもお手の物。何はともあれまずは運筆。

IMG_3144.jpg

「命令を繰り返したい」というナイスな質問が飛び出し、GOTOをレクチャーしました。やりたいことが出てくるのは良いことです。

IMG_3153.JPG

高学年〜中学生クラスは前回仕掛けて帰った3Dプリンタの剥がしから。

IMG_3146.jpg

綺麗に寺子屋のプレートが完成していました。

IMG_3155.JPG

文化祭の展示に向けて、今度はプレートのついたて作り。

IMG_3150.jpg

これも次回までに完成してるかな?

IMG_3160.JPGIMG_3152.JPG

展示用のゲーム「キノコヲヒロエ」も完成!ぜひ南相木村に立ち寄ってこども達の展示をご覧ください。

IMG_3169.jpgIMG_3172.jpg

この時期、シャキシャキおいしいりんご「シナノスイート」も待っていますよ!


 

Screen Shot 2018-10-16 at 11.42.41.png

「全ての子供たちへ平等に芸術を」、PCN東京を運営している ココロエデュケーションラボ がミュージカル「ひなた号の冒険~7つの島の伝説~」をやります!なんと IchigoJam プログラマーが世界を救う!? というストーリーとのこと。

2018年10月27日(土)、かめあり リリオホール にて!

 

 

 

 

 

 

.

 

全校生徒300人プログラミング!体育館でロボットを制御して自動運転車に乗り込む1〜6年生!

全校生徒300人プログラミング!体育館でロボットを制御して自動運転車に乗り込む1〜6年生!

IMG_5689

福井県の小学校のPTAにお誘いを受け、全校生徒300人 親子プログラミング教室 をやって来ました。

IMG_3102.jpg

まずは前日、PTAの役員の方々に事前レクチャー。さすがに300人ともなると前代未聞の人数、当日は役員の方々にもサポートスタッフとして動いていただきます。60分の予定で開催した事前講習でしたが皆さん面白すぎて手が止まらず、90分に延長。終わり際にも「あ〜もう少し完璧に仕上げたかった」とまさかの親がはまってしまうパターン、宴たけなわの中、翌日に備えて終了です。

IMG_3105.jpg

この日準備したのはカムロボ25台、距離センサー2眼付き。

IMG_5688.JPG

会場は体育館。まずは1〜3年生150人。1,2,3年生一人ずつで3人1組、50組になってもらいました。

IMG_3120.jpg

そして準備したカトラリーAppsタブレット50台。カードの絵柄をタッチ操作で並べてプログラミングします。

IMG_5723.JPG

タブレットで組んだIchigoDakeプログラムはそのままロボットにさして動かすことができます。

Screen Shot 2018-10-15 at 17.37.30.png

今回のお題は松田校長直伝、Uターンして戻ってくるプログラム。

IMG_3123.jpgIMG_3128.jpgIMG_5698.JPGIMG_5709.JPGIMG_5714.JPGIMG_5720.JPGIMG_5726.JPGIMG_5729.JPGIMG_5731.JPGIMG_5739.JPGIMG_5740.JPG

みんな楽しくやってくれたかな?

 

IMG_3129.jpg

お次は高学年、4〜6年生150人。こちらも4,5,6年で一人ずつ3人1組で50組になってもらいました。

IMG_5764.JPGIMG_5770.JPGIMG_5773.JPGIMG_5782.JPGIMG_5783.JPGIMG_3130.jpg

高学年にはキーボードでBASICを打ってもらいます。

IMG_5780.JPG

組んだ通りにロボットが動くか確認。

IMG_5786.JPG

ロボットがうまく動いたら、こどもじどうしゃ Radish に乗り込んで自動運転カーに挑戦!壁に衝突せずに止まれたらOK!

IMG_3134.jpgIMG_3138.jpgIMG_5784.JPGIMG_5785.JPGIMG_5787.JPGIMG_5793.JPGIMG_5794.JPGIMG_5797.JPG

自分で組んだプログラムに自分で乗り込む自己責任。みんな壁にぶつからずちゃんと止まっていましたよ。

 

IMG_5807.JPG

体育館で1〜6年生300人、大人数でやっても楽しいプログラミング。ご要望ありましたら全国どこへでもお邪魔します、お声掛けください!

 

 

 

 

 

 

.

ZOZO前澤さんが見せてくれた素敵なプロジェクトをきっかけに、世界中のこども達が夢ある未来に突き進んで行きますように。

ZOZO前澤さんが見せてくれた素敵なプロジェクトをきっかけに、世界中のこども達が夢ある未来に突き進んで行きますように。

IMG_3097.jpg

ZOZO社長 前澤さん が発表した #dearMoon プロジェクト。夢があって壮大で、とても前澤さんらしいプロジェクトでわくわくします。

前澤さん、最近はすっかりメディア上で時の人のようですが、経営者としての顔の他にもミュージシャン、そしてプログラマという経験もあります。

今から15年前、「ZOZOTOWN」を作る時に見せてもらった前澤さんのソースコード。ZOZOTOWNの前身であるショッピングサイトのコードでした。前澤さんは本屋さんでプログラミングの本を買い、コーディングしてサーバーに配置して運用までを一人で行なっていました。設計は合理的でプログラミング言語の使い方もうまく、卓越したプログラミングセンスを感じたことを覚えています。

 

こども達には将来、月なんかにも行けるようになってもらいたいですね。新婚旅行は月、とか、そういう未来は楽しそうです。

今僕は こどもプログラミング にドップリはまっています。発想力豊かでクリエイティブなこども達に コンピュータ と プログラミング という術を託したら、未来はとても楽しいものになるのではないかと思っているのです。月に行く宇宙船だって、これからのこども達が作って行くことになるでしょう。

IMG_3080.jpgIMG_3082.JPG

#dearMoon 応援版 IchigoDake「ZOZOTOWN Dake」を昨日から装着しました。

ロボットが月に行って うさぎ を捕まえ、火星に寄って 火星人 を捕まえて地球に帰還するロボコンがこちらです。うさぎと火星人をどれだけ持ち帰れるか、みんなも挑戦してみよう!

 

美しいコードは、動きも美しい。

前澤さんが見せてくれた素敵なプロジェクトをきっかけに、世界中のこども達が夢ある未来に突き進んで行きますように。

 

 

 

 

 

 

 

 

.

 

SEとプログラマの違い 〜プログラミング教育とは何なのか〜

SEとプログラマの違い。‬

‪—‬
‪SE:‬
‪車輪の再発明は無駄であると考えている。‬

‪プログラマ:‬
‪多種多様な車輪をいくつも発明する。‬
‪—//‬

‪プログラミング教育は後者であってほしい。‬


 

‪SEとプログラマの違い(2)。‬

‪—‬
‪SE:‬
‪言われたものを作る。‬

‪プログラマ:‬
‪作ったものにメッセージがある。‬
‪—//‬

‪プログラムはアートである。‬


 

SEとプログラマの違い(3)。


SE:
「職業SE」という言葉は聞いたことがない。

プログラマ:
「職業プログラマ」という言葉が存在する。
—//

プログラマの活動域が広いためである。


 

プログラミング教育はあくまで「プログラミング」を教育するのであって、SE教育ではない。‬

‪多種多様な、メッセージある作品を生み出す体験をすること、それが文科省も言う「プログラミング的思考」を養う方法である。‬

 

 

 

 

.

 

絵本で読むプログラミング、フレーベル館より発刊。松田校長による カムロボ×IchigoDake の授業例付き。

絵本で読むプログラミング、フレーベル館より発刊。松田校長による カムロボ×IchigoDake の授業例付き。

IMG_3077

アンパンマンやウォーリーの本を出版している フレーベル館より「プログラミングえほん(1) プログラミングって、なんだろう?」が発刊されました。

IMG_3070.jpg

IMG_3071.jpg

こども達に身近なコンピュータ、それらを操るための「プログラミング」について絵本の形式で紹介されています。本の最後には前原小学校 松田校長 による「カムロボ × IchigoDake」のプログラミング授業例が紹介されています。低学年向けのロボットプログラミングです。

学校図書向けと聞いていますが公式サイトから買えそうな雰囲気です。ぜひ参考にしてみてください。

 

今週末は三国の小学校にて、全校生徒300人プログラミング!?

 

 

 

 

 

 

 

 

.