« 2020年9月 | トップページ | 2020年11月 »

2020年10月

2020年10月27日 (火)

Scratchの疑問

 Scratchのサンプルをみていると、疑問に感じることがある。

疑問1:「ずっと」ブロック

 とりあえず「ずっと」ブロックを使ってその中で処理を行っているサンプルをよく見かける。疑問は、なぜ、ずっとブロックの中で終わるのか? である。
例えば↓のようなサンプルだ。

Forever

このプログラムの意図は「スプライトが端に触れたら止まる」であろう。そうであれば、繰り返し処理は「ずっと」ではなく「<>まで繰り返す」が適当だろう。

While

そういえば、「ずっと」繰り返すの意味や、「ずっと」と「<>まで繰り返す」の違いを説明しない。

Forevervsuntil

「ずっと」ブロックの意味を説明しないから、学習者がサンプルを改造するときに、よく間違う。学習者に子供が多いからといってもちゃんと説明すべきだと思う。

 NHK for Schoolの「Whyプログラミング」では、スクラッチを始めよう。(04:54あたり)で「ずっと」ブロックを説明している。

疑問2:イベントドリブン

 Scratchはイベントドリブンで書けるようになっている。
ところが、↓のようなサンプルを見かける。

Forever2

「ずっと」ブロックの中で押されている↑↓→キーで条件分岐している例だ。
どうしても条件分岐を使いたいなら、わからなくもないが、キー押下はイベントが用意されているので↓のように書くとスッキリする。

Evantdriven


Scratchの「全てを止める」ブロックは、イベントの発生まで止めないので、↑の例では、スプライトが端に触れると移動は止まるが、↑↓→キーで向きは変わる。ちょっとハマってしまった。


最近の投稿
Yoshiのよしなしごと】【ICT×教育】【Yoshiのブログ

2020年10月20日 (火)

技術の移ろい <諸行無常だ>

 諸行無常ですなあ...

 専門学校は技能者を養成する学校で、技術者を育成する学校ではない。 技術者は時代によらず恒常的に必要とされるが、技能者は社会のニーズにより養成される。 だから、flashクリエーターのようにニーズが無くなれば養成されなくなる。 IT関連の技能は必要とされる期間が短いから、時流に乗れば引く手数多だが乗り遅れたら目も当てられない。

 専門学校でも、時代に左右されにくい技術者を育成すればよいのだが、1年2年では難しい。 早く技能を習得して早く現場に投入する。これが専門学校に課せられた使命だろう。

 特にIT関係の技能を習得した人が認識しておかなければならないことは、IT関係の技術は移ろいやすいので、習得した技能だけでは一生食っていけないことだ。 この事実は専門学校に入学する前には決して教えてくれないし、在学中にも教えてくれないことが多い。

 IT業界で食っていく方法は2つある。食っていける技能を習得し続けて価値のある技能者でい続けるか、技術を習得してテクノロジストになるかだ。 いずれにしても、新しいことを取り入れて消化するスキルが必要なのだが、それは専門学校では教えてくれない。

 つまり、就職してから自ら習得しなければならない。 だから、就職して最初に出会う上司、同僚は重要だ。


最近の投稿
Yoshiのよしなしごと】【Yoshiのブログ】【よしなしごと】【最近の書籍・雑誌

2020年10月17日 (土)

なぜ日本の教育は、諸外国と違いオンラインの波に乗れなかったのか

なぜ日本の教育は、諸外国と違いオンラインの波に乗れなかったのか 石戸奈々子 CLIP (2020/9/24)

  • 日本の教育のICT化が遅れている。
  • 工業化社会に適した教育の成功体験が情報化社会への転換を遅らせている。
  • プログラミング教育に誤解がある。

という内容だ。

 内容に目新しさはないのだが、Facebookのコメントを読むと賛否両論だ。 否定的な意見の人はオンライン教育か、集合教育かの二項対立として捉えているようだ。よくある反応だが、集合教育の方が効果的な科目もあるだろうし、オンライン教育の方が効果的な科目もあるだろう。

 オンライン教育否定派の人でも今回のコロナ禍で避けられないことはわかっただろう。 一方、オンライン教育肯定派は集合教育と同じ教え方をオンラインでやろうとしている人もいるのではないだろうか?

 重要な観点は、昔できなかったことが現在、そして極めて近い将来できるようになる。そのときに何を変えるべきかということだろう。

 たとえば、教師が板書して、それを生徒が書き写し、書き写した内容を記憶し、記憶しているかテストするという作業は、ICTが無かった高度成長期には有効だったのだろう。 ところが、世の中は変わってしまったのだ。 ICTを使うと、教師は毎回板書しなくてよいし、生徒は書き写さなくてよい。

 大人たちは、板書を書き写す作業の中で重要なことは何なのかをもう一度考え直さなくてはならないのだと思う。
それは、

  • 教師が書くことか?
  • 生徒が書き写すことか?
  • 書かれた内容を生徒が覚えることか?
  • 書かれた内容を生徒が理解することか?
  • 生徒が考えることか?

それがわかれば、重要でない作業はICTで効率化すれば良い。必要なことは、大人がそれを考えることである。

 求められる人物は、誰かが答えたことのある正解を記憶している人ではなく、誰も答えたことのない問題の最適解を求められる人に変わるのである。


最近の投稿
Yoshiのよしなしごと】【Yoshiのブログ】【よしなしごと】【最近の書籍・雑誌

2020年10月14日 (水)

ルビィのぼうけん

ルビィのぼうけん リンダ・リウカス作 鳥居雪訳

Photo_20201010213401

 この絵本は、新しいことを覚えるのが好きな女の子、ルビィ(Ruby)、変わり者と呼ばれているペンギンたち、孤独が好きな雪豹(Snow Reopard)、ときどきオジャマ虫を育てている狐、カップケーキを作っているロボット、ニシキヘビがペットのジャンゴが登場する。

 IT業界にいる人は思わずニヤリとしてしまう。 そうそう、仕事で旅行にでかけているルビィのお父さんの写真は、まつもとさんに似ている。 もし、主人公がパールちゃんだったら、おばさんだから、物語が変わってしまう。

 この絵本は、リンダ・リウカス氏は子どもたちが「プログラマー的思考」ができるようになるために書いたようだけど、文科省がはじめた「プログラミング教育」の「プログラミング的思考」で参考にされているようだ。

 この本の「プログラマー的思考」にある要素のうち、「プログラミング的思考」で扱いにくい要素があるようだ。
「データ構造」「抽象化」「関数(一般化)」「デバッグ」が扱いにくく、「シーケンス」「小さく分ける(分解)」「ループ(繰り返し)」「アルゴリズム」は扱いやすいようだ。

 大人向けの部分に書いてある、「れんしゅう1」から「れんしゅう22」までのすべての要素を継続的に教えると「プログラマー的思考」ができるようになるのだけど、一部それも単発では「プログラマー的思考」は無理だと思ってしまう。

閑話休題

 大人向けの解説に↓こんなのがある。

Algorisms

 最近モヤモヤしていたことだ。

 プログラミング教育でよく使われる、code.orgの古典的な迷路(angry birds)アルゴロジックはアルゴリズムを題材にしたものだ。 これらサイトでは正解すると少ないステップ数があることが示される。

 それはそれで良いのだけれど...少ないステップ数のアルゴリズムの方が良いアルゴリズムだと教える人がいる。

2s

↑これより、↓これの方が良いのだと。

1s

「ルビィのぼうけん」の解説にあるように

異なったアル ゴリズムは、それぞれの用途によって使い分けるものです。

なのだ。 

 一般的には、簡潔なアルゴリズムの方が最適であることは多い。しかし、プログラムを高速化するときに、ループを展開して順次処理にするのは常道だから、簡潔なアルゴリズムがいつも最適とは限らない。

 状況や場面によって最適のアルゴリズムは異なるから、状況や場面に合わせて選択しなければならない。 だから、複数のアルゴリズムを考えられる、頭の柔らかさ、発想の柔軟さがとても×2重要だ。

 教える人は、迷路の問題のアルゴリズムを教えるときに、「最小ステップが最適だ。」ではなく、「少ないステップにするにはどうしたらよいか?」という問いかけが必要なのだと思う。


最近の投稿
Yoshiのよしなしごと】【ICT×教育】【Yoshiのブログ

2020年10月11日 (日)

効率のいい学習方法を身につけるためのスキル <若いときに身につける>

「100点は目指さなくてもいい」 いつの時代も古くならない仕事の生み出し方 note CXO 深津貴之 東洋経済

深津貴之氏は

「例えば100時間を自由にできるのなら、気になっているプログラミング言語やグラフィックなどの個別のスキルを学ぶより先に、すべてに応用できる『効率のいい学習方法を身につけるためのスキル』習得に時間を割くのがいい。リサーチや分析の仕方、推論の立て方といったものもそうですね。学ぶべき内容を抽象化・モデル化し、横展開が可能なアセットにしていく。そうすれば今の僕のようにエンジニアやデザイナー、経営者とさまざまな顔を持っていても、学んだことを無駄なく生かせるんです」

とおっしゃる。

「効率のいい学習方法を身につけるためのスキル」は重要だと思う。身に付けることができれば一生使えるスキルだろう。

歳を取ったき

 新しい知識・技能を習得するには大きなエネルギーが必要だ。
若いときは、エネルギーが余っているから、比較的簡単に新しい知識・技能を習得することができる。 歳を取ると、新しいことに挑戦しなくなるのは心掛けの問題ではなくエネルギーが減ってくるのが大きな要因だろう。

 エネルギーがある若い間に「効率のいい学習方法を身につけるためのスキル」を習得しておけば、年をとって減ってきたエネルギーを効率よく使って新しい知識・技能を習得することができる。

試行錯誤

 新しい知識・技能を習得するには試行錯誤が必要だ。
「効率のいい学習方法を身につけるためのスキル」があれば試行錯誤が減るから、新しい知識・技能を速く、安価に習得できる。

「試行錯誤」を言い換えると「失敗しても諦めないこと」だ。失敗すると精神的ダメージを受けるから、打たれ弱い人は一度の失敗でリトライしなくなって、なかなか新しい知識・技能を習得できない。 だから、「効率のいい学習方法を身につけるためのスキル」を身につけるためには、失敗してもリトライする気持ちと成功体験が必要だろう。
経験的には、若いときに試行錯誤を経験することは良いことだ思う。

ところで

 残念ながら「効率のいい学習方法を身につけるためのスキル」は効率よく学習できない。だから、試行錯誤が必要だ。
人生100年時代を生きるためには、「効率のいい学習方法を身につけるためのスキル」が必要だ。若いときに試行錯誤して身に付けると良いと思う。

蛇足

 蛇足かもしれないけれど、60年生きてきた経験では、「効率のいい学習方法を身につける」方法は「正解を覚えること」ではない。


最近の投稿
Yoshiのよしなしごと】【Yoshiのブログ】【よしなしごと】【最近の書籍・雑誌

« 2020年9月 | トップページ | 2020年11月 »