読者です 読者をやめる 読者になる 読者になる

遊び tokidoki 仕事

数学と音楽と教育と遊び

Top | おしごと | ゼミ | がくせい | すうがく | かがく | きょういく | おんがく | おきにー | Tips | Photo | イベント | ものもう | あれこれ | About

動機づけの内在化への新たな挑戦-中間報告-

おしごと きょういく がくせい scratch すうがく

動機づけの内在化への新たな挑戦 - 遊び tokidoki 仕事で告知したように,
大学生の学びへの内発的な動機を如何に復活させるか,
を真のテーマにして行っているプログラミングの講義.

シューティングゲーム作りまでは,比較的多くの学生に受け入れてもらえたように見える.
つまり仮想的に与えられた外発的動機をいくらか内在化させて課題に挑んでくれた.
その結果は,学生が提出してきた趣向溢れるシューティングゲームたちに現れている.

しかしここ3回ばかりはもうちょっと精密にアルゴリズムを考えよう,という趣旨で,
そしてちょうど高校数学Aで互除法も登場するから,という理由もあり,
整数の話題でプログラムを組んでもらっている.
素数を探すとか,約数の個数を数えるとか,素朴な話題ではあるけど,
やはりゲームに比べるとテンションは下火だ.
3回目の話題は互除法がテーマ.Scratchならビジュアルに互除法が提示できるので,
早速作って見せてみた.(まぁ,反応は...推して知るべし)
f:id:okiraku894:20141209194954p:plain
実際の実行は↓にて(Shift+緑旗:ターボモードでないと超遅いので注意)

整数の性質に関するアルゴリズムの話のついでに,Project Eulerを紹介した.

翻訳版は→Project Euler - PukiWiki
数学的なプログラムの問題集で,世界中から参加し挑戦しているそうだ.
その第5問が「1から20全てで割り切れる最小の整数を求めよ」と,
ちょうど今回の話題にぴったりだったので,話に出したのだった.
(もちろん,素因数分解すれば分かる話だが,これをプログラムで解く,というのが本題だ.)

で,嬉しかったのがこの後.講義が終わった午後,
一人の学生が「出来ました」といってプログラムを送ってきたのが↓
f:id:okiraku894:20141208163716p:plain

f:id:okiraku894:20141208165223p:plain:left
なんとなんと.てっきり互除法でやってくるかと思ったら,
全く想像していない別の発想,そして,とてもシンプル!
もちろん,しらみ潰しに全部の数に当たっていくため,
互除法利用に比べるとずっと遅い.
遅いのだがこの解法,味がある.


プログラミングをずっと担当してきて
時々こういったとてもユニークな発想をする学生に出会う.
いわゆる勉学,数学方面ではパッとしない学生でも,
プログラミングに異常に強いという学生はたまに見かける.
そしてそういった場面に出くわす度,
「人を評価する」という行為は,実に,実に難しいものだと痛感する.
そうして大概の人は他人が貼るレッテルに乗っかってしまって,
自分の本来的な力を封印してしまうものなのだ.
だから指導する側は本当にしっかりと目を見開いて学習者を観察せねばならない.

さて,自分はScratchという大変楽しい道具に出会った.*1
次回からはScratchで図形描画.勢い余って,GC的なものを作ってみた.
意外とできるもんなんだ,Scratchで!
f:id:okiraku894:20141208170245p:plain
実際のScratchプログラム↓

*1:実はごく最近,もう一つ楽しい道具に出会った.そしてそれはこれまで幾度か試みながらもやれずにいたことだ.現在ではGenerative Artと呼ばれている世界.そこへ容易にアクセスできる道具を見つけてしまったのだけど,それはもうちょっと修業を積んでから.いつか公開.