Archive for the ‘講義/実験’ Category

my first english class

火曜日, 4月 11th, 2017

Data Mining Theory started from last year. Only 7 students (all japanese) joined in this class last year, however this year had about 20 students (including 4 foreigners) already. I’m not sure the reason (timing simply?), so feel a strange about this increasing stuation.

This class has two objectives (1) learn a general process in DM and/or a few models of ML as a tool for DM, (2) read applications (up-to-date conference papers). In the part 1, they will read books Data Mining and Python Machine Learning for a fundamental knowledge. After that, they will read best papers on the related conferences for applications.

Enjoy!


大学院の講義データマイニング論を昨年度から実施しているのですが、昨年度は受講生7人(全員日本人)に対して、今期は受講生20数名(留学生4人)でまだ増えそうな状況です。大学院で選択科目なのにこんなに多いのは変な気がするけど、前期開講するとこんなものだったりするのかしら。

基本的な流れは同じで、まずは教科書で基礎を学んでもらいます。学生の希望で、今回はData MiningPython Machine Learningの2冊をやることに。これが終わったら関連学会のベストペーパーを読んで貰う予定です。

(英語だと enjoy とか普通に書いちゃうけど、日本語だと適当な言葉が思いつかないな)

学生実験で高成績だったグループとご飯

水曜日, 3月 29th, 2017

実験2では口頭試問とかやってますが、2回分のレポート共に上位にランクインしたということで声掛けしてあった食事会に行ってきました。ラーメン避けたい、肉とか洋食とか食べたい、ということでプリモキッチンへ突撃。

あれこれ話を聞いてると、今度の3年次関連のいろんな行事を早めたいグループがあるらしい。一番大きなのは研究室配属関連か。情報収集に関連のある、卒研中間発表を早めるようお願いしてみるとイイネ。年次指導の意向で決まる部分が大きいのだけど、「私が担当する学年は基本的に前倒し。他の先生が少しずつ後ろにずらす」みたいな傾向になりがちかなぁ。

他に大きなものは実験3,4か。こちらは國田先生やenPiT関連の影響と、一部実験テーマの入れ替えがある予定です。実験班分け日はそろそろ吉田先生が告知してくれるはず。現時点では来週末(4/7(金), 3時限目)という話を聞いてるので、変更なければこの日にやるんじゃないかと。

来週から新入生が来ますが、インストール大会の準備してくれてる人もいるらしい。slackでも盛り上がってますね。ありがとうございます。

口頭試問の始まり

月曜日, 2月 6th, 2017

実験2の探索アルゴリズム1では例年「グループでレポート作成すること。提出後に口頭試問ね」という形でやってます。例年に比べてテーマ実施日自体が後ろにずれた分、口頭試問開始がやっとこさ始まりました。別件で予定していた比較的大きなタスクがなくなったので対応できてるけど、例年通りのタスク量だと死んでた気がしなくもない(遠い目)。

「口頭試問」というのは私自身が学生だった頃は、翁長先生の情報数学だったかそのあたりで遭遇しました。ここでいう翁長先生は今いる技術職員の翁長さんではなくって、「情報工学科設立」で音頭を取られていた教授です。当時既に忙しい教授だったこともあって「平日休講、代わりに週末授業」みたいかこともちらほらあったような。その流れで口頭試問もやられてたんだよな。今考えると教授レベルで全員額受講する必修科目で個別に口頭試問実施してたのって凄い。個別実施ということもあって「何をテストするか」は一般的な試験並みに範囲が広く、実質的な筆記テストに近かった。それを教授の前で口頭で説明したり、ホワイトボードで書きながら例示したり。学生のレベルに応じて内容も変えてたんだよな(後で学生間で感想話してて気づいた)。

一人ずつ個別にやるほどの体力はないので、私の場合は「グループ単位で実施」にしてます。これでも全グループチェックするのは結構時間取られますが、「実際に説明させて、気になるところに突っ込む(コードレビューのレポート版)」というのはそれなりの効果があるだろうということで頑張ってます。学生も楽しんでくれてるようで、何より。

(変に事務仕事に時間取られるより学生との時間を取りたいよね)

2016年度/プログラミング2の口頭試問日調整

火曜日, 1月 31st, 2017

最終更新日: 2017/01/31, 9:30

プログラミング2・最終課題の口頭試問日調整用の記事です。

なお、口頭試問は「ペアもしくはチームでレポート提出する人たち」が対象です。
「空き時間目安」を参照の上、「口頭試問希望の手順」に沿って調整してください。
便宜上2月末まで期日を記入していますが、レポート提出締め切りから1週間程度を目安に終えるようにしてください。


口頭試問希望の手順

(1) レポートを提出(共有フォルダにアップロード)する。
 フォルダ名は「e165700+e165761」のように、グループメンバ全員のアカウント名を+で列挙して下さい。

(2) 提出後、別講義向けに書いてる「空き時間目安」を参照の上、希望日&時間帯をメールで申請する。その際、グループメンバもCcに含めること。
 なお、原則としてグループ単位での実施です。
 どうしても全員が揃う日程で調整できない場合には個別相談ください。

(3) 特に問題無ければ、私から承認メールを返信します。

(4) 予約時間帯にグループメンバ全員で口頭試問。(約20分程度。長いと30分オーバーになることも)
 *場所はその都度調整します。(デフォルト地創棟508の予定)
 *レポートに書いてあることを説明してもらいます。
 *当日は予め提出されたレポート(PDF)を見えるように準備します。
  用紙等の準備は不要です。(追加したい資料があれば電子データで提出ください)


メモ

実施状況
(現時点で無し)

2016年度/情報工学実験2/探索アルゴリズム1の口頭試問日調整

金曜日, 1月 27th, 2017

最終更新日: 2017/02/23, 17:13

探索アルゴリズム1の口頭試問日調整用の記事です。
「空き時間目安」を参照の上、「口頭試問希望の手順」に沿って調整してください。
便宜上2月末まで期日を記入していますが、レポート提出締め切りから1週間程度を目安に終えるようにしてください。


口頭試問希望の手順

(1) レポートを提出(サーバにアップロード)する。
(2) メールで提出報告する際に、空き時間目安を参照の上、希望日&時間帯を申請する。
 提出時点で希望日時を調整できていない場合には後日申請でも構いません。
 同様に、既に提出済みのグループは別途メール申請してください。
 なお、原則としてグループ単位での実施です。
 どうしても全員が揃う日程で調整できない場合には個別相談ください。
(3) 特に問題無ければ、私から承認メールを返信します。
(4) 予約時間帯にグループメンバ全員で口頭試問。(約20分程度。長いと30分オーバーになることも)
 *場所はその都度調整します。(デフォルト地創棟508の予定)
 *当日は予め提出されたレポート(PDF)を見えるように準備します。
  用紙等の準備は不要です。(追加したい資料があれば電子データで提出ください)


空き時間目安

下記はあくまでも目安です。変更が入る都度変更していきますが、下記時間帯で対応できないこともありますので、ご了承ください。
便宜上「2時限目」を開始時間にしていますが、1時限目での対応も適宜調整しますので希望するグループがいたら相談してください。また、(センター試験期間を除き)土日の希望があれば検討しますので相談ください。

2/1(水), 2時限目
2/2(木), 2時限目
2/3(金), 3〜5時限目

2/6(月), 2〜5時限目
 10:20-10:40程度, 金4, 地創棟508
 11:00-11:20程度, 金5, 地創棟508
2/7(火), 3〜5時限目
 14:40-15:00程度, 金6, 地創棟508
 15:00-15:20程度, 月7, 地創棟508
2/8(水), 2〜3時限目
 10:20-10:40程度, 金10, 地創棟508
 11:00-11:20程度, 金8, 地創棟508
2/9(木), 2時限目、5時限目
2/10(金), 2〜5時限目
 14:40-15:00程度, 金9, 地創棟508
 16:20-16:40程度, 月6, 地創棟508
2/11(土), 2〜3時限目?(希望者複数あるなら固めてやりましょう)
 11:00-11:20程度, 月10, 地創棟508

2/13(月), 2時限目、4〜5時限目
 10:20-10:40程度, prog2/e165704+e165723, 地創棟508
 10:50-11:10程度, 月8, 地創棟508
 11:10-11:30程度, 月4, 地創棟508
 11:40-12:00程度, prog2/e165719+e165726+e165744
 13:00-14:00, 修論予備審査
 14:40-15:00程度, 月2, 地創棟508
2/14(火), 2〜3時限目
 10:30-10:50程度, 月8(e155755/search2), 地創棟508
 11:00-11:20程度, B4発表練習, 地創棟508
 12:50-13:10程度, prog2/e165721+e165754+e165759, 地創棟508
 13:30-13:50程度, B4発表練習, 地創棟508
 14:40-16:30程度, 実験4発表会, 地創棟508
2/15(水), 2〜5時限目(午後は会議入る可能性高し)
 10:20-11:20, 修論予備審査
 12:00-12:20程度, 金2, 地創棟508
 13:00-14:00?, 学科会議
 14:20-14:40程度, 月9, 地創棟508
 14:40-15:00, prog2/e165708+e165711, 地創棟508
2/16(木), NG(卒研最終発表日)
2/17(金), 4〜5時限目?
 16:20-16:40程度, 金3, 地創棟508
2/18(土), 2〜3時限目?(希望者複数あるなら固めてやりましょう)

2/20(月), NG(修論最終発表日)
 14:00-14:10程度or16:00-16:10程度, search1/fri2(e155718)
2/21(火), NG
2/22(水), 2〜5時限目(午後は会議入る可能性高し)
2/23(木), 2時限目、5時限目
2/24(金), 2〜5時限目?
2/25(土), 10:20-11:00
 10:20-10:40, 月3, 地創棟508


口頭試問未実施グループのリスト

>未実施
月3,5

>終了(search1)
月2,4,6,7,8,9,10
金2,3,4,5,6,8,9,10


メモ

提出状況一覧(メール報告があった分)。
下記の日付&時刻は、レポートPDFファイルのタイムスタンプです。

>探索アルゴリズム1
月2, 2/6, 5:10
月3, 2/6, 22:54
月4, 2/6, 12:52 -> 2/13, 14:36
月5, 2/4, 15:30
月6, 2/6, 0:40 -> 2/10, 17:48
月7, 2/6, 20:31 -> 2/7, 15:48
月8, 2/6, 23:06 -> 2/13, 13:56
月9, メンバインフルエンザのため2週間延長。->2/13, 18:31 -> 2/15, 16:22
月10, 2/6, 18:25 -> 2/11, 12:01
金2, 2/3, 22:36
金3, 2/4, 12:02
金4, 2/3, 2:37
金5, 2/3, 21:54 -> 2/10, 22:47
金6, 1/31, 14:32 -> 2/7, 15:15
金8, 2/3, 17:55 -> 2/8, 12:37
金9, メンバインフルエンザのため2週間延長。->2/4, 10:24
金10, 1/29, 13:32 -> 2/8, 11:17

>探索アルゴリズム2
月2, 2/6, 5:07
月3, 2/6, 23:07
月4, 2/7, 00:01
月5, 2/4, 15:42
月6, 2/6, 0:41
月7, 2/6, 20:35 -> 2/10, 16:05
月8, 2/6, 23:35
月9, メンバインフルエンザのため2週間延長。-> 2/13, 22:56
月10, 2/6, 23:06
金2, 2/3, 22:40
金3, 2/3, 21:08
金4, 2/3, 13:14
金5, 2/3, 23:34 -> 2/10, 21:26
金6, 1/31, 13:00
金8, 2/3, 20:49
金9, メンバインフルエンザのため2週間延長。-> 2/6, 12:01
金10, 2/3, 16:06

ゲームの例が分かりやすいとは限らない

木曜日, 5月 19th, 2016

プログラミング1の5回目が終わりました。そろそろ半ばに差し掛かると考えると15コマの少なさを強く感じます。5回目の中身は「for文」を中心としつつ、派生話題としてシーケンス集合と浮動小数点取り扱いについてのお話。

毎週やってるミニテストの出来が芳しくなかった(正解率6割)こともあって解説時間が少し長くなりましたが、それでも演習時間を40分強確保できました。手を動かしながら考えないとね。

それにしても辛い。DQやFFをやったことがないはともかく、「グループ攻撃というのを聞いたこと無い人?」でも手を挙げる人がちらほら。そ、そうか。ゲームネタの方が分かりやすいと思って演習にちらほら盛り込んでたけど、そうでもないんだな。反省。(何で演習や課題でのネタ作り悩むな)

ゲームネタを避けて、for文の例としては「例えばこの講義の受講生全員に対して、個々人の点数に応じて何か処理したい場合、ひとりずつ繰り返して処理するよね」という話したり。whileでもforでもどちらでも書けるケースはあるけど、書きやすさという点で向き不向きがあるから特徴を抑えよう、と。

P.S.
授業開始前にレポート出せてない学生に声掛けしてみたところ、提出し忘れただけ1件、理由をうまく説明できないかもしれない人が2件、といった感じかしら。自分から動いて欲しいけど、切っ掛けとして一度呼び出してみるか。

レポート出せないこと自体はともかく、友人・先輩・TA・先生なりに質問できない、のだとするとそれは問題なわけで。そうだと決まったわけじゃないけど、授業前後だと時間撮れないからちゃんと話ししづらいので、一度時間取って話してみようかと。

プログラミング1の演習チェックでの共通項

金曜日, 5月 6th, 2016

過半数までは届いてないと思いますが、圧倒的に「変数名をてーげーに付ける」ケース多し。設問文の悪さも影響してると想像しますが。それにしても「enemy = ‘naltoma’」とするところを「enemy = (‘naltoma’)」としてるケースもそこそこあって。この書き方はどこを参照してこうしたのだろう。タプルはまだ教えてないし、例題にも出てきてないから、丸括弧は関数使う時しか使ってない気がするのだけどな。

あと、フォントサイズが異常に小さい(7.5ポイントとか)とか、色盲テストさせられてる(背景色と文字色の組み合わせがよろしくない)ケースも結構あります。文字サイズはともかくとして、よくその色で作業する気になるな。。そういうのをセレクトする人がスライド作るととんでもないことになりそう。そういう人には配色図鑑(?)的なものを見せると良いのかしら。画像検索で良いかもだけど、身近で触れてるものによろしくないのが多いとそっちに引きづられそう?

レポート課題の方は、私・先輩らを頼ってどうにか仕上げてる学生が出始めてます。考え方・取り組み方の例示(問題を分解して考えるとかのデモ)を兼ねて次回はじっくり時間取ろうかと思ってたけど、そこまでやらなくても良いのか悩むな。

プログラミング1の相談対応しながら実験1のレポート採点終了

月曜日, 5月 2nd, 2016

GW前にレポート締め切りがあると、GW中に採点できてなかなかいい塩梅です。疲れるけど、混雑嫌いなので適度な近場巡りでお仕事するのが例年の過ごし方。いや、今日は平日なんだけど。

実験1はほぼ毎週異なるテーマについての実験レポートが課されるので割りと大変な授業です。なんですが、独自課題やって良いよと書いてるとかなりハマる学生がたまにいて。今回もオリジナル課題で30ページ強書いて提出してる学生がいました。変態ですね(褒め言葉)。

採点方法は「基準点設定して、内容に応じて加点減点」してることもあって、100点を超えることが割りとあります。超えた分は自己満足にしかならないんですが、後期の実験2では私担当が2回あるので、「2回で合計200点満点」とかやってたりします。こっちだとたまに100点超えることで嬉しい人が出てきます。(それでも片方で超えちゃう人はもう片方も超えがちなんですが)


採点中に1年次からプログラミングの課題について相談が。分からないことを質問しに来るのは偉い。必要な材料は一通り教科書+授業で用意していますが、「道具が揃ってるからといってどう使えばよいか分かるわけじゃない」のはそうだよね。個々の道具をどう使えばよいかという問題と、それらの組み合わせ方を考えるという道具側からのアプローチと、逆に問題側からできるレベルにまで分解していくアプローチと。どんな方法でも良いけどやっぱりいきなり正解に辿り着けるわけでもなく。そのことは分かっているので、過程をレポートとしてまとめて欲しいです。

とか書いてたら、別学生からメールでも質問来ました。よしよし。

実験レポート採点で疲れた合間に作ってみた

日曜日, 5月 1st, 2016

diff

例年コピペレポートが数件見つかるのですが、そういうレポートに遭遇すると「採点時間使わせるなよ」と怒りゲージが溜まるか、ダークサイドに転がり落ちそうになります。まだ採点途中ですが、精神安定のために簡易なコピペチェッカーを作ってみました。シェルスクリプトな実験だったので、シェルスクリプトで。

流れとしては次のようになってます。細かいこと無視して重複行チェックを閾値調整してるだけ。空白含むファイル名の対処とか懐かしい。

  • レポートファイル(texファイル)の一覧生成
  • 二重ループにして全組み合わせをチェック
  • コピペ判定は「ファイルの中身をsort + uniqしてから共通行数をカウント」して、これがある閾値以上ならイエローフラグ立てる
  • 見やすいように重み調整してGraphvizで可視化

注意: これはあくまで共通してる行数をカウントしてるだけ。例えば texファイルのヘッダ部分や見出し等、同じ課題でテンプレートファイルも用意してるので、様々なところで同一行が出てきます。閾値もあまり良く考えずに見やすい範囲で調整しただけなので、「今回の結果=コピペ」というわけじゃない。あくまでも共通行が多いよ、というだけの出力です。

例えば、大きなクラスタの中央にe155727さんがいますが、これはtex勉強会主催者でその流れでテンプレート配ってたんだよね。共通行が多いのは内容のコピペじゃなくて、テンプレート。これは仕方ない。

document開始行以降で重複チェックするだけでも質が上がりそうですが、ま、目安なのでこのぐらいで。というかそこまでシェルスクリプトで書きたくないし、目視抽出してたコピペ関係も出てきてるので、とりあえず満足。

(プログラミング1) 3週目は予定通り演習時間がメイン

木曜日, 4月 28th, 2016

今日は演習時間60分近くとったのだけど、あちこちで手が挙がる。先輩らが大量に居てくれて大助かり〜。何かの機会にご飯でも食べに行きますか。

prog1-w3

3週目の内容はこんな感じ。毎週の共通フレームとして、

  • お告げ: 何かしら新入生に向けた言葉。
  • ミニテスト: 復習と予習について簡易チェックし、結果を見ながら補足説明。
  • 解説: 新しい内容についての解説。主に教科書への補足。
  • 演習時間
  • 宿題: 教科書読み指定+α。

という流れで進めてます。先週までは解説時間が長かったので、今回は「文字列、if文、関数」についての簡易的な説明に留め、先週やり残した演習からやってもらうことに。

予定通り今回は演習時間を眺め(60分弱)取れました。変数使ってみる演習1〜4と、if文と関数を使う演習5。進捗的には予想よりは遅め。過半数(6割弱)は演習2終了したぐらい。早いペアは演習3まで終了(2割弱)。遅いペアはまだ演習1が終わったぐらい(2割弱)。

これはいろんな理由が被ってるようで、
(1)タイプ(キーボード操作)が遅い(要練習)、
(2)問題文が練れてなく意図解釈で戸惑ってる、
(3)演習内容は復習のつもりだけど、まだまだ理解不足(演習で手を動かしながら悩み、1つずつ理解プロセスを歩ませるしかなさそう)、
(4)そもそも進むスピードが早い、

(5)ペアプログラミングが機能していないグループもある(喋らず、個別に悩んでるグループあり)、
といったところかしら。

問題文が練れてなくて解釈難しいのは100%私のミス。申し訳ない。質問対応でなんとかしてみてるつもりですが、見逃してる部分も多々ありそう。

進展スピードは、今週が3回目の授業で、そのうち1回目がガイダンスだったことを考えると、実質的には今日を含めてまだ2回しか具体的な中身をやっていません。その2回で、インタプリタ、スクリプト、演算子、変数、代入、型、文字列、if文、関数、マニュアル、命名規則、といった事柄に触れててアップアップ気味かも。去年までの例だと、今の時期ってまだprintf()してるぐらいなんだよね。

詰め込み過ぎかもしれないけど、各々の道具を単体では面白いことができないので、ループぐらいまでは次回で触る予定。予定は未定ですが、そこから後は復習を兼ねた演習を増やす形にした方が良さげかなー。