Archive for the ‘日記’ Category

(プログラミング1) 新たなペアで気分一新

木曜日, 7月 7th, 2016

12回目の授業は、dictオブジェクトとfunctionオブジェクトについての用途や事例の解説。おまけでNumpyで線形代数授業のサポートというか手計算の結果確認にどうぞと紹介。個々の機能を教え尽くしても無意味なので事例紹介ぐらいに留めて、残りの時間をペアプロに。時間的にはミニテスト+解説で45分、残り45分でペアプロ演習ぐらいのバランス。

前回までの成績や話し下手具合(?)あたりを考慮して、今日から新しいパートナーに入れ替えました。これで3度目。2度目の調整時には成績(主にレポートの良し悪し)だけを考慮しましたが、どうにもペアプロにならないペア(何度指導してもドライバー・オブザーバー共に機能しないペア)がでてたのですが、3回目のペア初回を見る限りでは何とかなってるようです。相性といえばそうなのかもしれませんが、もう少し卒なく調整したいな。(指導した)先輩に入ってもらうのが一番やりやすそう&効果高そうなんだけど、うまいこと仕組み作れるかしら。

ペアプロ時にやる内容として「(レポートとは切り口が異なる)演習」を用意してあって、例えば今やってもらってるのは簡易ガチャ・シミュレータ。細かくサブ問題にしてありますが1演習の中では一連の流れを想定してタスク化してあるので、やるタイミングが1,2週間空けると思い出す時間が必要で。そこで前回は90分丸々演習の時間にしてみたのですが、これはこれで集中力が続かないようで中だるみがやや出てる雰囲気を感じました。もしくは、「喋りながらやる」こと自体が大きいエネルギーを必要としてるという話?。どんな要因にせよ、ペアプロ90分連続は無謀っぽいか。何かしら休憩挟むのが良いのかも。

(プログラミング1) ペアプロ演習な日

火曜日, 7月 5th, 2016

昨日終わった11回目のお話。

前回の「先生役やらせて解説させる」の実習版ということで、11回目は演習だけをやることに。ペアごとに進捗の差が大きいのは仕方ないとして、余裕のある(進展の早い)ペア用に演習8まで用意してたんですが、90分ではどこもそこにはたどり着かなかったらしい。ま、良いか。

進捗確認する限りではこんな分布でした。

  • 7.2まで終了: 16人 (約25.8%)
  • 7.3まで終了: 12人 (約19.3%), ~7.3まで: 約45.1%
  • 7.4まで終了: 7人 (約11.2%), ~7.4まで: 約56.4%
  • 7.5まで終了: 17人 (約27.4%), ~7.5まで: 約83.8%
  • 7.6まで終了: 2人 (約3.2%), ~7.6まで: 約87.1%
  • 7.7まで終了: 4人 (約6.4%), ~7.7まで: 約93.5%
  • 7.8まで終了: 4人 (約6.4%), ~7.8まで: 100%

ペア単位での報告ではなく個々人で報告してもらってるからか、奇数になってる報告があるのはやや謎ですが、些細な差ということでひとまず無視。

若干問題なのは、90分時間かけてたにも関わらず7.2までしか逐われなかったペアが45%もいること。ユニットテスト書けという演習なんですが、ここで詰まる学生が物凄く多いらしい。ユニットテストを書くレポートも終えてるのを考えると、ここで詰まりまくるのはちょっととても大分悲しい。ちなみに、いくつか対話に耳を傾けたり質問対応してた限りでは「そもそも書いてあることを読んでない」ケースが多いように感じました。「乱数をどうやってテストするの?予知するの?たまに当たれば良いの?」で悩むという。補足書いてあるのに。。(補足を読んだ上で「範囲内に収まってるってどう書くの??」で詰まるペアもいたけど、この詰まり方は想定内。)

別の詰まり方あるあるは、関数で return 書かずに print させてるケース。何故か実行結果が変数に代入されてないとか、Noneになってる理由がわからないとかで悩みまくるという。うん、1歩ずつ前に進もう。

大きな問題点としては、2回目のペア作成時点での成績からは順位の入れ替わりもそこそこあって、特に「成績とは無関係に自分からはしゃべらない人たち(聞かれたら応える)」同士でのペアがにっちもさっちも進まない状態になってます。何度も指導してみてましたが改善せず。うーん。

ということでそろそろ3回目のペア交換時期かなーと、ペア調整を始めています。残り数回のみですが、考えてることを言葉にして、分からないことは質問できるようになって欲しいのだけど。

レポートとペアプロとで「違う側面を見れてるな」という実感はあるのだけど、やっぱり本来のやり方(経験者にobserverしてもらう)とか、書いたコードを対面でレビューするとかの方が効果は高そうだなー。(対面レビューは少人数の実験ではやってます)

(プログラミング1) 学び方を学ぼうということで調べ方を整理

木曜日, 6月 30th, 2016

10回目はリストと文字列操作をざっくりと眺めるぐらいに留めるか悩みましたが、結果としては解説することにしました。「失敗ケースあるある」の一つ、リストをfor文で回してる間にそのリスト自体を追加削除してしまうという事例について。

後は「細かいリスト操作・文字列操作の類は調べて使えるようになろう」ということで、help(), リファレンス、インタプリタ上での補完を利用した調べ方をやることに。

これらと、レポート3の「先生役やらせて解説させる」の時間とでほぼ授業終了。残った時間は自習にイベント紹介(by いんぱるす先輩)に、シラバス振り返りを通して達成目標の再確認して終わり。

解説させる件は、それなりに意味があったように思います。準備させてスタートしたら時間カウントダウンするぐらいですが、割とまじめに取り組んでくれてたので。ただし一部にはどうしても準備不足な学生もいて、そっちへの対応が難しく。授業とは別の時間なら個別対応するんですが、授業中には「レポート準備できてないなら教科書開いて、はい、ここで説明して」と指導するぐらいしかやれず。準備できてないならそこで止まるわけで、にんともかんとも。

欠席・レポート未提出具合からすると1割ぐらいは単位でない可能性もありえるのだけど、大丈夫かしらん。

国際会議の参加費は$500ぐらいが相場

火曜日, 6月 28th, 2016

だと思ってたのは学生の頃なので、もう15年ぐらい前の話か。ここ10年ぐらいは殆ど国際会議に参加してなくて、今年は久しぶりにSMC2016に参加してきます。この国際会議に出るのも2回目かな? 申し込み自体は3回したはずだけど、ブッキングでキャンセルしたはず。

SMC2016の参加費$350とか書いてましたが、メールに書いてるのは additional paper なお値段でした。通りで安かったわけだ。。今回のやつはメンバーシップ割引使って$650。やっぱり高いよなー。学生なら$350らしい。うらやま。ちなみに研究費は学生旅費で無くなるぐらいしかないので、今回のは旅費含めて全部自腹になる見込みです。諸々込みで30万ぐらい?(見積もってないので良く分からず)

国際会議の値段が高い最大の理由は、それなりに小奇麗なホテル使う(バンケットやランチとか込み込み。3食込みのことも)だからなんだけど、下手な会議だと「セッションに発表者しかいない」こともあって、高い金払ってそんなことしてもなと思わざるをえないです。これまでの経験でそうだったケースはないけど、聴講でそういうセッション見たりすると可哀想で。発表内容なり分野の問題もあるんだけど、安くする努力はして欲しい。。

ちなみに、ホテルではなくイベント会場借りるケースもあって、「普通の研究発表を映画館ぐらいの舞台付きスペース」でやることも。学生の頃に一度だけそのケースに遭遇して、先輩と一緒に前日確認してビビってたのが懐かしい。

IEEE PDF eXpress との闘い

金曜日, 6月 24th, 2016

SMC2016の最終論文提出が差し迫ってきたこともあり、今週は最終準備にとりかかっています。レビューで頂いたコメント対応するぐらいならすぐ終わるなと高をくくっていたのですが、実はスタイルファイルが古かったことに気づいたり。メールで届いてるアップロード方法の通りではうまく進まず、学会サイト上にある手順を踏む必要があるという整合性が取れてない状態になってたりで、変なところで躓いてました。

ということで中身の修正はちゃっちゃと終わってたのですが、一番のネックはIEEE PDF eXpressの自動チェックがなかなか通らなくて。埋め込まれてないフォントがある(分かる)とか、PDFのバージョンが悪い(分からなくはないが)とか、ハイパーリンクが埋め込まれてる(??)とか。

ハイパーリンクの件であれこれ調べても有効な対策が見つからず。hyperrefパッケージを読み込む際にオプション指定(bookmarks=false)すると良いというパターンが多いのだけどそもそもそのパッケージ読み込んでないし。けど、オフィシャルで用意されてるスタイルファイルで指定されてるurlパッケージは使ってて、これでURL記入すると自動でリンク埋め込みになる(そりゃそうだ)。それなのに「ハイパーリンク埋め込み禁止」って意味不明なんですが。それだけならまだしも、パッケージ使わずに単に本文中にURL記入するだけでリンク埋め込みになってしまい「???」な状況に。

すったもんだした挙句、「実際に埋め込まれててビューワがそれに反応してるケース」と「実際には埋め込まれて無いけど、ビューワが勝手にお世話を焼いてクリック対応してるケース」とがあることに気づきました。これが目視では全く区別つかないのだけど、Acrobatでテキスト編集し直すとハイパーリンクが消えるらしい。実際にはこの時点でもビューワはクリック対応するのだけど、試しにサイトに送信したらpassしました。なんだよそれ。。。

一先ずfinal paperを提出できたので、後はregistrationするぐらいか。early registrationだt$350らしい。

プログラミング1サポートありがとうございますおやつタイムのご報告

木曜日, 6月 23rd, 2016

呼びかけの結果、参加希望8名のところ7名参加で美味しく頂きました。

プログラミング1の成績はレポートの比重が高いのだけど「テストはしないの?」という話題が。やってみるのも一興ではあるなw シラバスには書いてないので、成績とは無関係ということを伝えた上でやる分には面白そう。課題理解含めて90分で終わらせる分量のテストってどんな感じかなぁ。

留学決定祝いを兼ねた食事会

木曜日, 6月 23rd, 2016

阿波連さんが沖縄版(?)トビタテ!留学JAPANに通ったらしく、お祝いと激励を兼ねて研究室で食事会してきました。

話を聞いてみた感じでは、募集時点では大まかなプランというか概要+目標提案になっていて、採択後に一緒に具体案に落としこむ等のサポートをする形らしい。現時点では具体的にどういう計画でどこに行くのかは決まっておらず、事前提出した目的に合致するように県内企業含めて協力してもらえるらしい。イイネ!

大学院だと必ずしも休学しなくても良い(勿論休学しない場合学費はかかる)けど、今のところ休学する方向で検討してるらしい。いろんなやり方あるので、これから検討していきましょう〜。

Pythonのアプリケーション化 (Pyinstaller)

水曜日, 6月 22nd, 2016

PyInstaller is a program that freezes (packages) Python programs into stand-alone executables, under Windows, Linux, Mac OS X, FreeBSD, Solaris and AIX.

ということで、Pyinstallerなるものがあるらしい。学科内ではあまり用途が思いつかないけど、個別に環境構築やらするぐらいなら、アプリ配布の方が都合が良いというケースでは便利そうか。

試しに使って見た限りでは、

  • インストール: pip3 install pyinstaller
  • 適当なサンプルスクリプト用意。
  • アプリケーション化: pyinstaller –onefile script.py

するだけで scirt という名前のアプリケーションが作れるという。ターミナルに標準出力するスクリプトから作成したアプリだと、アプリ起動するとターミナルが起動して実行されます。出力終わったら瞬時に終了するのでtime.sleep()とか入れないと見れないけど(ぉ)。ターミナル側の設定で「シェルが終了したら自動でウィンドウを閉じる」の設定が影響してるらしい。これをOFFにしとくと自動で終了はしなくなるけど、不便だな。自動でアプリを終了しないようにするオプションがありそうなんだけど、軽く調べる限りでは見当たらない模様。無いのかなー。

P.S.
今回、理学部修士の学生から「Pythonのexe化」について相談したいという連絡が届いて、初めてPyinstallerなるものの存在を知りました。私の環境だとOS違うしPyinstaller使ったこと無いという状況でしたが、先方はプログラミング初心者ということもあってそれでも話を聞いて欲しいということで相談にのることに。結果としてはその場での解決はできなかった(ごめんなさい)けど、怪しいポイントとしてはAnacondaかなぁと。そう考えた理由は、Python標準ライブラリで済む範疇のプログラムならexe化できるところは確認できたけど、numpy使ってると失敗するという状況だったので。アプリケーションは作れるけど、途中でTypeError等エラー出まくりになアプリになるという。Anaconda環境下にpipでpyinstallerをインストールしたようですが、conda使うのが良いのかもしれない。いずれにしても、可能ならアプリ化じゃなくてスクリプト自体の配布を選択するが面倒事少なそうな気がします。

先日の質問話したからという訳ではないですが、プログラミングの授業を持つようになって、シラバス・ブログでそのことを書く頻度が増えてからメールなりでの「学科外からの相談」が増えてます。こういうのも「動機があって行動する人はする」という一例ですね。授業にかぎらず論文読んでて分からないところがあったら著者に連絡取るとか、ダメ元で行動するというのはやるに越したことはない。

先生に質問したくなるような授業づくり

火曜日, 6月 21st, 2016

先生に質問しない日本の大学生というのは「あるある」の一つだよね。私自身が学生だった頃は、結果的には先生を使い倒すつもりでやってました。あくまでも結果論で、そうしようと行動してたわけじゃないです。一般高校からの入学だったこともあってどれもこれも目新しくて楽しくて。PC触るのほぼ初めてで楽しくて。Hello World! 出力するだけで感動して。割とほとんどの専門科目で質問してたんじゃなかろうか。ただし、授業中ではあまり質問しなかったかもしれない。教科書や参考書を読み漁って、考えてもわからない所があれば質問するというのを繰り返してました。

どんな形であれ「質問せずに放置する学生」については、授業料もったいないな、面白く無いのかなと思う一方。教員になった以上、質問したくてたまらない授業づくりも同じぐらい大切だと思うのですよ。プログラミング1ではレポート&ペアプロぐらいしか機能してない気がするので、まだまだ努力(練具合)不足。面白い課題作れてないという解釈のほうが理解しやすいのだけど、応用ではないので基本だから「やればできる」レベルの間はそもそも質問しようがない、という側面もある?

学び方という点では、どの教科でも「教科書を隈なく100%理解できるまで繰り返す」ことがやれるか否かだと思ってるので、如何にそう仕向けるかが肝だよね。輪読ゼミで「○○ってどういう意味?」みたいな質問するのもその一環。如何に「なんとなく」で読み飛ばさせないかという工夫が必要で、その工夫の中身は「やりたくなる」仕掛けがあるとベター。アフターケアだけじゃなく、事前準備にも工夫が仕組まれてると更に良い。言葉だけの能動学習とか言ってないで、そう仕向ける工夫が必要。

難しいのだけど、学生がやらないのを嘆くだけじゃなく、教員側がやれる努力はやろうよ、と。

(プログラミング1) おやつタイムの開催

金曜日, 6月 17th, 2016

サポート学生の皆さんへの多謝!

来週は休講で授業がないということもあって、その時間を利用して何か美味しいものでも食べようと声掛けした所、おやつタイムの希望が出たのでその時間に開催したいと思います。参加希望する人は以下から参加下さい!

日時: 6/23(木), 15時
場所: 工学部1号館5階会議室 (予定)
参加申請: 調整さん

P.S.
買い出し部隊にやる人(要車持ち)がいたら、別途何らかの形でコンタクト取ってもらえると助かります。