探究型プログラミング学習(探プロ)

プログラミングの考え方を学んで、未来を創る力を手に入れる

プログラミングの考え方を学んで未来を創る力を手に入れる

【レポート】お弁当をつくろう!マルチタスク編 2019.07.21

先週に引き続き、マルチタスク編のlittleBitsワークショップでした。

 

まだまだすっきりしない天気が続きますが、子どもたちは朝から元気に集まってくれましたよ。

今回は少し人数が少なめだったので、おもいきって保護者の方にも参加してもらう形式としました。

本当は途中から分けるつもりだったのですが、とても良い雰囲気だったので、そのまま一緒に参加して頂きました。

いつになく参加者の満足度が高かったのは、その影響だったのかしら??

 

前回と内容は同じですが、マルチタスクの考え方をより理解してもらえるように、ところどころ見直しました。

前回の様子はこちら。

【レポート】低学年向けマルチタスクワークショップ 2019.04.14 - 探究型プログラミング学習(探プロ)

 

最初に、マルチタスクの説明からです。

f:id:dig_learning:20190721225549p:plain

細かく分ける、同時に実行する、という2つの概念を、いろいろな形で伝えていきます。

 

あと10分でお家の人が帰ってくるのに、TVに夢中になりすぎて、宿題もお手伝いも終わっていない・・どうする?

TVを観ながら宿題をやる人?

と聞いたら、ほとんどの子が手を挙げなかったので安心しました(笑)

 

そのあと、もしかしたらマルチタスクの達人かもしれない、お父さん、お母さんに、どうやってたくさんの仕事を片付けているのか聞いてみよう

という時間をとりました。

個人的には、そこだけで30分くらいやっても良いと思っているのですが、みんなlittleBitsを早く触りたそうだったので、泣く泣く3分程度に。

おうちに帰ってから、親子でじっくり、会話してもらえたら嬉しいです。

 

考え方が少し理解できたところで、littleBitsを使って実際にマルチタスクのプログラミングをしてもらいます。

こういった難しいプログラムも、ブロック教材なら簡単に表現できるところが良いですね。

初めてlittleBitsを使う人がほとんどでしたが、皆しっかり使いこなしていました。

 

そして最後は、お弁当づくりのワークへと進みます。

前回はいまひとつの評判だったお弁当画像ですが、差し替えたところかなり見栄えするようになりました(笑)

f:id:dig_learning:20190721230255p:plain

でも、皆に作ってもらうお弁当は変わらないのですけどねー

 

f:id:dig_learning:20190721230411p:plain

1つずつ作ると22分かかるお弁当を、マルチタスクの考え方を使って早く作るにはどうしたら良いでしょう??

 

f:id:dig_learning:20190721232121p:plain

あーでもない、こーでもない、と頭を悩ませながらも、全員、正解に辿り着くことができました。

すごいねー、マルチタスクの考え方を使うと、こんなに早くなるんだねー

めでたしめでたし!

 

というわけにはいかず・・

実は、もっと早くする方法があるのです。

それは・・・

 

コンロを増やす、料理する人を増やすなどなど

条件を変えることで、もっと早くすることができます。

コンピュータでいうところの、マルチプロセッサの考え方ですね。

 

1時間という短い時間ですが、1つ1つを丁寧に、順を追って理解できるように進めていきました。

年長さんや一年生には少し難しかったかもしれないのですが、何か1つでも、想い出に残ってくれていたらいいなー

 

今回は、一緒に参加していた保護者の方々が、頷きながら聞いてくださったのがとても嬉しかったです!

是非、お子さんと一緒に、マルチタスクの考え方を使って家の中にある仕事を早く片づけるにはどうすれば良いか?考えてみてほしいと思います。

夏休みの自由研究にも良いですね!

自由研究にプログラミングの考え方を取り入れたい方は、いつでもご相談くださいね。

 

さて、次回のワークショップはしばらくお休みとなります。

代わりに、8月はイベントをやりますよ!

 

 

4回に分けて実施してきた探プロのワークショップを凝縮してお届けします。

普段なかなかできないlittleBits工作も体験できますよ!

夏休みの想い出に是非、遊びに来てくださいね。

 

ではまた!

【レポート】お手伝いをしよう!アルゴリズム編 2019.07.14

小学校低学年向けとしてリニューアルした探プロのワークショップ。

4回コースがぐるりと一周したので、再び第1回のアルゴリズム編に戻ってきました。

前回の様子はこちら。

 朝からあいにくの天気でしたが、小学生(5年生、3年生、2年生)とその保護者が元気に集まってくれました。

 

三連休ということもあって人数が少なめだったので、じっくり向き合って対話しながら進めました。

そして、普段は後ろの席で見守ってもらうだけの保護者にも、今回は隣で一緒に体験してもらいましたよ。

 

保護者と一緒に子どもたちが体験するのはメリットもあればデメリットもあり・・・

判断に迷うところなのですが、今回はとても良い雰囲気でできたと思います。

子どもが大人に教えたり、大人の習得の速さに子どもが刺激を受けたり。

ご協力いただいた参加者の皆さんに感謝します!

 

今回のテーマはアルゴリズムでした。

f:id:dig_learning:20190714234308p:plain

最初に、歯磨きを例にしてアルゴリズムのメリットを伝えます。

皆さんは普段、歯磨きの手順を守っていますか?

いつも同じようにできていますか?

TVを観ながら、新聞を読みながら・・・

あれ、どこまで磨いたっけ?ということはありませんか??

 

そんな適当な(!)人間とは違って、歯みがきを指導する歯磨きロボットは、完璧に仕上げることができます。

f:id:dig_learning:20190714234510p:plain

さて、それはなぜでしょう?

ロボットすなわちコンピュータは、アルゴリズムの考え方を知っているおかげで

いつも

なんどやっても

かならず

同じけっかがでる

 のです。

 

今回お伝えしたアルゴリズムは、順次構造と分岐構造、それから繰返し構造といった基本の3つです。

初めてlittleBitsを使う皆さんと一緒に、実際にプログラミングをしながらアルゴリズムの考え方を学びました。

 

littleBitsを使うのは初めて!

という方ばかりでしたが、意外にさくさくと進んでいくので、途中でいろいろな小ネタを挟みながら、ブロックを増やしながらお伝えしました。

 

そして最後にチャレンジしてもらったのがこちら。

f:id:dig_learning:20190714234954p:plain

Forkという名前のブロックを使って、2つの命令を分岐させるプログラムを作ってもらいます。

この課題を出した途端、場が混乱状態になるのはいつものことです。

先ほどまでの順調さとは打って変わって、皆が苦労していたので、あらためて、なぜだろう?と考えてみました。

 

どうやら、複雑なものを目の前にすると、人間は無意識のうちに、難しいものと捉えて複雑なまま理解しようとしてしまうようです。

そうすると、ブロックを外したりつけたり、途端に手元がおぼつかなくなってしまいます。

つい先ほどまでは、ブロックの役割やアルゴリズムの考え方を使ってプログラミングができていたにも関わらず、です。

 

こういうときほど、基本に立ち返る必要があります。

プログラムは、命令の集まりであり、その組み合わせにすぎません。

 

この例であれば、2つのプログラムを「分岐」というアルゴリズムの考え方を使ってつなげているだけです。

だから、複雑なものを目の前にしたら、まずは分解してみることをお勧めします。

最小単位のブロックまで分解できれば、1つ1つは単なる「命令」です。

それを、動かしたい内容に合わせて、順番とルールに従って組み合わせていくだけです。

 

作っている途中は難しくても、出来上がったプログラムを前にすると

なんだ、こんなに簡単なことだったのか

と気づくとと思います。

littleBitsはプログラミング教材でもなんでもありませんが、こうやって、手と頭を使って考え方の基本的なところを習得できるところが良いなぁ、とあらためて感じました。

 

アルゴリズムの考え方と、その良さを理解できたところで最後にゲームをしました。

名付けて

はやわざ せんたくゲーム!

 

前回は口頭で伝えることしかできなかったのですが、今回はワークとして実際に考えてもらう時間をとりました。

f:id:dig_learning:20190715000020p:plain

とっても良い天気のある日。

これから家族で出かけることになったのですが、おうちの人から、洗濯物を急いで干して!とお手伝いをお願いされました。

とっても急いでいて、あと5分で出かけるのだそうです。

のんびり干していては間に合いません。

どうすれば、早く干すことができるでしょうか?

 

あーでもない、こーでもない、と小学生同士で考えます。

あと5分?じゃあ帰ってからにしようかな、という弱気な発言もありましたが(笑)

そんな中、最年少の女の子が、テキパキと洗濯物を捌きはじめ、しまいにはお兄ちゃんに手を動かすよう指示まで出していました(笑)

 

当たり前ですが、このゲームには答えなんてありません。

どんなやり方だって構わないのです。

ただ自分自身の頭と手を使って、さっき習ったばかりのアルゴリズムの考え方を使うにはどうすればいいか?

ということを必死に考えることに意味があります。

 

2020年度からは、全ての公立小学校でプログラミングの授業が始まります。

どんな授業になるかは各学校次第なのですが、アルゴリズムの考え方を学ぶ機会もあると思います。

ただ、そこで学ぶのは恐らく、

同じプログラムを10回書くよりも、10回繰り返す、というプログラムを書く方が労力が少なくて良い

といった話ではないかと想像しています。

これは、正解のある話の1つです。

学校で教えられるのは、恐らくこのレベルではないかと思います。

 

確かにそうですし、間違っていないのですが、私が伝えたいのはそこではありません。

同じ作業を繰り返すことができると、バラバラにやっていたときに比べて効率UPすることができます。

そして、そのために重要なことは

同じものをまとめる

ということなのです。

 

どういうことでしょうか?

先ほどの洗濯ものの例でいえば、タオルと靴下を、同じものと捉えるのか、別のものと捉えるのか

それは、"干し方が同じ"かどうかで変わってくる、ということに気づけるかどうかということです。

 

大人はこれを無意識のうちにやっていますが、実はとても難しいことです。

洗濯物は分かりやすい例ですが、普段の仕事や家事の中で私たちはどれほど意識できているでしょうか?

同じであることに気づかないまま、ムダに動いていることは意外とあるのではないでしょうか?

違う仕事だと思っていたAとBが実は同じものである、ということは、けっこうあるんですよ。

 

探プロでは、プログラミングの考え方をプログラミングだけに活かすのではなく、日常生活や社会の問題解決に活かすことを目指しています。

今日学んだ考え方を、家族みんなで使って、家の中や学校で活かしてくれたら嬉しいです。

 

さて、次回はお弁当をつくろう!というワークショップを予定しています。

 

テーマは「マルチタスク」です。

子どもたちだけでなく、大人も知っておくと、仕事のできる人!になれますよ。

まだ席に余裕がありますので、お誘い合わせの上ぜひ、お越しください。

 

ではまた!

【レポート】EDIX2019で見つけたプログラミング教材あれこれ

毎年この時期に開催されている、教育ITソリューションEXPO  へ行ってきました。

カラフルなブロックやかっこいいロボットなど、プログラミング教育関連の教材も数年前に比べてぐっと増えました。

そんな中で、探プロならではの目線で見つけた教材をいくつか、ご紹介します。

f:id:dig_learning:20190624064445j:plain

 

EDIXへ初めて行ったのは5年くらい前だったと思いますが、当時は電子黒板や電子書籍、アクティブラーニングというキーワードが全盛期でした。

そのあと、少しずつプログラミング教育のコンテンツや教材も増えて、いまではどこを見てもロボットやブロックの教材ばかり、という感じです。

 

今年は特に、海外の教材が多い印象でした。

中でも、探プロで使っているlittleBitsとよく似たコンセプトのこちらは気になりました。

中国の深センで作っているそうです。

f:id:dig_learning:20190623173313j:plain

f:id:dig_learning:20190623173250j:plain

f:id:dig_learning:20190623173413j:plain

CH MAKER Ed - STEM education made simple

パーツがブロックになっていて、磁石でくっつく仕様はlittleBitsそっくりです。

ただ大きく違うのが、micro:bitと組み合わせて使える汎用性があるところですね。

工作であればlittleBitsの方が使い勝手は良いのですが、プログラミングとなると独自仕様がネックになってなかなか使いづらいのです。

でもこれなら、littleBitsのような使い方でプログラミングの考え方を学びつつ、micro:bitと組み合わせて複雑な動きをするプログラミングにも挑戦、という感じで自然なレベルアップが実現できそうです。

 

センサーの種類が多いところも◎。

パーツ写真の上が低学年向け、下が高学年向けだそうです。

1個あたりのお値段はlittleBitsと同じくらい、と言われましたが、サイトを見てみると、かなりお高い感じですね。

しかも日本にはまだ代理店がないらしく入手は難しそう。

 

続いて、あのバンダイの新規事業部が開発したというこちら。

f:id:dig_learning:20190623174512j:plain

アルゴロイド ALGOROID│3rd Factory(サードファクトリー)

 

スマホタブレットでプログラミングしたロボットを使って対戦、というコンセプト自体は、いろいろな教材で見かけるし珍しいものではないのですが

これはスマホをそのまま車に乗せて使う、というスタイルです。

そうするとキャラクターが表示される仕様なのですね。

 

惹かれるのは、「遊ぶ」ということに拘って創っているところです。

学びの中に遊びを、という一般的なプログラミング教材とは違って、潔い感じが良いなーと感じました。

 

ボードの上で4台まで、同時に遊べるそうです。

開発者の方によれば、学校へ導入しようとしたけど、スマホの持ち込みができなくて・・ということだったのですが、これは学校の外で遊んだ方が絶対に盛り上がるのではないでしょうか。

ワークショップで出したら大人気になりそうです。

個人で購入して、友だちと遊ぶのでもいいですね。これならプログラミングがかなり身近になりそう。

発売後は1年後だとか。これも使ってみたい!

 

 

そして、ダントツでツボだったのがこちら。

とーっても地味なブースだったので通りすぎてしまいそうになったのですが、このブロックを見たら目が釘付けになってしまいました。

f:id:dig_learning:20190623175057j:plain

新コンセプトプログラミング教材 「歌うブロック」のご紹介

 

ブロックの1つ1つにメロディーを登録できるようになっていて、上から順番に鳴らし、繰り返しなども入れて曲を構成する、という仕様です。

 

なるほど、音楽はプログラミングそのものですしね。

いろんな曲を登録できるのだ、という説明をふむふむと聞きいていたのですが、この教材のすごい点は歌うところ、ではなかったのでした。

 

写真にあるオレンジのブロックが、他のブロックより少し右側にズレているのが分かるでしょうか?

なぜだと思います?

これはインデント(字下げ)を表現しているのです。

 

最近よく使われるPhthon(パイソン)というプログラミング言語では、繰り返しの命令をこんな感じで書きます。

for i in range(0, 4):

     print("クワ")

print("ケケケケケケケケ クワクワクワ")

真ん中の文が、少し右側に寄っているのが分かるでしょうか?

こうやって書くと、"クワ"を4回繰り返す、という命令になります。

ではもし、こんな感じで書いたらどうなるでしょう?

for i in range(0, 4):

     print("クワ")

  print("ケケケケケケケケ クワクワクワ")

 

正解は、"クワ ケケケケケケケケ クワクワクワ" を4回繰り返す命令、です。

インデントのある部分を1つのまとまりとして扱うのですね。

でも、これだと違う歌になってしまいますね。

 

プログラミングを一度も体験したことがない人でも、なんとなく雰囲気は分かると思います。

Phthonのようにインデントがなければ意図した動きにならないプログラミング言語もあれば、インデントを全く使わなくても動かせるものもあります。

それでも、コンピュータにとっても人間にとっても、インデントを使って命令の構造を分けて表現することは重要です。

(人間にとってはそれが分かりやすさにつながります)

 

開発者の方曰く、インデントを使ったブロックの並びに慣れておけば、実際のプログラミングのときにも違和感がなくなるはずだから、とのことでした。

そんなところへの拘りに、個人的にはものすごく共感してしまうのですが、どうでしょうか。

プログラミングの前にまず考え方から、を徹底する姿勢に脱帽です。

 

さらに、このブロックはインデントだけでなく、関数にまで対応しているのだから驚きです。

写真右上に、f()と書かれたブロックがあるのが見えるでしょうか?

これが関数(Function)すなわち、同じ命令を何度でも実行できるようひと塊にしたプログラムの集まり、です。

写真左側にf() 2 と書かれたブロックがあるのですが、これは関数2番を呼び出す命令ブロックであることを示しています。

この写真だと、f() 4しかないので呼び出せないのですが、f() 4を呼び出せば、ちゃんと関数が呼び出されて実行されます。

さて、f() 4という関数は何回呼び出されるか分かりますか??

 

パソコンを使わずにプログラムの考え方を学ぶ教材としては非常に良いものだと思います。

これもまた、販売前で価格も未定とのこと。

 

そして最後はこちら。

f:id:dig_learning:20190623182044j:plain

f:id:dig_learning:20190623182029j:plain

Ai.R-Cord - わくわくするようなICT/プログラム体験を

佐賀県にある印刷会社が出店ということで、ちょっと関係性がよく分からなかったのですが、どうやらARを使ったプログラミング教材というコンセプトの佐賀県認定事業なのだそうです。

 

これもまた地味なブースだったのですが、なぜ地味なのか?

それは、ブース内に教材が存在しないから、なのです。

 

周辺には、カラフルで楽しそうなブロックやロボット教材がたくさんあって、キラキラしていましたが、このブースには何もない。

あるのはパソコンと、マーカーと呼ばれる紙キレのみ、です。

 

パソコンのカメラをこのマーカーに合わせると、画面上にARでイルカや車などが表示される仕組みです。

プログラミング自体も画面上でやるのですが、タッチパネル式なので、直観的で非常に分かりやすいものでした。

 

教材が不要という発想は目から鱗が落ちるようでした。

開発者の方も仰っていましたが、このコンセプトは会場内見渡しても他にありません。

 

学校の現場では、教材を購入する費用だったり、使いこなすための技術だったり、故障などトラブルがあったときの対応など問題が山積みで、プログラミング学習を浸透させづらいという課題があります。

 

でも、これは2020年3月まで無料で使えるそうですよ!

そのあとは、学校単位でのライセンスになるので、何人でも何台でも、学校1校あたりわずか10万円/年間なのだそうです。

 

現在はWindowsタブレットしか対応していないそうなのですが、学校現場であれば問題なさそうですしね。

とにかく直観的で分かりやすいところが良いと思いました。

これからコンテンツも増えるようなので、学校関係者の方は要チェックです!

 

たくさん見てきましたが、個人的には以前ほどの盛り上がりに欠ける印象でした。

プログラミング教育というキーワードが以前ほど真新しさを感じないくらい、浸透してきているからかもしれません。

予想通り、教材自体をウリにできる時代はすぐに終わりそうです。

これからは、学習の中身で勝負になるはず。

 

さて来年はどうなっているのか・・楽しみにしたいと思います。

 

@tanpro-lab