2015年10月30日金曜日

2015/10/29(木) da2 授業実施

●電子錠登録・登録抹消
昨日作った登録更新データを処理した。

●進路指導Webサイトの更新
昨日の学部の会議で配布された資料に今後の学生支援行事の日程が掲載されていたので、これらの日程をWebサイトに掲載した。

夜に、いよいよこのサイトについてもレスポンシブWebデザインぽくすることを検討した。まず各ページの先頭に置くためのマストヘッド画像を作ってみた。デザインセンスを云々されるとつらいが、実用上はこれで十分と思えるものを作った。

●卒業研究の指導
昨日に続きKoくんとまとめの方針について話した。さしあたりPowerPointおよびプレゼンテーションソフトウェアについてのみまとめるということであった。

Muさんの進捗状況について少し話し、新しく追加した機能についてそれで十分であるかどうかを検討するよう指導した。

●学生への修学指導
3年次生との面談を行った。昼休みに3名、3限目に2名とそれぞれ面談した。残りは2名になった。

出席調査にひっかかった2年次生2名に、da2の合間に簡単な指導を行った。

●da2 授業実施
4限目・5限目に第7回を実施した。
4限目の最初に小テストを実施したのち、補足スライド資料と3クラス共通のスライド資料に沿って講義を行った。今回のテーマは二分探索木とヒープであった。補足スライド資料のほうにかなりの時間を割いたこともあり、4限目の時間をほとんど使い切った。

5限目にプログラミング演習を指導した。4限目にあれこれとヒントを出したので円滑に進行するかと思ったが、そうでもなく最後の問題でつまづく学生が多かった。この最後の問題については、黒板に書いたヒントとは別に演習素材のJavaソースコードにもともと入れ込んでいたヒントがあり、この二つのヒントが若干異なる方針のものであって整合していなかったので、受講者が混乱したようであった。急きょ黒板のヒントをテキストエディタで清書してスクリーンに投影し、こちらを使うほうが演習素材のヒントを使うより簡単であること、両者は整合しないことを告知した。最終的にはほとんどの受講者が5限目終了時刻より前に退室した。全員が必答問題の解答を終えたのは5限目終了後の休み時間あたりであり、他のクラスよりは遅かったようであるが、それでも十分早かったと思う。6限目には上級問題に挑戦した1名が10分間ほど居残った程度で、すぐに撤収することができた。

履修登録でクラスを間違えていたのに未だ修正していなかった受講者が1名いた。この受講者が持ってきた登録変更の書類に押印した。

●da2 授業処理
小テスト受験状況および演習問題解答状況に基づいてK'sLifeの出席登録データを修正した。
得点を集計し、その得点データを評価用Excelファイルに入力した。成績確認システムにも掲載した。
小テスト正解PDFファイルを授業用Webページに掲載した。

今回の補足スライド資料と演習素材のJavaソースコードについて、授業中に改善すべき点があることに気付いたので、次年度以降に備えてその改訂を行った。

●その他
本日3年次生との面談を行った際に、そのうち1名を介して、他学部の学生からアンケート調査への協力について依頼があり、これを引き受けた。夜に依頼者本人からメールで連絡があり、明日会って話すことになった。

2015年10月29日木曜日

2015/10/28(水) C3PO合同ゼミ、gw 授業実施、卒研ゼミ、学部の会議

●C3PO合同ゼミ
1限目にS研との合同ゼミを行った。NaさんとMaくんからの報告を聴いてあれこれコメントした。
今回Naさんからはシステムの実装状況に加えて中間発表会の準備状況についても報告してもらった。S研内で指導するべきことにまで出しゃばってしまうような気がしながらも、ついついスライドの作り方や説明の仕方についてもあれこれとコメントした。
一方のMaくんに対しては、システムの実装についての指導にかなりの時間を割いたために残り時間が少なくなってしまったこともあり、中間発表会の彼の発表をもう一度この場で繰り返させることはしなかった。

●gw 授業実施
2限目に第6回を実施した。Javaによるネットワークプログラミングおよびマルチスレッドプログラミングのそれぞれについて初歩的なところを説明した。また、実際にプログラムを書いて動かす演習を指導した。受講者3名のうち1名は開発環境が用意できていなかったので授業についてこられなかった。これは受講者のせいというより、事前に準備するべき旨を指示しておかなかった私の責任であろう。
次回には中間テストを実施する。

●学生への修学指導
3年次生との面談を昼休みに行った。今回の2名のうち1名との面談は予定の15分間を大きく超えてしまったが、いろいろと話せたことは良かったようである。

●卒研ゼミ
3限目に進捗報告会を実施した。出席7名、欠席1名(Naくん)。
Kaくんから進捗報告があった。実装がある程度進んでいる一方で、まだ考えを練らなくてはならないところもあった。他の卒研生から有益なコメントがあったことでもあるので、ぜひ面白いシステムに仕上げてもらいたい。
その後、私から評価について説明した。
また、学園祭期間における学部棟への入館について連絡した。

●学部の会議
14:40からの会議に出席した。また仕事が増えた。

●卒業研究の指導
Isくんと面談した。詳細略。

会議後にKoくんのこれまでの調査結果をどうまとめるかについて話した。18時頃になると彼が帰りたい様子を見せ始めたのでそこで打ち切った。明日またをすることになりそうである。

●da2 授業準備
明日の第7回の準備作業を行った。昨年度の補足スライド資料を大幅に改訂した。そのPDF版を作り、3クラス共通スライド資料のPDF版や演習素材と一緒に授業用Webページに掲載した。スライド資料のPDF版のハードコピーも作った。また、スタッフ用として資料全体を所定の場所に置いた。

●電子錠登録・登録抹消
昨日教務課から学生証の再発行2件に関する連絡を受け取ったので、登録更新のためのデータを作った。未処理

●進路指導Webサイトの更新
求人資料1点を掲載した。

●その他
会議資料をScanSnapでPDF化した。

学園祭期間の学部棟の入室可・不可について研究室内Wikiに掲載した。

2015/10/27(火) 情報教育講習会の反省会、卒研ゼミの準備

昨夜疲れてしまって、大学に出てきたのは14時頃であった。


●学生への修学指導
3年次生との面談を昼休みに予定していたことをすっかり忘れていた。該当者2名にメールで謝罪と10/29(木)3限目に再設定する旨を連絡した。この2名のうちの1名と、昨日来室しなかった1名は、幸いにも5限目終了時に教室を訪ねて直接話すことができたので、10/29(木)3限目に面談することを確認することができた。

●情報教育講習会の反省会
8/24(月)に実施した講習会の反省会に出席した。会議室を間違えて、5分間ほど遅刻してしまった。申し訳ないことをした。1時間ほどかけて、次年度の実施に向けてあれこれと話した。結局次年度も学部のまとめ役を引き受けることになった。CNCの委員もやっているので逃げられない。

●CSC運営委員のサポート
4年次生による就職体験報告会の実施についてA先生からメールで相談されたので、検討して返信した。

●進路指導Webサイトの更新
資料をWebサイトに掲載した。

●卒研ゼミ 準備
卒業研究におけるシステムの評価の仕方について、すでにWikiにはページを一つ作ったが、今度はスライド資料を作った。過去の資料やgwの資料から適当なものを寄せ集める程度の作業で済むかと思っていたが、結局それなりの改訂作業を行った。

●gw 授業準備
明日の授業に備えてスライド資料や演習素材の準備を行った。こちらはほとんど昨年度のものをそのまま流用するだけで済ませた。

●その他
机に積もり始めた書類を少し片付けた。

2015/10/26(月) 導入2, PB演習 授業実施

●PB演習 授業準備
続き。技術教育のスライド資料を完成させた。PDF版を作り、さらにハードコピー1部を作った。

4限目の授業中にこのPDF版を学部のサーバ upblow にある技術サポートのページに掲載した。ついでに技術サポートのページに、所定のディレクトリにあるファイルの一覧を出力するPHPスクリプトを追加した。
また、各班の参加人数を確認して、必要部数だけコピーを作った。

●学生への修学指導
3年次生との面談の初日であった。予定の2名のうち1名と面談した。もう1名は来室しなかった。

●導入2 授業実施
3限目に第7回を実施した。スライド作りは次回くらいまでに一区切りつけるよう指導した。
授業と並行して受講者のうち3名と個別に面談を行った。

●PB演習 授業実施
4限目・5限目の第7回に参加した。4限目は前述の通り主に技術教育の準備を行った。
5限目には1階の教室で技術教育を実施した。参加者は8名であった。まず開発環境が使用できることを確認したのち、PHPの基本的なところからWebフォームの実装までを説明した。さらにセッション処理についても説明する予定であったが、持ち時間の75分間ではそこまでたどり着くことはできなかった。これについてはアフターサポートとして後日の質問を受け付けることにした。
開発環境の初期化が失敗したらしい学生が1名いたので、5限目の終わり頃に手作業で設定ファイルの更新を行った。
6限目の終了ミーティングに出席して、簡単に技術教育の実施について報告した。

●PB演習 技術サポート
ある班から経費管理システムからデータを削除することを依頼された。先週も同様の依頼があったので、いよいよ削除機能のページを作ることにした。深夜に簡単に手を着けるだけのつもりで作業を始めたが、結局午前3時半くらいまでかけて完成させてしまった。使い方をMLを通じて関係者に送付した。

2015年10月27日火曜日

2015/10/25(日) PB演習 授業準備

●PB演習 授業準備
続き。サンプルコードを全て準備した。これを掲載する技術サポートのページも改訂した。

次は技術教育の準備をしなくてはならない。昨年度のスライド資料を改訂する作業を続きを行った。未完了。

・宿題1: 技術教育の準備をする。
・宿題2: 技術教育のメニューを作成し、先にスタッフに知らせた上で、受講者に周知する。
・宿題3: 改訂途中のサンプルプログラム(PHPやHTMLのコード)を完成させる。

2015/10/24(土) PB演習 授業準備

●PB演習 技術サポート
続き。システムを調べ、ありうる原因を検討した。結論として、日報一覧ページで選択した日付をセッション情報として記憶していることが問題であるようであった。見解を整理し、メールでK先生および関係者に連絡した。またテキストファイルに保存して受講者も参照できるようにした。

 ●PB演習 授業準備
続き。サンプルコードの改訂の続きを行った。一応のものはできたが、これにアップロードのサンプルも追加しなくてはならない。未完了。

9/09時点のTo-Do項目を再掲すると次の通りである。
a1) サンプルコードのうちCSSに関する部分はもっとHTML5らしく手直しする。
a2) サンプルコードのうちPHPのmysql関数を使っているところはmysqliクラスを使うように手直しする。
a3) Webサーバにファイルをアップロードする機能のサンプルコードを追加する。
a4) Webページに印刷ボタンがあるとき、印刷結果には印刷ボタンが入らないようにするためのスタイルシートのサンプルコードを追加する。
a5) a1)~a4)を含むサンプルコードのすべてに学生がアクセスできるようにBASIC認証を適切に設定する。
a6) 自分の研究室からPB演習に参加する学生のチーム分けを確定させる。
a7) 全参加者のチーム分けが決まったらデータベースに初期データを入れる。

a8) 技術教育を準備する。

2015年10月24日土曜日

2015/10/23(金) 卒研秋季中間発表会(2日目)

●計算機環境の整備
★Wikiの移転: daybreak (Windows Server 2003 R2)からdawn (CentOS 7)へ
続き。PukiWikiのサブディレクトリのうちhttpdから書き込み可能でなければならないものについて、昨日は各ディレクトリのコンテキストのタイプを public_content_rw_t に変更し、SELinuxのブール値 httpd_anon_write を有効にするという設定を行った。
今日はこれについて見直したり調べたりしているうちに、元のコンテキストのタイプ httpd_sys_content_t とは別に httpd_sys_rw_content_t というタイプがあって、これを使えばよいことが判った。次のようにした。
# for i in attach backup cache counter diff trackback wiki;
  do echo $i
  semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/wiki/$i(/.*)?"
  done
# restorecon -RF /var/www/html/wiki
また public_content_rw_t ではなく httpd_sys_rw_content_t を使うのであれば、ブール値 httpd_anon_write は有効である必要はないことも判ったのでこれを無効にした。
# setsebool -P httpd_anon_write off
今回知ったことをまとめると次の通りである。
  • httpd からの書き込みを許したいディレクトリには、SELinuxのコンテキストのタイプとして httpd_sys_rw_content_t ないし httpd_user_rw_content_t を指定すること。
  • すでに設定されたコンテキストに対して上書き変更を行うために restorecon を実行する場合には -F オプションを付けて restorecon -RF /path のようにすること。
移転元のPukiWikiのデータを移転先に統合した。最近のサーバの更新や統廃合に伴う各種の変更をWikiの記載に反映させるついでに、この移転先のPukiWikiのページを更新できることを確認した。
卒研生にMLを通じて移転した旨を連絡した。
★仮想サーバ aurora の調整
上と同様にして httpd_user_content_t とは別の httpd_user_rw_content_t というタイプを使って10/10(土)の設定を変更した。
# semanage fcontext -a -t httpd_user_rw_content_t '/home/[^/]*/html_[^/]*(/.*)?'
# restorecon -RF ~ユーザ名/html_aurora
またこれとは別に、Sambaの設定を変更した。ホームディレクトリ下をクライアントPCから見ると、ドットから始まる名前のファイルやディレクトリが見えなくて面倒であった。そこで、 /etc/samba/smb.conf の homes セクションに書いていた次の2行の頭にセミコロンを付けてコメントアウトした。
; hide dot files = yes
; veto files = /.??*/
その上で systemctl restart smb によって設定を有効にした。

★日報ブログ相互点検システムの移転: auroraからdawnへ
サーバ aurora (CentOS 7)で稼働させていた日報ブログ相互点検システムを dawn へ移した。CentOS 7間の移転であり、すでにPukiWikiを稼働させるために整備したあとでもあったので、動かすだけなら苦労は何も無かった。ついでにCSSを最近の自分のスタイルに合わせる作業を行った。むしろこちらのほうにいくらか手間がかかった。

さて daybreak, midnight, dawn に関する残作業は次の通りである。

残作業1: daybreak および daybreak2 のバックアップ
残作業2: daybreak2 の停止
残作業3: midnight のIPアドレス変更
残作業4: midnight のWebアプリケーションの動作確認
残作業5: midnight のバッチ処理の定期実行の動作確認
残作業6: daybreak から dawn への研究室内Wikiの移行

●PB演習 技術サポート
助教のK先生から日報システムのバグについて口頭で連絡を受けた。要対応

●卒研秋季中間発表会(2日目)
13時から実施した。久しぶりに全員出席。今回はKaくん、Koくん、Inくんの3名がそれぞれ発表を行った。Inくんのみ発表の制限時間を大幅に超えそうであったので途中で打ち切った。秋の中間発表は評価の対象であることを考えると、再挑戦させるべきか、それともこれはこれとして評価して片付けてしまうほうが良いか、多少悩むところではある。

●業務
14時から。力不足のため他の先生方に迷惑をかけた。今後は何とかする。詳細略。

●卒業研究の指導
MuさんにTo-Doリストを作らせた。

●進路指導Webサイトの更新
A先生からメールで流れてきた資料、CSCから流れてきた資料、自分で見つけた資料を、各種の行事日程をWebサイトに掲載した。

●授業改善報告書
先日受け取った授業アンケートの回答をあらためて検討した。未完了

2015/10/22(木) da2 授業実施

正午のちょっと前からオフィスで仕事開始。


●進路指導Webサイトの更新
CSCからメールで流れてきたSPI選手権の資料を掲載した。

●学生への修学指導
研究室に所属する3年次生10名の全員と個別に面談をすることにした。来週の月曜から金曜までの昼休みに毎日2名ずつと面談をするという計画を立てた。その旨をK'sLifeを通じて当該学生らに通知した。

●計算機環境の整備
研究室内Wikiの移行: daybreak (Windows Server 2003 R2)からdawn (CentOS 7)へ
続き。残作業6に取り組んだ。
まず、PukiWikiのサイトからバージョン1.5.0をダウンロードして圧縮ファイルを展開し、その中身をサーバ dawn の /var/www/html の下に置いた。次に、INSTALL.txt の記載に従ってパスワードを設定したり、 chmod 777 やら chmod 666 やらを実行してディレクトリやファイルのパーミッションを調整したりした。その上でWebブラウザから index.php を閲覧したところ、次のようなエラーメッセージが表示された。
Runtime error
Error message :

Directory is not found or not writable (DATA_DIR)
Directory is not found or not writable (DIFF_DIR)
Directory is not found or not writable (BACKUP_DIR)
Directory is not found or not writable (CACHE_DIR)
ディレクトリ wiki, diff, backup, cache のパーミッションは前述の通り 777 にしたが、このエラーメッセージによるとこれらのディレクトリは書き込み可能ではない(not writable)ということであった。別途簡単なテスト用PHPスクリプトを書いて、その中から適当なディレクトリへの書き込みを実行できるかどうかを試してみたところ、確かに失敗した。プロセス httpd はユーザ apache として動いているので、これに合わせてディレクトリ wiki の下を chown -R apache:apache /var/www/html/wiki としてみても、やはり結果は同じであった。

今回も「不思議なことが起きたらSELinuxのせい」という経験則に基づいて調べた。Webを検索して見つかったページのうち、PukiWikiの質問箱4/74というページで同様の問題についての質問があったが、ここので解決方法は「SELinuxを setenfoce 0 で黙らせる」らしかった。SELinux関連のリンク集からRed Hatのドキュメントも見つけたが、この中からすぐに今回の問題の解決方法を見つけるのは難しそうであった。
さて getsebool -a | fgrep 'httpd' すると表示されるブール値のうち httpd_anon_write が何やら関係ありそうな名称であったので、これを検索語に加えて探したところ httpd_selinux のページが見つかった。ここの情報をヒントに次のように実行したところ、めでたくPukiWikiのエラーが消えた。どうやらこれが解決方法のようである。
# setsebool httpd_anon_write on
# chcon -R unconfined_u:object_r:public_content_rw_t:s0 ディレクトリを列挙
普通にWebアプリケーションを動かすだけのために public_content_rw_t を使うのはどうも納得がいかないが、さしあたりこれでしのぐことにする。
なお chcon で実行しただけでは何かの拍子に元に戻ってしまうことがあるので、あとで semanage できっちり変更しておきたい。これはもう少しPukiWikiの動作を確認してからのこととする。

(追記)
より適切な解決方法は httpd_sys_rw_content_t を使うことである。 httpd_anon_write を有効にする必要はない。10/23(金)の記載を参照。

●卒業研究の指導
YoくんにSQLのCOUNT関数とGROUP BY句の組み合わせについて指導した。
Naくんに行事日程のCSVデータをサンプルとして渡し、彼がやるべきことをあらためて説明した。

●PB演習 授業準備
続きサンプルコードの改訂の続きを行った。これは未完了である。また、技術教育の予告の改訂版をメール添付で関係学生に送付した。宿題の残りは次の通りである。

・宿題1: 技術教育の準備をする。
・宿題2: 技術教育のメニューを作成し、先にスタッフに知らせた上で、受講者に周知する。
・宿題3: 改訂途中のサンプルプログラム(PHPやHTMLのコード)を完成させる。

●da2 授業実施
4限目・5限目に第6回を実施した。
4限目には小テストのあと講義を行った。今回のテーマは再帰呼び出しと二分木の探索であった。説明すべき内容の分量が多い上に、途中の二分木に関するクイズでは、新しい方針に反して数週間ぶりに受講者に答えさせるということをしたので、今回は4限目の時間を講義だけで使い切った。
5限目には学習環境に関するアンケートに回答するよう指示したのち演習を指導した。5限目の終わりまでにほとんどの受講者が退室した。必答問題を解き終わらなくて6限目にまで居残ったのは2名だけであった。方針に基づいて、18:15には撤収する旨を6限目開始時に宣言した。撤収直前に1名が解答を終えた。最後の1名は撤収後に私の部屋まで解答を持ってきた。

●da2 授業処理
K'sLifeの出席登録データの修正、小テストおよび演習の得点の記録、成績確認システムへの掲載などの処理を行った。

●その他
K'sLifeの「試験実施調査報告」に各科目の定期試験の予定を入力した。また da2 についてはその旨を関係の先生方にメールで連絡した。

2015/10/21(水) C3PO合同ゼミ、gw 授業実施、卒研秋季中間発表会(1日目)

●C3PO合同ゼミ
1限目にS研との合同ゼミを実施した。MaくんとNaさんの報告をそれぞれ聞いてコメントした。
テーブル設計に修正があった。設計段階で全てを予見するのはつくづく難しい。ウォーターフォールモデルにおいて、設計で100点満点をとるのが無理であれば、最初から時間をかけずに80点ぐらいをとれそうな設計にしておいて、手戻りの発生を覚悟の上でさっさと先に進むべきであったかと思う。恐らくこういうことは設計をやるたびにいつも思うことで、しかも次の機会には忘れてしまっている。
そろそろ評価実験の日程を確保するのが難しくなりつつある。

●gw 授業実施
2限目に第5回を実施した。出席2名、欠席1名。
講義用のスライド資料は全て使い切った。次回は自分の研究の紹介に少し時間を割いたのちプログラミング演習に入ろうかと考えている。次々回は中間テストを実施する。

●卒研秋季中間発表会(1日目)
3限目に中間発表会を行った。出席7名、欠席1名(Naくん)。
今回はYoくん、Muさん、Maくんの3名がそれぞれ発表を行った。

●FD研修報告会
4限目にK先生とAp先生の発表を聴いた。詳細略。

●その他
OB 1名が訪ねてきたので少し話した。卒業後の様子を知れて良かった。

疲れた。

2015年10月21日水曜日

2015/10/20(火) PB演習 授業準備

●計算機環境の整備
★ノートPCの保守
平成27年度貸与ノートPC保守機でWindows UpdateおよびAdobe ReaderとAdobe Flash Playerの更新を実行した。また sfc /scannow を実行した。
ノートPC nightfog でFirefoxの更新とWindows Updateを実行した。また sfc /scannow を実行した。
ノートPC hail で sfc /scannow を実行した。

★仮想サーバ daybreak, daybreak2 の保守
daybreak と daybreak2 でMicrosoft Updateを実行した。
このうち daybreak2 をシャットダウンし、VMware vCenter Converter でバックアップをとった。
また daybreak のバッチ処理に修正を加え、CSVファイル等をファイルサーバにコピーしないようにした(これと同じバッチ処理を midnight で実行するので)。

★仮想マシン midnight (Windows Server 2008 R2) の調整
続き。midnight のIPアドレスをDHCPから固定に変更した。またバッチ処理をWindows Serverのタスクスケジューラに登録した。タスクスケジューラのユーザインタフェースを見ただけでは実行時の作業ディレクトリの設定を変更する方法が全く見当もつかなかったが、検索して判明した

デスクトップPCでクライアントプログラムを動かして、サーバアプリケーションへのアクセスができることを確認した。この過程でサーバ内のMySQLデータベースの科目テーブルに科目データを挿入したが、テーブル構成に関する情報が当時の卒研生の卒論にも十分に記載されていなくて苦労した。当時の私の指導が至らなかったということでもあるが、それ以上にややこしいテーブル設計をするように指導しまったことが問題かもしれない。

今日の一連の作業結果を、研究室内Wikiのサーバに関する記載に反映させた。また機器管理用のExcelファイルにも記録した。残作業は次の通りである。

残作業1: daybreak および daybreak2 のバックアップ
残作業2: daybreak2 の停止
残作業3: midnight のIPアドレス変更
残作業4: midnight のWebアプリケーションの動作確認
残作業5: midnight のバッチ処理の定期実行の動作確認
残作業6: daybreak から dawn への研究室内Wikiの移行

●進路指導Webサイトの更新
CSCからメールで流れてきた学内合同企業説明会の資料をWebサイトに掲載した。

●PB演習 授業準備
宿題に取り組んだ。60分間×2回の技術教育について、大まかな構想は頭にあったが、やたらに時間をかけなくても済む範囲で準備できるように計画しなくてはならない。昨年度の技術教育で使ったスライド資料に手を加えながら計画の大筋を固めた。受講者向けの予告スライド資料を改訂し、Googleドライブに置いて、MLを通じて関係者に連絡した。受講者には明後日10/22(木)にメールで予告を流したい。宿題の残りは次の通りである。

・宿題1: 技術教育の準備をする。
・宿題2: 技術教育のメニューを作成し、先にスタッフに知らせた上で、受講者に周知する。
・宿題3: 改訂途中のサンプルプログラム(PHPやHTMLのコード)を完成させる。

●公開授業参観
C先生の研究科の授業を参観した。主に講義と輪講の組み合わせで、受講者の積極的に取り組む様子が印象的であった。内容的にも勉強になった。
授業参観アンケートの回答用紙(Wordファイル)に記入し、メール添付で学部事務室に提出した。

●C3PO 学生への指導
S研のNaさんから質問を受けたので回答した。

●卒業研究の指導
Koくんに日報を書くよう指導した。
MuさんとYoくんからシステムの実装について相談を受けたので指導した。

●貸与ノートPCの調整に関する会議
パフォーマンスチューニングについて、こちらの試した内容や希望を説明した。

●その他
Ku大学のAr先生からハッカソンの資料をメール添付で受け取った。学部の先生方に転送した。

2015年10月20日火曜日

2015/10/19(月) 導入2, PB演習 授業実施

午前中は自宅で休養し、正午くらいからオフィスに。


●学生への修学指導(準備)
10/17(土)に授業料免除、奨学金、特待生などの制度について整理した結果に若干の不明点があったので、厚生課に電話をかけて尋ねた。二つ以上の給付を同時に受けられないこと、貸与は重複しても差し支えないこと、今回の調べた内容には特に学生に対して秘密にするべき点はないとの回答を得た。

●学習環境に関するアンケート
学部の先生方にMLを通じてアンケート実施に関する協力をあらためてお願いした。

10/22(木)のda2第5回で回答を指導するときに使うスライド資料を作り、Dropboxに置いた。その旨を関係の先生方にメールで連絡し、指導を依頼した。

●導入2 授業準備
先週10/12(月)に受講者から提出された計画書4本のハードコピーを作った。

●導入2 授業実施
3限目に第6回を実施した。今回は1名が若干遅刻しただけで14名全員が出席した。

まず学習環境に関するアンケートへの回答を指示した。次に各自の貸与ノートPCで Adobe Reader, Adobe Flash Player のアップデートを指示した。さらに Windows Update の実行を指示した。この理由は、最近これらの緊急アップデートに関する告知が立て続けに流れてきたので更新について指導の必要を感じたこと、また明日の pkの授業中に Windows Update で貸与ノートPCが使えない状態になると学生自身が困るであろうことである。

これらの実施後、本題に入った。5チームのうち4チームには計画書のハードコピーを渡し、動画作品の制作作業に入るよう指示した。あとの1チームには計画書の作り直しを指示した。この受講者たちの作業と並行して、演習室から別室に移動し、4名と個別に面談を行った(後述)。面談終了後に演習室に戻ったところ、並行して作業を行っていた(はずの)受講者の間にはいくらか緩んで浮ついた雰囲気があるように感じられた。ガムを噛みながら音楽を聴いている者もいて、さすがにこれには注意した。今後このようなことを防ぐために、回ごとに到達目標を与えるなどの工夫が必要である。

授業終了時刻の5分ほど前に撤収を指示した。概ねチャイムが鳴る頃に全員が退室した。

●学習への修学指導
前述の通り、導入2の時間中に1年次生4名と個別に面談した。このうち1名は前回面談した者であり、授業料減免や奨学金に関する調査結果を知らせた。あとの3名にはそれぞれの修学状況を確認して指導を行った。詳細略。

面談の模様の記録に使用したWebカメラについて記載する。ノートPC hail と Logicool Qcam S7500 との組み合わせで録画しようとしたところ、LWSが録画開始時にハングアップする現象が頻繁に起きた。

●PB演習 授業実施
4限目・5限目の第6回に参加した。今回も役はつかなかった。4限目の最初にF社あらためS社のかたが行った講義を聴いて、そのプレゼンテーションとしての評価をGoogleスプレッドシートに入力した。

経費管理システムについて下記の問題について受講者から指摘を受けたので対応した。

(問題1) 経費に関する予定や実績の項目を入力できない。
(原因) 授業実施日の日付データをプロジェクトごとに設定しておかなくてはならなかったが、このデータに不足があった。
(対応) 急きょデータを作成し、phpMyAdminからインポートした。

(問題2) 項目を入力しても計上されない。
(原因) 単価データをチームごとに設定しておかなくてはならなかったが、このデータのうちチームの設定に不備があった。
(対応) phpMyAdminでUPDATE文を実行して修正した。

(問題3) 入力した項目を修正できない。
(原因) 修正する機能はもともとない。あとから同じ日付や種別で項目を入力しても、上書きではなく加算される。
(対応) 必要に応じて私がデータのDELETEを実行した。このような事態は今後も繰り返し起こるであろう。削除機能のページを作るほうが自分自身にとって楽かもしれない。

今日自分が背負い込んだ、10/26(月)までの宿題を整理すると次の通りである。

・宿題1: 技術教育の準備をする。
・宿題2: 技術教育のメニューを作成し、先にスタッフに知らせた上で、受講者に周知する。
・宿題3: 改訂途中のサンプルプログラム(PHPやHTMLのコード)を完成させる。

●新入生オリエンテーションに関する事業計画
As先生からメールで予算申請に関する提案が来たので、検討の上、賛同する旨の返信を送った。

●進路指導Webサイトの更新
A先生やCSCからメールで流れてきた資料3点を掲載した。

●C3PO 学生への指導
S研のNaさんから、PB演習の合間に1回、夜に1回、計2回の質問を受け、それぞれに回答した。

●da2 授業準備
10/22(木)第6回のスライド資料に目を通し、今回も昨年度そのままで済ませられそうであることを確認した。資料一式を所定の場所に置いた。スライド資料のPDF版や演習の素材をWebサイトに掲載した。またスライド資料PDF版のハードコピーを作った。

●da2 授業処理
10/15(木)第5回の小テスト答案は先週末に助教のK先生が採点してくれたので、この答案に目を通し、採点に若干の修正を加えた。得点を評価用Excelファイルに記録し、成績確認システムにも掲載した。

●その他
PB演習の合間に、自分自身の今後について学部長と廊下で立ち話をした。

他研究室の学生について、自分が過去に指導したときのメモを担当の先生に渡した。

To-Do項目を整理した。

2015年10月18日日曜日

2015/10/18(日) オフ

終日オフ。

2015/10/17(土) 計算機環境の整備

午後13時半頃からオフィスに。


●研究室内Wikiの更新
昨日の卒研ゼミで評価実験の仕方についてKaくんから質問された。いい機会であると考えて、研究室内Wikiに“卒業研究におけるシステムの評価”に関するページを作り、まずは評価の意義や方針について留意すべき事項をザッと書いた。また、研究室の蔵書や過去の卒業論文および研究会論文などを参考文献として列挙した。
まだ書き足りないこともあるが、いずれ書き足すことにしては、当面はこれで良しとする。

●da2 講義資料の改訂
10/15(木)第5回のスライド資料に誤字やフォント指定の誤りがあったので修正した。ついでにスライド2枚を追加して、少し解りづらいところを図解した。

●計算機環境の整備
★仮想マシン midnight (Windows Server 2008 R2) の調整
続き。実行中のまま放置しておいた LOAD DATA INFILE 文は「MySQLサーバとつながらなくなった」という意味のエラーメッセージを表示して止まっていた。いよいよ10/14(水)に検討した二つの解決方法のうちの解決方法1を試す。

22) 移行元サーバ daybreak においてXAMPPコントローラでApache HTTP ServerおよびMySQLを停止した。
23) 移行先サーバ midnight においてもXAMPPコントローラでApache HTTP Server およびMySQLを停止した。
24) midnight のフォルダ C:\xampp\mysql を適当にリネームした。
25) daybreak のフォルダ C:\xampp\mysql をまるごと midnight の C:\xampp\mysql にコピーした。
26) midnight のXAMPPコントローラでApache HTTP ServerおよびMySQLを起動した。あっさり成功した。phpMyAdminで中身を閲覧しても、特におかしなところは見当たらなかった。

これに加えて 12) の (c) をやり直した程度でMySQLデータベースの移行は完了した。最初からこれを試せば良かったと思うほど何にも問題が無かった。
各Webアプリケーションの動作の詳しい確認は今後必要に応じて行っていくことにする。早々に動かしたいのは、消費電力データや電子錠登録データを保存・インポートするために稼働させるバッチ処理であるので、これの動作を検証した。

27) バッチ処理を実行したところ、.NET Frameworkの例外やROBOCOPYのエラーが発生することが判った。以下の 28)~33) を行い、適宜バッチ処理の実行を繰り返して動作を確認した。

28) サーバマネージャの「機能」ページから機能追加ウィザードを実行し、「.NET Framework 3.5.1」をインストールした。なお、このときに「WCFアクティブ化」など他の項目にチェックが入っているとIISをもインストールするようで、そのときにはウィザードをいったんキャンセルしてから「.NET Framework 3.5.1」のみをチェックしなおす必要があった。
29) MySQL Connector/NET 6.2.3 を導入した。このバージョンはMySQLのWebサイトでは手に入らないようであるが、移行元の daybreak とバージョンを合わせるためにファイルサーバにあったインストーラを使った。
30) ここまでの作業は Administrator で行っていた。ここで自分のアカウントを作成した。
31) Administrator としてログオンした状態でコマンドラインを開き、 secpol.msc を実行してパスワードポリシーの変更を行った。
32) バッチ処理におけるROBOCOPYの呼び出しにオプション /copy:mt を追加した。
33) バッチ処理の対象となるファイルのあるトップフォルダのプロパティを開き、所有者やアクセス権限などを変更して、このフォルダ以下にある全てのフォルダおよびファイルのフルコントロールを自分のアカウントに与えた。

34) 28)~33) の作業を経て、ようやくバッチ処理がうまく動くようになった。

35) .NET Framework 3.5.1 の導入に伴い 29)~34) の裏でWindows Updateのダウンロードが行われたようで、インストール待ちになっていたので、このインストールを行った。
36) 本日の作業はここまでとして midnight をシャットダウンした。
37) 29)~34) の間にタスクマネージャでパフォーマンスを確認したところ、メモリの使用量が1.6 GBくらいにまで上がっていた。恐らくバッチ処理とWindows Updateが同時に走ると毎回このくらいのメモリを要するであろう。メモリの容量が2.0 GBでは不安を感じたので、デスクトップPCの VMware vSphere Client で仮想マシンの設定を開き、仮想マシンのメモリを3.0 GBに増やした。

現時点で思いつく残作業を列挙すると次の通りである。

残作業1: daybreak および daybreak2 のバックアップ
残作業2: daybreak2 の停止
残作業3: midnight のIPアドレス変更
残作業4: midnight のWebアプリケーションの動作確認
残作業5: midnight のバッチ処理の定期実行の動作確認
残作業6: daybreak から dawn への研究室内Wikiの移行
いずれは daybreak も停止するつもりであるが、その前提条件として残作業4, 5, 6が完了しなくてはならないし、少なくとも1か月間くらいは移行先の midnight の様子を見たい。

●学生への修学指導
10/12(月)の1年次生との面談において、授業料免除などの条件を調べることが宿題になっていた。奨学金や特待生の制度について調べた。詳細略。

●その他
自室の表に貼る今学期の時間割をようやく作った。

2015年10月17日土曜日

2015/10/16(金) 卒研ゼミ、C3PO合同ゼミ

●卒研ゼミ 準備
来週の卒研ゼミでは秋季中間発表会を行う。本日の卒研ゼミはその直前の回であるから、これまでの各卒研生の取り組み状況や進捗状況を振り返ることにした。スライド資料を作り、日報の執筆回数、卒研ゼミへの出席回数、卒研ゼミにおける進捗報告の回数、研究室の基準スケジュールと進捗段階の比較などを図・表としてまとめた。また、各卒研生が夏季中間発表会のときに出した週単位のスケジュールのハードコピーを作った。

●卒研ゼミ
3限目に進捗報告会を行った。出席7名、日報ブログ相互点検による出席排除1名(Isくん)。
Muさん、Yoくん、Naくんの進捗報告を聴いてそれぞれにコメントした。概ね20分間ずつで終わったので、3限目の残りの30分間ほどを使って、準備しておいた資料にもとづいて各卒研生の取り組み状況および進捗状況を確認した。また、各卒研生に自身の出した週単位のスケジュールを配り、重ねて進捗状況を確認させた。

●計算機環境の整備
★仮想マシン midnight の調整
続き。 LOAD DATA INFILE 文の実行はまだ終わらない。時間がかかるとしても成功すれば文句はないが、失敗しそうな気がするので他の方法を調べてみた。

mysqldump
データベースをSQL文として出力するコマンド。phpMyAdminのエクスポート機能でSQL形式を選択したときと同じであろう(恐らくphpMyAdminの中でこれを呼んでいるのではないか)。大きなテーブルのエクスポートやインポートに使うには時間がかかりすぎて向かないようである。

(参考ページ)
  - MySQLリファレンスマニュアル: mysqldump ― データベースバックアッププログラム.
  - phpspot: mysqldumpでバックアップ&復元.

mysqlhotcopy
データベースのコピーをとるPerlスクリプト。Windows用のXAMPP 1.7.3にも付属していたので、恐らくPerlがあれば実行できるのであろうが、試してはいない。MySQL 5.6.20で非推奨、5.7で削除とのこと。

(参考ページ)
  - MySQLリファレンスマニュアル: mysqlhotcopy ― データベースバックアッププログラム.
  - phpspot: mysqlhotcopyでバックアップ&復元.

mysqlbackup
リファレンスマニュアルのmysqldumpのページにおいて触れられているが、Windows用XAMPP 1.7.3には同梱されていないようである。

これらのコマンドよりも10/14(水)の解決方法1のほうが良いように思える。 LOAD DATA INFILE 文をもうしばらく放っておいてもダメなら、こちらのほうを試すことにする。

> ・解決方法1: MySQLのデータファイルを丸ごとコピーする。

●CSC運営委員の支援
A先生からメールで、学内行事の日程について相談を受けた。二つの候補日時のうちどちらがいいか検討してほしいとのことであった。恐らく前後の授業を履修している学生が多いほうが有利であるに違いない。そこで、それぞれの候補日の前後の授業を調べ、それぞれの履修者のデータをK'sLifeから取得し、人数を比較した。この結果をA先生に返信した。

●C3PO合同ゼミ
18時からのS研との合同ゼミに出席した。S研のNさんと当研究室のMaくんのそれぞれの進捗報告を聴いた。前回の合同ゼミから9日ぶりであったが、その割には進捗状況は芳しくない。時間の半分は「君ら、もっと頑張れよ」という話をしていたように思える。

●進路指導Webサイトの更新
A先生からメールで流れてきた資料2点をWebサイトに掲載した。

●電子錠登録・登録抹消
教務課から学生証の再発行について連絡を受けたので処理した。
一昨日の学部の会議で学生の除籍・退学が話題に上ったので、K'sLifeから学生の在籍データを取得し、在籍していない学生の電子錠登録を抹消した。

●学習環境に関するアンケート
一昨日の学部の会議で実施の準備状況について報告した。あらためてメールで実施協力を依頼するべきであったことを思い出したので、資料をMLを通じて先生方に送付した。

●その他
情報教育講習会の反省会の日程調整のため都合の問い合わせがあったので返信した。

2015年10月16日金曜日

2015/10/15(木) da2 授業実施

●計算機環境の整備
★PCの保守
自室のデスクトップPCおよびH27年度貸与ノートPC保守機でWindows UpdateやAdobe Reader, Adobe Flashの更新を実行した。また、ノートPC hail でWindows UpdateとJavaの更新を実行した。

★仮想マシン midnight の調整
続き。従来の卒研本番用サーバ daybreak から midnight へMySQLデータベースの中身を移す作業を行った。方法としては SELECT * INTO OUTFILE ...LOAD DATA INFILE ... を使用するほうを採用した。

17) midnight を起動した。XAMPP 1.7.3のApache HTTP ServerやMySQLは問題なく起動し、IEで phpMyAdmin を閲覧することもできた。
18) すでに daybreak のMySQLからエクスポート済みであった小さいテーブルは midnight のMySQLにインポートした。
19) daybreak, midnight のそれぞれにおいてコマンドプロンプトを開き mysql -u root を起動した。
20) daybreak において次のSQL文を実行して大きいテーブルの中身をファイルに吐かせた。ファイルはmidnightにコピーした。

  SELECT * INTO OUTFILE 'ファイル名' FROM テーブル名
    FIELDS TERMINATED BY ','
    OPTIONALLY ENCLOSED BY '"'
    LINES TERMINATED BY '\n';

21) mignight において次のSQL文を実行してファイルの中身をテーブルにインポートした。

  LOAD DATA INFILE 'ファイル名' INTO TABLE テーブル名
    FIELDS TERMINATED BY ','
    OPTIONALLY ENCLOSED BY '"'
    LINES TERMINATED BY '\n';

この21)の処理がしばらく待っても終わらない。ハングアップしているわけではなく、タスクマネージャを見るとmysqlのプロセスは働いているようであるので、一晩放置することにした。

●基礎演習2 授業処理
本日19時が最終レポートの〆切であった。メールで受け取ったレポートを採点した。
昼ごろまでに受け取ったものについてはすぐに採点した。そのうち1本には不備があったので再提出するよう返信した。昼過ぎあたりから他の仕事を優先して、夜に続きを行った。

自分の中で採点基準に若干の揺れがあることに気付いたので、夜にはまたもや採点基準を見直してWordファイルを改訂した。その上で、〆切までに受け取った全てのレポートの採点を見直した。この結果を評価用Excelファイルで入力した。

最後に、全員の得点を所定の書式でMLを通じて他の先生方に流した。これで本件は一区切りである。

●学部の会議
昼休みに出席した。すぐに終わった。詳細略。

●卒業研究の指導
13時頃、Naくんがゼミナール室にいたのを捕まえて面談を行った。詳細略。

●da2 授業準備
続き。小テスト用紙と正解のファイルをDropboxからコピーした。スライド資料のPDF版と履修者名簿のハードコピーを作った。

●da2 授業実施
4限目・5限目に第5回を行った。講義と演習は原則的に先週考えた方針に基づいて進行した。後ろから3列目に座った学生も数名いた。1名は講義中ずっと堂々と机に突っ伏して眠っていた。

4限目に小テスト、講義、演習を行った。
まず、小テストを4限目の最初の10分間だけで片付けた。今年度のda2では小テストの解説をしないことにしていたが、今回は配列の生成についてのみ解説を行った。
次に講義を行った。今回のテーマはキューであった。自分で独自に用意したスライド資料やダルマ落としを用いながらキューの概念やリングバッファの説明をした。そのあと3クラス共通のスライド資料を使い、さらに連結リストによるキューの実現についても説明をした。小テストの解説をしなかったこと、クイズを出すことはあって指名して答えさせることはなかったので、15:45頃には講義が終わった。
4限目の残りのうち15分間ほどは演習にあて、最後の10分間ほどは早めの休憩にした。

5限目は引き続き演習を指導した。演習の解答を終えた者には退室を許可したところ、17時を廻ったころにはほとんどの受講者が退室した。5限目の終了15分前には、5限目終了時刻に私自身も撤収することを宣言した。実際にその時刻に撤収した。
終了のチャイムが鳴った時点で演習未完了者は1名であった。この1名には、19:30までなら解答チェックを受け付けるので解答を作ったら私の部屋に持ってくるよう指示した。この1名が私の部屋を訪ねてきたのは19:15頃であった。
今回に関して言えば先週考えた方針で大きな問題は(少なくとも見かけの上では)生じなかった。

4限目と5限目の間の休み時間に、クラスを間違えていた学生1名が履修登録変更の書類を持ってきたのでこれに押印した。

●学生への修学指導
9/19(土)9/20(日)の出張中に保護者懇談会に出席し、計10組の保護者と面談した。その面談のうちの何件かについては9/21(月)に面談票の提出をもって当該学生のクラス担任に引き継いだ。このうちの1件について教務課からメールで連絡があり、追加対応の必要が生じた。追加情報をとりまとめ、あらためて当該学生のクラス担任に引き継いだ。引き継ぎを行ったことについて教務課への返信で報告した。

●da2 授業処理
今回の小テスト以外の処理を行った。小テスト得点の修正を行った。演習の得点を集計し、評価用Excelファイルに入力の上、成績確認システムに掲載した。K'sLifeの出席登録データを集計した。
間違えて他のクラスに履修登録したままになっている受講者が1名いることに気付いたので、この受講者に宛てて履修登録の修正を促す旨の連絡通知をK'sLifeを通じて送った。

●その他
コンプライアンス・チェックシートを提出した。

2015/10/14(水) gw 授業実施、卒研ゼミ、学部・研究科の会議

●gw 授業準備
続き。昨夜自宅でもう少し調べた結果をスライド資料に追加した。

●gw 授業実施
2限目に第4回を実施した。出席3名、欠席なし。
最初に「2014年末・2015年始にネットワークの渋滞が起きなかったのはLINEの普及と関係があるか」という質問に対する答えとして、昨夜と今朝調べたことを説明した。質問に対する直接的なYes, Noという答えは出せなかったが、それなりに受講者が満足する回答ができたようで良かった。
そのあとソーシャルメディアやグループウェア開発の課題に関する講義を行った。

●計算機環境の整備
★新しい仮想マシン midnight の調整
昨夜の作業の続きを行った。
従来の卒研本番用サーバ daybreak のXAMPPで動いていたアプリケーションをそのまま動かせなければ意味がないので、XAMPPの導入に続けて daybreak からの移行作業をも行った。
daybreak のXAMPPのバージョンは1.7.3である。移行先のXAMPPのバージョンとして、最初は同じ1.7系列で最も新しい1.7.7を選択した。しかし、LDAPのモジュールを使えないという問題が起きたので、1.7.7はアンインストールして1.7.3をインストールしなおした。
また、一連の作業中にときどきタスクマネージャでメモリの使用量を見ていたが、1.0 GBに達することはないようであったので、仮想マシンのメモリ設定を4.0 GBから2.0 GBに落とした。

8) Windows Updateを実行した。再起動した。
9) コンピュータ名とワークグループ名を変更した。再起動した。
10) F-Secure, TeraPad, Lhaplus, 7-Zip, WinMergeをインストールした。
11) XAMPP 1.7.7をインストールした。
12) daybreak からの移行作業を行った。
 (a) htdocs 下のファイルを全てコピーした。
 (b) MySQL内のデータをエクスポートしてインポートする作業を行った。
 (c) 一部のDBは名前を変えることにした。これを使用するPHPスクリプトを修正した。
 (d) php.ini や httpd.conf を見比べて、なるだけ近くなるように設定してみた。

このうち、(a)や(c)では問題は生じなかった。
(b)では、大きなテーブルはphpMyAdminからうまくエクスポートできないことが判った。GB単位のデータがあるはずのテーブルからエクスポートしたファイルの大きさは400 MB弱であった。これの解決方法としては二つ考えた。
・解決方法1: MySQLのデータファイルを丸ごとコピーする。
・解決方法2: select * into outfile ...load data infile ... を使用する。
方法1がうまくいくなら一番楽そうであるが、正統的なのは方法2であろう。
(d)ではApache HTTP Serverの起動時に php_ldap.dll がひっかかって起動が失敗するという問題が起きた。 libsasl.dll とかいうDLLがあればよいようであるが、これはXAMPPに同梱されてはいなかった。
結局、(d)の問題が解決してもそのあとで別の問題が出てくる恐れもあることを考えて、 daybreak と同じXAMPP 1.7.3を採用するほうに切り替えた。

13) 1.7.7をアンインストールした。
14) 1.7.3をインストールした。daybreak の php.ini と httpd.conf をそのまま上書きコピーした。
15) ここで今日の作業を打ち切ることにした。 midnight をシャットダウンした。
16) 仮想マシンの設定ダイアログを開き、主記憶容量を4.0 GBから2.0 GBに変更した。

●卒研ゼミ
3限目に進捗報告会を実施した。出席5名、日報ブログ相互点検による出席排除1名(Isくん)、欠席2名(Naくん、Yaくん)。

●卒業研究の指導
3限目の最後の10分間を使ってIsくんと面談した。詳細略。

●学部・研究会の会議
14:40からの会議に出席した。

●就職活動の指導
自分の研究室に所属する3年次生のうち、CSCで面談による指導を受けなくてはならない5名に宛てて、面談を受けに行くようにという指示をK'sLifeを通じて送信した。

●基礎演習2 授業処理
続き。今日までに受け取ったレポートの採点を片付けた。レポートはまだ受け付けているので未完了。

2015年10月14日水曜日

2015/10/13(火) 教職課程認定申請の書類、Windows Server 2008 R2の導入

●教職課程認定申請の書類
続き。教育研究業績書と履歴書を書いた。教育研究業績書は意外に手間がかかった。履歴書も書式に微妙な変更があったので多少の手間はかかったが、内容的には軽微な修正のみで済んだ。この2点をメール添付で教務課に返送した。
また、新pk2のシラバスも別便で送付した。

●卒業研究の指導(他研究室)
Yo研の4年次生から、学部棟の3Dモデルを作るために、昨年度の当研究室の卒研生Kくんが使った資料を使いたいという相談を受けた。この資料は施設課にあるもののコピーであり、私の一存では許可できない。この学生には自分で施設課に相談するよう指導した。しばらくして施設課から電話連絡があり、資料の使用を許可するとのことであったので、学生に資料を貸した。資料は夕方に返却された。

●基礎演習2 授業処理
2名からメール添付でレポートが提出されたのでそれぞれ点検したところ、いずれにも不備が見つかったので、その旨を返信した。1名からは再提出があったので受け取った。未採点

●学生への修学指導
今学期第1回の出席調査でひっかかった学生3名と面談をしなければならない。このうち1名の1年次生とはつい昨日面談したばかりである。来週もう一度面談するが、今回の調査結果に対する指導は昨日済んだことにしておく。
あとの2名とは本日中に面談することにした。K'sLifeを通じてその旨の連絡通知を送付し、3年次生1名とは3限目終了後に、2年次生1名とは4限目終了後に、それぞれ面談を行った。面談の概略をK'sLifeに所見として入力した。

●計算機環境の整備
★Windows Server 2003からの移行について
続き。Windows Server 2003のサポートは7月で終了したので、現在ある2003ベースのサーバは別のOSに移行しなくてはならない。

現在、当研究室においてWindows Server 2003で運用している仮想サーバは、卒研本番用の daybreak と卒研実験用の daybreak2 の2台である。この2台は基本的には同じ設定で同じアプリケーションを稼働させている。仮想マシンであるから停止させたまま ESXi の中に保持することもできるが、2台とも同じ状態で残すこともないので、本番用の daybreak のみ停止状態で保持し、 daybreak2 はバックアップをとったら ESXi の中からは消すことを考えている。そして、現在 daybreakで稼働させているアプリケーションは別のサーバに移行して引き続き稼働させる。

移行先としては CentOS 7 を考えていたが、C#のプログラムをJavaに移植するという作業を引き受ける卒研生はおらず、自分自身でやる気もない。そこで Linux への移行はあきらめて、大人しくWindows Serverの後継バージョンに移行することにした。

現時点におけるWindows Serverの最新版は2012 R2であり、また次の2016もリリースを控えているようである。しかし、いま2003で動いているアプリケーションをそのまま移すには、なるだけ2003に近いバージョンのほうが最新版よりも問題が少ないであろうと考える。たまたまWindows Server 2008 R2 StandardのISOイメージとプロダクトキーが手元にあるので、それもあって2008 R2を選択した。2008 R2も2020年にはサポートが切れるのでいずれ次への移行を考えなくてはならないが、とにかく現在あるアプリケーションの移行先を速やかに確保することを最優先に考えた。

★新しい仮想マシン midnight の作成とWindows Server 2008 R2 Standardのインストール
移行先の新たな仮想マシンを用意する作業を次の手順で行った。

1) ISOイメージをVMware vSphere Hypervisor (ESXi)のホストsunlightにアップロードした。
2) ESXiに新しい仮想マシンを作成した。名前は midnight とした。バージョンは8、メモリはとりあえず4.0 GB、ハードディスクはシックプロビジョニング(Lazy)で64 GBとした。
3) 仮想マシンの作成後すぐにオプションのダイアログを開き、「パワーオン時起動遅延」を8000ミリ秒(8秒)にした。
4) 仮想マシンをISOイメージから起動した。「インストールするオペレーティング システム」の選択画面では「Windows Server 2008 R2 Standard (フル インストール)」を選択した。それ以外は特に悩まずに既定値の通りにした。
5) インストール処理の終了後、Administratorのパスワードを設定した。
6) Windows Server 2008 R2のプロダクトキーを入力した。
7) Windows Updateを実行した。200件近い更新があった。

Windows Updateを3回繰り返してもまだ残っていそうではある。明日以降にも作業を継続する。
なお、 midnight という名前はDNS上では daybreak2 の別名である。新しい仮想マシン midnight を正式に仮想サーバ midnight として稼働させるには、現在ある実験用サーバ daybreak2 を少なくとも停止させることが前提となる。

★ノートPCの保守
自室の会議机にネットブックとして置いているdynabook (Lubuntu 12.04)でアップデートマネージャを実行した。

●公開授業参観
昨日Ic先生に問い合わせた授業を本日参観した。非常に解りやすい授業であり、また内容的にも有意義であった。
授業参観アンケートの回答用紙(Wordファイル)に記入し、メール添付で学部事務室に提出した。

●就職活動の指導
卒研生のInくんと面談した。詳細略。

●電子錠登録・登録抹消
教務課Kさんから学生証再発行の連絡があったので処理した。

●進路指導Webサイトの更新
学外行事の日程を掲載した。

●gw 授業準備
前回10/07(水)に宿題になった、年末年始のネットワークトラフィックとLINEの関係について、Webであれこれと検索した。直接的な答えは見つからなかった(簡単に見つかるようなら学生が自分で見つけるであろう)が、総務省のWebサイト、LINEのプレスリリースのほか、マイナビの記事がヒントになって電気通信事業者協会のプレスリリースも調べ、ある程度の情報を得た。まだ探せば出てきそうであるが、とりあえずそこまでの情報をPowerPointでスライド資料としてまとめた。明日もう少し追加したい。

2015年10月13日火曜日

2015/10/12(月) 導入2, PB演習 授業実施

●計算機環境の整備
★演習室内のデスクトップPCの保守
4F演習室に置いている演習用デスクトップPC 5台と教員用デスクトップPC 1台で、Start Menu 8の更新、Firefoxの更新、Windows Updateの実行を行った。

★仮想サーバの保守
続き。サーバ aurora ではNFSを使わなくなったので httpd_use_nfs と use_nfs_home_dirs をoffにした。またサーバ dawn ではSambaを使わないので samba_enable_home_dirs がoffであることを確認した。

thunderhead (CentOS 6)と rainbow (CentOS 5)で sudo yum update を実行した。

★ノートPC hail の保守
個人面談(後述)の模様を hail で録画するために、LogicoolのQcam Connect(LogicoolのWebサイトで検索するとQcam Coolという名前で引っかかる)という古いWebカメラをつないで使おうとしたところ、このカメラをUSBポートに接続している間はLogicoolのWebカメラ用ソフトウェア (Logcool Webcam Software, 以下LWS) のウインドウが開かないという現象が起きた。Windowsの録音デバイス一覧も開くことができなかった。別のWebカメラとつなぎかえて動作を試したりしていると、使えるようになったかと思えばWindowsの再起動を要求されるといった調子で、安定的に使用することはできないようであった。しかたがないので実験用として三脚に取り付けているLogicool HD Pro Webcam C920を使うことにした。

あとでLWSのバージョン番号を確認したところ、2.51であった。LogicoolのWebサイトから入手できるもののバージョンは2.80である。以前にもこれを見て2.80をインストールしなおしたがバージョン表示は2.51にしかならなかったような記憶がある。しかし、念のため再インストールした。やはり結果は同じで、表示されるバージョン番号は2.51であった。LWSで録音デバイスの切り替えを行っても無視されて、Windowsにおいて“既定”になっている録音デバイスが使用されるという現象も、再インストール前と同じである。

ついでに hail に Logicool S7500 をUSB接続してLWSの動作を試したところ、問題なく使用できることが判った。

★Webカメラの状況の把握
本日やったような動作テストやLWSの再インストールは過去にも何度かやっているはずであるが、その結果は整理されていなかった。そこで、今回の記憶が薄れないうちに整理することにした。研究室内WikiにWebカメラに関するページを作り、この日報にある限りの記載や自分のいくらか曖昧な記憶をたどって表や箇条書きでまとめた。

このまとめを行った結果、今回の hail と Qcam Connect の組み合わせがほとんど唯一のNG例であり、また今回の組み合わせも2/10(火)の時点では成功していたことが判った。こうなると Qcam Connect 側の不調を疑いたくなる。そうは言っても Qcam Connect は2007年に買ったWebカメラであるから老朽化は仕方ないし、仕様が古くてあまり出番がないことでもあるので、「故障の疑いがある」ということのみ記録して、それ以上に深くは追及しないことにする。

★研究室内計算機管理用Excelファイルの更新
最近のsunlightのメモリ増設や仮想マシンdawnの作成を始め、ここ5か月ほどの動向をまとめて追記した。

さて、研究室内のサーバ机には物理サーバが3台ある。机の上に置いているsunlightとmoonlight(いずれもHP ProLiant MicroServer N54L)は自分たちが使っているものである。デカいので机の下に置いているdaylight (HP Z400 Workstation)は旧H研のサーバであり、H先生の授業のために引き続き稼働させておく必要があったので物理的な管理をこちらで引き受けたものである。
去る9/20(日)にH先生からメールで、当該授業が終わったのでこのサーバは不要になった旨の連絡があったので、いよいよ正式に当研究室のdaylightとして使えることになった。Excelファイルを眺めていてそのことに気付いた。また、これにはMicroServer N54Lから外した8 GB分のメモリを流用できそうである。ぜひ有効に活用したい。さしあたり卒研生にOSのインストールを試行させるのに役立つのではないかと思う。

●公開授業参観 計画
学部の授業を前期・後期に1回ずつと、研究科の授業を年度内に1回、計3回以上を参観してアンケート回答しなくてはならない。前期の1回は済んだので、あとは後期の1回と研究科の1回がノルマである。年度始めにMLを通じて流れてきた公開授業一覧を見て、参観計画を立てた。ただしそのうち1回の授業は計画によると先週限りの公開であったので、今週参観してもいいかどうかを担当の先生にメールで問い合わせた。差し支えないとの回答であった。

●導入2 授業実施
3限目に第5回を実施した。出席11名、遅刻1名、欠席2名。
まずグループワークに関するアンケートに回答するよう指示した。そののち計画書作成の続きに取り組ませた。これと並行して、演習室の向かいの大学院講義室を勝手に使って受講者4名との個別の面談を行った(後述)。
授業の終わり頃には各チームから計画書がメール添付で提出された。

●学生への修学指導
前述の通り導入2受講者のうち4名との個人面談を行った。そのうち1名から授業料免除などの条件について質問されたが、詳細を説明できなかったので、あとで調べて連絡することになった。面談の概略はあとでK'sLifeに所見として入力した。

●PB演習2 授業実施
4限目・5限目の第5回に参加した。今回も無役であったので、最初の基礎設計に関するプレゼンテーションの評価をGoogleスプレッドシートに入力したら授業としてはすることがなくなってしまった。自分のPCの設定や仕事などを行った。

途中であれ学生から日報システムへのログインがうまくいかないという相談を受けたが、よくよく話を聴いてみると先週パスワードを変更したとのことであった。変更後のパスワードを試すよう指導したところ問題なくログインできた。

6限目の終了ミーティングは、今までは組込みのクラスとWebのクラスを一つの会議でまとめて扱っていたが、今回から二つの会議に分けて並行して行うことになった。早く終わった。私は特に発言しなかったが、自分の研究室に所属する学生の動向に注意しながら他の人たちの報告を聴いた。

●学習環境に関するアンケート 準備
続き。教務委員のIs先生から口頭でOKをもらったので、資料のPDF版のみをメール添付で学部事務室に提出した。

●導入2 授業処理
5チームからメールで受け取ったそれぞれの計画書を点検した。
このうち4チームのものは多少体裁を整えれば問題ないようであったので、こちらでその作業をやってしまった上でPDF化し、授業用Webページにも掲載した。これらについてはあとでA3版のハードコピーを作る。
残り1チームの計画書には少なからぬ不備があったので、その旨を返信した。

●基礎演習2 授業処理
続き。2名からレポートの提出があったので採点した。

●教職課程認定申請の書類
続き。新pk2以外の2科目のシラバス案をYo先生からメールで受け取った。検討の上、異存ない旨を返信した。

自分の履歴書と教育研究業績書も作らなくてはならない。履歴書には昨年11/27(木)に作ったものがほとんどそのまま、また教育研究業績書には1/24(土)に作ったパターンAがかなりの程度まで、それぞれ流用できそうである。安心したので実際の作業は明日にする。

●その他
5限目の授業時間中に教務委員のIs先生からswの実施形態について質問されたので回答した。“オムニバス”か“合同”かというのが学部の計画に関連して教務課が作っている資料に関係があるようである。
ついでに学外イベントを単位認定する話編入学者・転入学者に履修指導をする話についても少し話した。これについては特に進展はない。

2015年10月11日日曜日

2015/10/11(日) 基礎演習2 授業処理

●計算機環境の整備
★仮想サーバ の設定確認
昨日の日報を書くうちに、自分の記録においても記憶においても dawn と aurora がごっちゃになっていることに気づいたので、これを日報として整理した。それでもまだごっちゃになっている部分が残っているかもしれない。

●卒業研究の指導
研究室内Wikiのうち、研究室内のサーバの構成に関する記載、卒研ゼミの録画の準備に関する記載、卒業論文の執筆要領をそれぞれ更新した。

最近1ヶ月ほどの卒研ゼミにおいて、学生の進捗状況をEvernoteに記録するのを怠けていた(コメントする方に集中すると、どうしても手元がおろそかになる)。進捗報告に関する議事録や卒研生のスライド資料を見ながら、今後の指導に必要になりそうな事項をEvernoteに書いた。
また、各卒研生の進捗報告の回数を書きだしてみた。意外に報告回数に偏りがあった。進捗報告のローテーションを決めていても、パスをすることの多い卒研生もいるということであるが、一方で5名で週に延べ4名の報告のローテーションを組むことに無理があったということでもあろう。いずれにせよ改善を要する。

●基礎演習2 授業処理
自分の担当するテーマは10/07(木)に3回目(最終回)を迎えた。最終レポートの〆切は10/14(木)であるが、すでに受け取ったレポートが10本ほどあるので、これの採点を行った。この過程で採点基準をもう一度見なおした。
採点したうちの2本には不備があったので、それぞれの提出者にメールで再提出するよう指示した。1名からはすぐに再提出があったが、読んでみるとJavaプログラムに不備があることを一言書き添えた程度の変更のみであった。プログラムには修正を試みた形跡もあるが、評価はしがたい。

採点結果をExcelファイルで整理した。まだレポート未提出者のほうが多いような状況であるので、確定した点数としては報告できない。しかし、今後指導を要する学生についての情報を次に担当する先生に渡すべきであるから、速報としてここまでの採点結果を簡単にまとめてMLを通じて流した。
ほどなくしてTa先生からMLを通じて反応があった。その文面には採点結果を記録するときの規則が詳しく書かれていた。私の流したのはどうせ速報値であり、来週には大きく変わるようなものであったから、書式は気にせずに簡単に流せるものを流したが、どうもそれを咎められたということのようである。

2015/10/10(土) 計算機環境の整備

●学習環境に関するアンケート 準備
続き。学部の会議に提出する資料として、昨年度の依頼文(Wordファイル)を流用して今年度版を作った。さらにこの依頼文と、科目一覧表(Excelファイル)、アンケートシステムの表示をそれぞれPDF化して、メール添付でIs先生に送付して確認を依頼した。

学部事務室には会議に報告事項1件を追加する旨をメールで連絡した。

●研究室内Wikiの更新
日程のページに10/18(日)の学内害虫駆除について追記した。

●進路指導Webサイトの更新
A先生からメールで流れてきた資料をWebサイトに掲載した。

昨夜用意した現B3, M1向けの告知をメールで流した。

●就職活動の指導
卒研生の就職活動についてMLを通じて10/05(月)に問い合わせたが、どの卒研生からも応答がなかった。A先生に前回報告から変わりない旨のみを報告した。

●計算機環境の整備
★HP ProLiant MicroServer N54Lのメモリ増設
VMware vSphere Hypervisor (ESXi) 5.5のホスト sunlight として稼働している MicroServer N54L に、ずいぶん前に買ったまま放っておいた8 GBのメモリをようやく挿した。増設後に電源を投入し、仮想サーバを再び起動して、無事に動くことを確認した。

ファイルサーバ moonlight として使っているもう1台の同型機はすでに16 GBにまで増やしてある一時は減らしてその分をESXiに廻すことも考えたが、結局2台とも16 GBで動かすことになった。これまでに4 GBのメモリを挿したり8 GBのものと交換したりということを繰り返した。何回やってもMicroServerは扱いづらいと感じるが、それでもずいぶんこの手順に慣れた。

★仮想サーバの保守
サーバ dusk と素体用仮想マシン nimbus で yum update を実行した。次に aurora, dusk, nimbus をいったん poweroff して、 VMware vCenter Converter でバックアップをとった。

★仮想サーバ dawn の作成
卒研生が実験等に使うためのCentOS 7サーバとして dusk を作り、そのときに完成したシステムを置くための本番サーバの名前を dawn に決めた。この dawn をようやく作った。素体の仮想マシン nimbus をコピーして dawn に変更することでインストール作業の大部分を省略することができたが、さらに設定を調整して dusk と同様の設定にする必要はあった。これには5/16(土)にNFSの設定をしたときの記録や、5/10(日)に作った enable-all.sh や setse-all.sh が役に立った。

1) nimbus のバックアップをConverterで書き戻すことで仮想マシン dawn を作った。
2) dawn を起動した。
3) /etc/hostname を編集してホスト名を変えた。
4) /etc/sysconfig/network-scripts/ifcfg-ens160 を編集してIPアドレスを変えた。
5) dawn を再起動した。
6) /etc/fstab を編集してリモートマウントの設定を有効にした。

  NFSサーバ名:/パス名 /home nfs    tcp,rsize=8192,wsize=8192        0 0

7) SELinuxの設定のうちホームディレクトリのNFSマウントを有効にした。

  setsebool -P use_nfs_home_dirs on

8) NFSサーバ (FreeNAS 9.3)側で「Authorized IP addresses」に dawn のIPアドレスを追記した。
9) dawn を再起動した。
10) dawnの /etc/httpd/conf.d/userdir.conf を編集して2か所の「public_html」を「html_dawn」に変更した。
11) dawn の httpd を再起動した。

  systemctl restart httpd

12) SambaやMariaDBのサービスを有効にした。 httpd が読むべきユーザのディレクトリがNFS上にあるからか、それとも public_html ではなく html_dawn であるからか、 httpd_enable_homedirs はonでもoffでも関係ないようであるが、これもとにかく有効にしてある。

  setsebool -P use_nfs_home_dirs on
  setsebool -P httpd_enable_homedirs on
  setsebool -P httpd_use_nfs on
  setsebool -P httpd_can_connect_ldap on

  systemctl enable mariadb
  systemctl start mariadb

まだ十分な動作確認はしておらず、1行だけのPHPスクリプトを書いて phpinfo() を出力を眺めたりphpMyAdminにログインしてみたりした程度であるが、問題なく動いているように見える。

★ifcfg-* のUUIDについて
ふと /etc/sysconfig/network-scripts/ifcfg-ens160 に記述されている設定のうちUUIDはサーバごとに変えなければならないのではないかと気になって調べた。
まず dawn において uuidgen で生成したUUIDに変更してから再起動をかけてみたが、特に動作に違いがあるようにも見えず、昨日悩んだ session_save_path() の挙動にも変わりはなかった。Webを検索したところ、この設定は放っておいて差し支えないらしいことが判ったので、結局 dawn のUUIDも元に戻した。

(参考Webページ)
piyolian: RHEL6: NIC UUID.
irix_jp: RHEL6/SL6/CentOS6 ネットワーク設定まとめ.

★仮想サーバ aurora の設定変更
サーバ aurora は卒研生が利用できるように設定していた。しかし、実験用サーバとして dusk があり、さらに本番用サーバとして dawn を作ったので、卒研生が aurora を直接使う必要性はほとんど無くなった。もし卒研生が開発したシステムを aurora に置くことがあるとしても、その導入や保守は結局のところ私がやることになるであろう。したがって aurora は私のみが使えればよい。
そこで、ファイルサーバ moonlight にあるホームディレクトリを aurora からNFSでリモートマウントする設定を削除して、 aurora のローカルディスクにあるホームディレクトリをSambaで共有することにした。この作業においても5/16(土)にNFSの設定をしたときの記録が役に立った。

1) vipw /etc/passwd で学生のアカウントを削除した。 pwconv で shadow も更新した。
2) /etc/fstab からリモートマウントのエントリを削除した。
3) aurora を再起動した。
4) /etc/samba/smb.conf を確認した。もともとある程度の設定作業はしていたので特に変更の必要はなさそうであった。
5) Sambaを有効にした。

  setsebool -P samba_enable_home_dirs on
  systemctl enable nmb
  systemctl enable smb
  systemctl start nmb
  systemctl start smb

6) ファイルサーバに置いていたホームディレクトリの中身を aurora にコピーした。
7) httpd が html_aurora を読めるようにSELinuxに設定を追加した。なお、 httpd が読むべきユーザのディレクトリが public_html ではなく html_aurora であるからか httpd_enable_homedirs はonでもoffでも関係ないようであるが、とにかくこれもonのままにしてある。

  semanage fcontext -a -t httpd_user_content_t '/home/[^/]*/html_[^/]*(/.*)?'
  restorecon -R ~ユーザ名/html_aurora

最後の7)が dawn や dusk では不要であったのは、これらのサーバのホームディレクトリがNFSサーバ上にあり、なおかつSELinuxで httpd_use_nfs が有効になっているからではないかと思う。NFSを使うのをやめた aurora では7)をしたところWebブラウザから html_aurora 下のファイルにアクセスできるようになった。

●卒業研究の指導
サーバ dusk にMuさんのユーザアカウントを作り、本人にメールで連絡した。

●gw 授業準備
10/07(水)の第3回の授業中に「ブートストラップ」という言葉について言及したが、説明の中に曖昧な部分があったことを思い出したので、自室内の本をあれこれひっくり返したりWebを検索したりして調べた。
コンピュータやOSの「ブート」や「ブートストラップ」が bootstrap (靴ひも)から来ていることはもともと知っていた通りである。もとをたどれば何かの冗談に由来すると記憶していたが、これはうろ覚えであった。調べた結果、次のことが判った。

  • 「ほら吹き男爵」の話に、沼に落ちたときに自分の靴ひもを引っ張って自分を引き上げたという話がある。 参考文献: リンク1, リンク2.
  • "pull itself by the bootstraps" という表現には「自力で(何かしらを)する」というような意味がある。
  • コンパイラの分野で「ブートストラップ」とは「ある機種の既存のコンパイラを利用して別の機種のコンパイラを作成する手法」を指す。参考文献: 情報処理学会: 「情報処理ハンドブック」(第1版), オーム社, 1989.
  • ダグラス・エンゲルバートは「仕事を進める手段を改良できる有望な研究成果を研究者がフィードバックする」ことについて、このような研究者たちを「ブートストラップグループ」と呼ぶようになった。参考文献: Bardini, T., 森田 哲(訳): 「ブートストラップ―人間の知的進化を目指して」, コンピュータ・エージ社, 2002.
  • 「パイレーツ・オブ・カリビアン」シリーズの2作目と3作目に登場する Bootstrap Bill の名前の由来は、上記のような意味合いや冗談とは無関係である。

意外に、OSの本の索引を見ても「ブート」が見当たらないことが多かった。専門用語というよりごく普通の言葉として扱われているようである。ただし、ブートの過程が学術的な興味の対象になりにくくて言及そのものが少ないという側面もあるのかもしれない。

●その他
G先生からある1年次生にpkの資料を渡すよう依頼されたので、来週10/12(月)の導入2で渡す旨を回答した。

自室の掃除をした。

2015/10/09(金) 卒研ゼミ、学習環境に関するアンケート 準備

●システム運用室会議
10:40からの会議に出席した。
貸与PCのパフォーマンスチューニングについてS社から話があった。この件の担当者が私のところに話を聴きにくるために日程を調整することになった。これについては午後にメールで日程調整した。

学部Webサーバの時計が遅れていることを指摘した。このサーバの管理担当者はC先生であるようであった。時計を合わせる方法としてその場でntpdとVMware Toolsの二つが検討され、結論としてVMware Toolsを採用することになったので、C先生ではなくS社が作業を行うことになった。これについてはあとでトラブルが起きた(後述)。

●教職課程認定申請の書類
続き。教務課から回答があり、複数教員で担当している科目については全員にシラバス作成依頼は送られており、またシラバスは1部あればよいとのことであった。新pk2以外の2科目については他の先生による作成を期待すればよさそうである。

●卒研ゼミ
3限目に進捗報告会を実施した。出席6名、欠席2名(Isくん、Yoくん)。
KaくんとMuさんの報告を聴いてコメントした。Muさんはずっと自分のPCのXAMPPでシステムを動かしながら開発していたが、評価実験を行うときのことも考えて研究室内のサーバ dusk でも動かせるようにしておくことを指示した。ただし、そのためには私がduskにMuさんのアカウントを作っておかなくてはならない。

●卒業研究の指導
Koくんの状況を軽く点検した。
KaくんのTo-Doを書いた模造紙を壁に画びょうで留めた。

●学習環境に関するアンケート 準備
数年前までは夏休みに実施されていたアンケートであるが、私が担当するようになってから9月になっていた。それが今年は9月にも間に合わせられなかった。本日ようやく準備に着手した。

まず、学生便覧から科目配当表をコピーし、これに鉛筆でチェックを入れながら、科目一覧表(Excelファイル)を更新した。この結果にもとづいてアンケートの設問の選択肢にする科目のデータを作った。ほとんど昨年度と同じで済むことが判ったが、修正すべき点もあった。また、PB演習の科目名を知らない学生のために、科目名ではない「PB演習」を敢えて科目データに混ぜた。

次に、アンケートのフォームデータを作った。大部分は昨年度のものを流用したが、科目データにもとづいて設問の選択肢の部分を更新したほか、今年度に合うよう文言を書き換えたり、卒業時アンケートに合わせたほうがいいところを合わせたりした。

さらに、アンケートシステムに変更を加えた。PHPスクリプトに多少の改善を加え、特に選択肢の表示形式は妙なところで改行しないように改善した。また、スタイルシートは最近のWebページ改訂で使ったものを流用して、昨年度までのどんよりした感じの色づかいからもう少しスッキリしたものに変更した。

最後にアンケートシステムの動作を確認して、多少の調整を加えた。
これで準備はほとんど完了した。

●計算機環境の整備
★学部のWebサーバ
前述の通り学部のWebサーバにVMware Toolsが導入されて時計が合うようになったが、その作業の過程で不具合があったらしく、PHPスクリプトの中の関数 session_save_path() が動かなくなった。そのせいで、自分がWebサーバに置いている各種システムのうちセッション機能を使うものが軒並み動かなくなった。この関数のところで実行が止まってしまうことを突き止めた上で、その旨をMLを通じてS社に連絡した。

現象をよく調べるためにテストプログラムを書いたりしているうちに、以前にも同様の現象にぶつかったことがあることを思い出した。そのときには、NFSでリモートマウントしているディスク上である場合にセッション情報を保存しようとするとこの現象が起こるらしい、というところまで調べていた。

結局、今回の学部Webサーバの場合は、しばらくして復旧した。S社からの連絡によると何かのサービスが正常に動作していなかったことが原因であったとのことである。詳しいことは次に会ったときに聴いてみたい

★研究室内のファイルサーバ moonlight (FreeNAS 9.3)の保守
WebブラウザでGUI画面にログインしてアップデートをかけた。

★研究室内の仮想サーバ aurora (CentOS 7)の保守
仮想サーバ aurora で sudo yum update を実行した。

また、前述の session_save_path() の挙動に関連してNFSクライアントとしてのパフォーマンス改善を試みた。これは結局うまくいかなかったが、とにかくここに記録しておく。まず man nfs に次の記載があることに気付いた。

1) オプションで rsize と wsize をいずれも8192にすると転送速度が向上する(かもしれない)。
2) デフォルトはTCPではなくUDPである。TCPを使うにはそれを指定する必要がある。

次にファイルサーバ moonlight (FreeNAS 9.3)のNFSの設定を調べるうちに次のことに気付いた。

3) [サービス]-[NFS] で設定を見ると「Serve UDP NFS clients」という項目にチェックが入っていない。

このうち 1) はもしかすると session_save_path() の挙動の改善に役立つかもしれないと考えた。
一方 2), 3) については、クライアントがUDPを使っているのにサーバはそれに対応しない設定になっているのであればマウントが成功するはずはない。もしかするとクライアントとサーバの間でネゴしており、そのせいで時間がかかることがあるのかもしれないと考えた。
そこで、試みに次のようにしてみた。

a) aurora の /etc/fstab においてNFSのリモートマウントに関するエントリのオプションを default から tcp,rsize=8192,wsize=8192 に変更した。
b) moonlight において「Serve UDP NFS clients」にチェックを入れた。

念のため aurora を再起動した上で session_save_path() の挙動を試してみたが、設定変更前と何ら変わらなかった。

なお、 aurora の中のいろいろなログを調べたがこれに関連すると思しいエラーは見当たらなかった。保存先のディレクトリのパーミッションにも問題はなかった。スティッキービットを疑って chown してみたが改善しなかった。PHPのセーフモードでは session_save_path() は使えないという情報も見つけたが、PHP 5.4以降ではセーフモードは削除されているということであるから無関係である。海外のWebサイトに同様の現象についての記述を見つけたが、そこには解決方法は見当たらなかった。

●進路指導Webサイトの更新
A先生からメールで受け取った資料を掲載した。

現3年次生(B3)・大学院1年次生(M1)向けにWebサイトのパスワードを設定した。これについての告知文を書いてメールで送信する準備まではしたが、夜遅くに送信すると学生から嫌がられることがあるので、明日送信することにした。

●その他
研究室OBのOsくんが来室したので恐らく20分間ほど話をした。

2015年10月9日金曜日

2015/10/08(木) 基礎演習2, da2 授業実施

●基礎演習2 授業実施
2限目に第4回(テーマFの第3回)を実施した。特に講義することもないので、前回一度見せた課題のスライドをスクリーンに表示し、質問はこの時間中に解決するようにという指示を出しただけで、あとはすぐに演習に入った。なお、課題のスライドに誤記があったのでその場で修正した。

途中、11時から30分間ほどをかけて、一人一人の作業状況を点検し、手元の履修者名簿に記録した。それが終わればもう特にすることもないので、受講者に対しては退室を許可したが、ほとんどの受講者はチャイムが鳴るまで残って作業を継続した。

授業時間中にいくつか質問があり、その中でもEclipseからJavaソースファイルを取り出す方法については複数の受講者から質問があったので、これに関するswBのスライドを授業終了までスクリーンに表示しておいた。

●基礎演習2 授業処理
授業時間中に見つかった課題のスライドの誤記をあらためて修正し、授業用Webページも更新した。

夜に、授業中の作業状況点検結果にもとづいてK'sLifeの出席登録データを修正した。
早くもメールで届いた最終レポートが10本以上あった。これらのWordファイルおよびJavaソースファイルを保存した。

●計算機環境の整備
★H27貸与ノートPC保守機の保守
F-Secureの更新とWindows Updateを実行した。結構重かった。授業前にやっておいたのは正解であった。

●da2 授業準備
続き。スライド資料を見ながら講義の進行を確認した。自分で作った資料でもやはり進め方を忘れているところがあった。
手持ち資料としてスライド資料のPDF版のハードコピーを作った。

これまで教室後方の座席にはなるだけ座らせないようにしていたが、考え方を変えて今回から後方2列だけを空席にすれば良いことにした。これについて告知するためのスライド資料を作った。

●da2 授業実施
4限目・5限目に第4回を実施した。

いつもより少し早めに教室に行って、スクリーンに告知スライドを映しておいた。喜んで後方の座席に着く受講者が結構いるかと思いきや、そうでもなかったのは意外であった。ただし、こういう指示を出すのは今回が初めてであるし、また後方の座席を好みそうな受講者のうち幾人かは今回欠席していたことでもあるので、次回からは後方に着席する者が増えてくるのではないかと思う。

チャイムが鳴ったらすぐに小テストを開始した。10分間で打ち切った。様子を見て延長することはしなかった。

今回のテーマはスタックであった。まず自作のスライド資料を使って講義した。やたらと例え話を持ち出したりダルマ落としを使ったりして、とにかく理解しやすく話すことを心掛けた。
クイズも少なからず出題した。ただし、今回は受講者を指名してクイズに答えさせることは一切しなかった。積極的に解答したい者はいないかと思って何回か募ってみたが反応はなかった。次回からは募るのもやめることにする。眠りに落ちる受講者にも一切注意を与えなかった。
3クラス共通のスライド資料は、それまでに講義した内容との重複部分が多かったこともあって、かなりの駆け足で説明した。
結局、4限目終了時刻の20分間ほど前にスタックの講義は終了したので、そこからは演習に取り組ませた。

小テスト答案は助教のK先生に採点してもらった。
4限目の終盤から休み時間にかけて、この小テスト答案に目を通した。採点結果に見直しを要する答案が3枚あったので、これはK先生にいったん戻して確認してもらった。
こうして採点が終わった答案はすぐに受講者に返却した。

5限目の早い時点で演習問題を全て解き終える受講者が多かった。今回は無理に課題を解かせることをせず、早々に退室を許可した。教員側から見ると、それ以上の指導を求めていない受講者は次々に退室していくので、要指導対象者を判別しやすかった。

6限目には3名が居残った。1名は前回も最後まで残った者であった。もう1名は前期のda1で居残る頻度が高い者であった。この2名は(彼らにとってはいつものことであろうが)授業中の説明やヒントをろくに聴いていなかったために演習に苦戦していた。今回はかなり厳しいことを言いながら、とにかく問題を完答するところまで指導した。しかし、最近学生にガミガミ言うことにいい加減飽き飽きしてしまっているので、次回からは何も言わないことにする。その代わり解き終えるまで付き合うこともしない。
さて、あとの1名は先週の課題に果敢に挑戦していた。まだまだ勉強が必要のようで、前回と今回に結構大きなヒントを与えても先週の課題を解き終えるのは難しいかもしれない。しかし意欲は買うので応援したい。
19時頃までに退室した。

ヒントを表示する仕組みはうまく動作しなかった。この原因は学部のWebサーバの時刻がずれている問題が解決しないことであった。Webサーバの時計はちょうど1時間遅れていた。明日のシステム運用室会議で発言するべきかもしれない。

(da2次回のための方針まとめ)
・後方2列より前に着席するよう指導する。空席にさせるのは2列だけ。
・受講者にクイズ等に答えさせることはしない。講義は原則的に自分だけで進行する。
・眠っている受講者に注意を与えることはしない。
・演習問題が終わって(あるいは終わらなくても)退室したい受講者にはこれを許可する。退室時にはカードリーダに学生証をタッチしなくてもよいことにする。
・授業を聴いていなかったために演習問題を解けない受講者に注意を与えることはしない。
・適当な時点で居残りを打ち切る。6限目開始時点で打ち切り時刻を宣言しておくのが良いであろう。

●進路指導Webサイトの更新
A先生からメールで流れてきた資料数点を掲載した。また、現3年次生向けの学内行事の日程を掲載した。

●da2 授業処理
演習得点の集計を行ったところ、小テストの得点の記録がないのに演習の得点はある受講者が1名いた。どうやら小テストの得点のほうが記録から漏れたようである。この受講者にはK'sLifeを通じ、今回の小テスト答案を次回持参するようにという指示を送信した。次回にこの答案を確認した上で記録を修正する。

小テストの受験状況および演習の記録に基づいてK'sLifeの出席登録データを修正した。また、これらの得点は評価用Excelファイルに入力し、成績確認システムにも掲載した。

●da2 授業準備(第5回)
次回の準備作業を行った。小テストはまだDropboxに無いが、それ以外の資料は昨年度版の流用であるから、これをスタッフ向けに所定の場所に置いた。また、資料のPDF版や演習用のファイルを授業用Webページに掲載した。

●次年度の基礎演習 授業準備
次年度の基礎演習1および基礎演習2に備えて、本日の授業中に気付いた点を記憶の新鮮なうちに資料に反映しておくことにした。

・サイコロの目の数値を受講者が2ケタに増やしたときに、数値がその表示領域からはみ出してしまう。そこで、こちらから提供するサンプルプログラムでは数値の表示領域としてあらかじめ2ケタ分の幅を確保しておくよう変更した。
・上記の変更を加えたJavaソースコードをスライド資料に貼り付け直した。
・上記の変更を加えたJavaソースコードの一部を穴にした配布資料のPDFファイルを作り直した。
・EclipseからJavaソースファイルを取り出す手順をスライド資料に追加した。

次年度の科目のフォルダを作り、そこに更新済みの資料を置いた。

●教職課程認定申請の書類
続き。他の2科目について教務課に問い合わせた。回答待ち

●その他
ICT教育に関するアンケートの回答を学部事務室に提出した。

2015年10月8日木曜日

2015/10/07(水) gw 授業実施、卒研ゼミ、C3PO合同ゼミ

●gw 授業実施
2限目に第3回を実施した。出席3名。今回ようやく受講者全員が揃った。
P2Pおよび非リアルタイムグループウェアについて講義した。ある受講者から、2014年の年末から2015年の年始にかけてネットワークの渋滞が起きなかったのはLINEの普及と関係があるのかという質問を受けた。回答できなかったので、調べたうえで次の機会に回答することにした。

●卒研ゼミ
3限目に卒研ゼミを実施した。出席5名、欠席1名(Naくん)、日報相互点検による出席排除1名(Isくん)、遅刻に伴う出席排除1名(Maくん)。
Inくんの進捗報告を聴いてコメントした。ExcelとWordについて一通りの調査は済んでいるが、うまくいかなかった項目の再点検、調査結果の整理、関連技術の調査などまだまだやるべきことは多い。この報告とそれに関する議論に1時間ほどを費やした。
そのあと私から、昨日決めた今後の日程を説明した。

●卒業研究の指導
Yaくんにシステムの実装について個別指導を行った。まだまだ不勉強なところもあり、進みかたは決して速くないので、見ているこちらにも不安は大きい。しかし、とにかく着実に進めている点が彼のいいところである。

●電子錠登録・登録抹消
昨日教務課からメールで受け取った学生証再発行1件を処理した。

●da2 授業準備
続き。第4回の小テスト用紙を受け取った。履修者名簿のハードコピーを作った。
第4回の講義の進行を再確認すること、手持ち資料のハードコピーを作ることなどが未実施

2013年度および2014年度の小テスト答案の未返却分が出てきた。今さら必要とも思えないが、いったん破棄したら復元できないので、さしあたり当該年度の定期試験の封筒に入れた。

●C3PO合同ゼミ
6限目にS研との合同ゼミを実施した。まずS研Naさんの報告を聴き、次にMaくんの報告を聴いた。前回と比べて進捗はあるにはあるが、進捗の大きさは十分ではないので、年末の日程から逆算すると状況は厳しくなっていくばかりである。このような状況で実際に役に立つものができあがるかどうかは疑わしい。つまりこれはいつも通りである。最後に私から Viewport Resizer を紹介した。

●基礎演習2 授業処理
前期の基礎演習1とは一部の実施要領や提出物が異なるので、採点基準のWordファイルを改訂した。さらに評価用Excelファイルを用意した。先々週先週の実施結果および提出物に基づいてこれまでの得点を入力した。

●教職課程認定申請の書類
続き。新pk2のシラバス案を作り、MLを通じてS先生とG先生に送付した。
あとは履歴書と業績書を作らなくてはならない。
他にも2科目のシラバスを作らなくてはならないが、これらの科目の主担当者は自分ではない。主担当者には10/03(土)にMLを通じて問い合わせたがまだ返信がない。

●その他
ICT教育に関するアンケートへの回答を作った。ScanSnapでPDF化した。明日学部事務室に提出する。

9/25(金)のCNC運営委員会について、来週10/14(水)の教授会において報告しなければならない。このCNC運営委員会の配布資料のうち、会議後に差し替えられた一部のページがようやく見つかったので、差し替えられた状態の資料をScanSnapでPDF化し、10/14(水)の教授会の報告事項の資料としてメール添付で学部事務室に提出した。

2015/10/06(火) 卒業研究の指導

●PB演習 サーバ調整
作業結果をMLを通じて関係者に報告した。

昨日のPB演習の授業中にある4年次生から日報システム等のユーザアカウントの作成を依頼された。この4年次生にアカウント作成完了をメールで連絡しておいたところ、今日返信があり、アカウント情報提供システムを使用できないとのことであった。アカウント情報提供システムのデータを点検したところ、確かに抜けがあったのでこれを埋めた。その上でこの4年次生にその旨を連絡した。折り返しシステムを使用できたとの連絡があった。

●学生への修学指導
昨日N先生から聞いた話を受けて、当の1年次生と昼休みに面談した。詳細略。

●卒業研究の指導
★今後の日程
秋季中間発表会の日程を昨日決めたのに加え、12月の卒業論文下書きの提出・点検および冬季中間発表会の日程を検討した。
これらを研究室内Wikiの2015年度日程のページに記載した。

★個別指導
先週10/02(金)に約束した通り、午後にKaくんへの個別指導を行った。まずこれから追加する機能のアイディアを説明してもらい、これについて議論した。この議論に2時間ほど費やした。次に、すでにあるHSPおよびPHPのコードのレビューを行った。いろいろと気づくことがあって指摘した。途中でひどく疲れてしまい、夕方になる頃には何度も休憩を入れずにはいられなかったが、とにかく一区切りつくところまで検討を進め、Kaくんに今後の作業を指示した。
これとは別に、ノートPC nightfog をKaくんに一時的に貸して、彼のHSPで作ったプログラムがWindows 8.1で動くかどうかを確認させた。動くということであった。

Muさんのシステム実装について少しだけ指導した。

●da2 授業準備
10/08(木)第4回の資料のPDF版を授業用Webページに掲載した。第4回からは印刷物としては配らないので、受講者は紙の資料がほしければ自分でプリンタ出力しなければならない。その旨について受講者に注意を促すため、K'sLifeを通じて連絡通知を送付した。
また、スタッフ用に第4回の資料を所定の場所に置いた。

さて、先週の第3回では6限目の終了時刻になっても演習の解答が終わらない受講者がいた。他にも、5限目の終わり頃にようやく1問目を解いた受講者もいた。この受講者はそれからそのあとの問題を解くのは早かったが、ずっと横に友人がついていたところから察するに、自力で解いたのではないのであろう。この先が思いやられ、到底付き合いきれないと考える。
そこで、一定の時刻になったらヒント(というか正解)を提示することを試すことにする。新たにPHPスクリプトを作り、これを授業用Webページに設置した。このスクリプトは、事前に決めた時刻を過ぎるとサブディレクトリ内のテキストファイルへの閲覧を許可する。とりあえず第4回については18時に設定した。この設定で第4回の様子を見る

●進路指導Webサイトの更新
A先生からメールでまとまった分量の求人資料が流れてきたので掲載した。

●その他
扶養関係に関する点検の書類を学部事務室に提出した。

2015年10月6日火曜日

2015/10/05(月) 導入2, PB演習

●卒業研究の指導
★個別指導
10/02(金)に約束した通り2限目にKoくんに指導した。
彼の書いた作業記録を点検しているうちに次から次へと不備が出てきた。これまで進捗報告を聴いただけで詳細な点検をしなかったのは油断であった。その場で今後の作業方針を検討し、作業項目に優先順位を付けて、KoくんのデスクトップPCのメモ帳で書いてテキストファイルとして保存した。直近の作業項目を10/07(水)までに終わらせるように指示した。
あとで授業の合間に作業の進捗状況を聴くと、直近の作業項目は数時間で終わったようであった。この作業にも不備があったが、致命的ではなかったのでとりあえず後回しにした。次の作業を指示した。

★メール連絡
再来週の卒研ゼミの時間を使って中間発表会を行うことにした。これについてMLを通じて卒研生に連絡した。

就職活動状況についてMLを通じて卒研生に問い合わせを送った。

卒研生8名のうち数名の卒業研究はずっと足踏みが続いている。その中でもIsくんの状況は特に深刻である。これについてメールで連絡した。

●導入2 授業実施
3限目に第4回を実施した。チーム分けを確認したのち、各チームの名札代わりとしてA3用紙に自己紹介を書かせた。次に9/21(月)第2回の続きとしてテーマ案の検討と作業計画の立案を指導した。

あとで気付いたが、9/28(月)第3回のグループワークに関するアンケートに回答させるのを忘れていた。仕方がないのでアンケートに回答するようにという指示をK'sLifeを通じて送った。

●PB演習 授業実施
4限目・5限目に第4回を実施した。今回は上司も何も役が付かなかった。4限目の大部分はF社あらためS社の方々による講義であった。自分はこれを聴いてプレゼンテーションとしての評価を付けた。いったん紙に書いたが、結局先週分もまとめて専用のGoogleスプレッドシートに記入した。

講義中に、Twitterに夢中になっている3年次生を見かけた。講義中であったから声に出して注意をするわけにもいかなかったので、代わりに頭を軽く小突いた。あとで自分のTwitterアカウントを見たらフォロワーが一人減っていたのは、この3年次生であったのかもしれない。講義中の娯楽に使われるなぞこちらから御免こうむる。

S社による講義と、それに対する評価付けが終わったあとは、演習室の隅で技術サポート資料として提供する予定のサンプルコードの見直しと改訂を行った。
その途中で、ある4年次生からユーザアカウントの作成依頼を受けた。In先生にこの4年次生が確かにPB演習参加者であることを確認した上で、アカウントを作ってメールで本人に連絡した。

6限目に終了ミーティングに出席した。自分からは報告することもなかったので、他の人の報告を聴いていただけであった。日報システムの不具合2件が話題に上ったので、これの改修を行うという宿題だけは貰った。

●PB演習 サーバ調整
本日の終了ミーティングにおいて報告された不具合2件の修正を含め、日報システムの点検と改修を行った。サンプル版であれこれ試すうちに、使いやすさに関する別の問題を見つけた。さらに、学外のメールアドレスには通知を送ることができない問題が以前から気になっていたので、これも含めて計4件に関する修正をまとめて行うことにした。サンプル版に修正を加え、動作を確認した上で、実運用中のシステムにも修正済みファイルをコピーした。

●学生への修学指導
4限目の途中にN先生から呼び出されて、ある1年次生への修学指導に関する話を聞いた。この1年次生と面談をする必要が生じた。

●その他
扶養関係に関する点検依頼が来た。書類の「相違なし」にマルを付けて押印した。明日提出する。
To-Doリストを整理した。

ある授業科目の履修者について配慮情報の書類が届いた。ScanSnapでPDF化して助教のK先生にメールで送った。

2015年10月3日土曜日

2015/10/03(土) PB演習 授業実施

●PB演習 授業実施
1限目・2限目に第3回を実施した。回数の上では9/21(月)の休講に対する補講にあたる。
今回は二つの班の上司役を担当した。授業の主な内容は要件定義であったが、私が一番熱心に指導したのはネクタイの締め方であったように思う。

2限目の終わり近くには、F社あらためS社の若手さんによる日報システムの説明に続いて、自分がアカウント情報提供システムによるユーザIDとパスワードの確認方法を説明した。5分間足らずをアドリブで喋っただけであるが、自分でも意外なほど緊張した。自覚がないだけで精神的に退行しているのかもしれない。

S社の2名による要件定義の講義および日報システムの説明のそれぞれをプレゼンテーションとして評価し、その結果をIn先生に渡した。

●PB演習 サーバ調整
In先生から、S社のかたが日報システムに入れたダミーデータを消去することを依頼されたので、これを実施した。

日報システムにおいてPLが日報にコメントを付けたときのメール通知が無関係のSAにまで届くという問題が発生したので、これを解決するためシステム修正を行った。サンプル版のシステムで動作を試したのち、実運用版のシステムにコードをコピーした。この作業の終了後に、修正完了の旨をMLを通じてPB演習関係スタッフに通知した。

この作業の過程で、日報システムにおける一部のTAのユーザタイプが適切ではないことに気付いた。通常上司役には教員があてられるので、ユーザタイプの“教員”は上司役を意味するものとしてシステムは扱うようになっている。ところが、今年度はいくつかの班の上司役には一部のTAがあてられている。これらのTAのユーザタイプが“TA・SA”のままであると上司役として日報システムを使用する上で不都合が生じるかもしれない。そこで、該当するTAのユーザタイプを変更した上で、これらのTAにはメールでその旨を通知した。

日報システム等の技術情報はメールで送ったが、学生すなわちSA・TA・受講者の全員にも周知するべきであることに気付いたので、整理してアカウント情報提供システムに掲載した。

●PB演習 授業処理
今回上司役として担当した二つの班の日報にコメントを付けた。

●基礎演習2 授業処理
10/01(木)の授業中の記録に基づいてK'sLifeの出席登録データを修正した。

●授業改善報告書
今年度前期の授業アンケート結果が届き、これに伴い報告書提出依頼も来た。まずはアンケート結果をScanSnapでPDF化した。自由記述欄を見ると、私がやけに怒りっぽく威圧的で不愉快な人間であることが複数の学生から指摘されていた。例年と大きく違う態度をとっているつもりもないのであるが、結局のところ気持ちに余裕がないのであろう。
報告書をこれから書かなくてはならない。

●電子錠登録・登録抹消
G先生から登録依頼1件を受け取っていたので、これを処理してその旨を返信した。

●業務: 進路指導Webサイトの再開発
★スマートフォン対応
Ta先生からメールで、サイトが動いていないのではないかというご指摘があった。恐らく10月1日にサイトの既定値が翌翌年3月卒向けに変わってしまうことが原因であろうという旨を返信した。私には先方のシステムの細部はわからないが、何度かのやりとりを経て、とにかく解決したようである。

●教職課程認定申請の書類
教務課から9/26(土)付けでシラバス、履歴書、教育研究業績書の作成依頼が来ていたが、〆切が10/19(月)とまだしばらく先であったので放ったらかしておいたところ、G先生からメールで作成依頼の有無について問い合わせがあった。近日中にシラバス案を作る旨を返信した。また、MLを通じてプログラミング系科目担当教員宛てに同様のことを連絡した。

●その他
N学部長からH26年度の研究業績をExcelファイルに記入するようにという依頼があった。何しろゼロであるからすぐに返信した。

2015/10/02(金) 卒研ゼミ

午前休養。午後も卒研ゼミが終わったあとはオフモード。


●卒研ゼミ
3限目に進捗報告会を実施した。出席5名、欠席2名(Isくん、Yaくん)、遅刻1名(Maくん)。Isくんは無断欠席。Maくんは遅れてきてシレッとゼミに加わったが、考えてみると日報ブログの相互点検をしていなかったので出席を許してはならなかったはずで、この点は私が見落とした。
KaくんとKoくんの進捗報告を聴いて、それぞれにコメントした。Kaくんには来週10/06(火)に、Koくんには来週10/05(月)に、それぞれ個別に指導を行うことになった。

2015/10/01(木) 基礎演習2, da2 授業実施

●基礎演習2 授業準備
先週9/24(木)の授業実施時に気付いたことや、前期の基礎演習1における反省点を踏まえながら、スライド資料を改訂した。時間の制約からも難易度を抑えるという観点からも大幅な改訂はやはりできなかった。今週・来週に指導するプログラミング演習の説明部分も整理したほか、区間推定の考え方をいくらかほのめかす程度の記載は盛り込んだ(ただし、この部分は本来なら先週の授業で講義するべきであり、今週の授業の範囲には入らない)。
本日の授業ではサンプルプログラムの穴埋めをしながら解説するので、これについて学生にノートをとらせるための配布資料を印刷した。

●基礎演習2 授業実施
2限目に第3回(自分のテーマの第2回)を実施した。
今週・来週の課題であるプログラミング演習について説明し、サンプルプログラムの導入と実行を指導し、またサンプルの一つの穴埋めとコード解説を行った。

●da2 授業実施
4限目・5限目に第3回を実施した。
小テストを実施したのち講義を行った。今回のテーマは連結リストであった。まず自分の作った独自のスライド資料に沿ってJavaにおける参照、リンク、連結リストの概念を説明し、その上で3クラス共通のスライド資料で連結リストのプログラミングの詳細を説明した。

この講義が受講者に届いたようには見えなかった。
第一の敗因は、スライド資料には昨年度から変更がなく、また他のことに時間を廻したかったので、講義計画を検討しなおすことをしなかったことであったと思う。改善する努力を怠ると現状維持さえ難しいということをあらためて思い知らされた。
また、あからさまに居眠りしている受講者たちの姿を見て気持ちが折れて投げ出したくなったということもあるし、そもそも連結リストは“この段階のこの人たちには無理だよね”と思っていることもある。
以前ならあらかじめ“この段階のこの人たち”に合った講義を計画して手間ヒマかけて独自の資料を準備していたに違いない。今では時間的にも気持ちの上でもそういう余裕がなくなっていることを自覚する。

4限目内に講義を終えて、いくらか演習の時間も確保できたほどであった。5限目終了時点でまだ演習問題に取り組んでいるのは10名程度であった。これなら早く終わるかと思ったが、最後の数名がなかなか終わらなくて結局19時半を少し超える頃まで教室に居残った。

小テスト答案は助教のK先生が採点してくれた。これを授業中の空いた時間にざっと点検した上で、5限目のうちに受講者に返却した。

●進路指導Webサイト
A先生からメールで流れてきた資料をWebサイトに掲載した。

●da2 授業処理
小テストおよび演習の得点を評価用Excelファイルに入力し、成績確認システムにも載せた。
小テストの受験状況などにもとづいてK'sLifeの出席登録データを修正した。

2015/09/30(水) C3PO合同ゼミ、gw 授業実施、卒研ゼミ

●C3PO合同ゼミ
1限目にS研との合同ゼミを実施した。あと1回あればテーブル設計は確定しそうである。

●gw 授業実施
2限目に第3回を実施した。出席2名、欠席1名。
今回はリアルタイム型グループウェアについて説明し、またP2Pについても少し説明した。

●卒研ゼミ
3限目に進捗報告会を実施した。出席6名、欠席2名(Kaくん、Isくん)。
Yaくんの進捗報告を聴いてコメントした。まだ実装はあまり進んでいないが、一部分だけでも完成させることで要領をつかんでくれているのではないかと思う。
自分からは学部の科目名一覧を提供した。これはKaくんとMaくんのシステムに役立つはずである。

●卒業研究の指導
Muさんの実装について指導した。

●da2 授業準備
履修者名簿のハードコピーを作った。
Yo先生から小テスト用紙等を受け取った。

●インターンシップ報告会
5限目の報告会に出席して、3年次生の報告を聴いた。考えなしに無駄に質問しまくったせいで、どうやらIc先生の進行予定を遅らせてしまったようである。申し訳ないことをした。

●情報科学会誌記事の執筆
続きグラフのうちいくつかを作り直した。昨年度のTeXソースの本文を手直しして今年度版を作った。改訂に手間がかかる割には大して価値がなさそうな部分はざっくり削除した。しかし、価値を言うならそもそもこの記事自体の価値が疑わしい。とにかく日付が変わる直前までかかって仕上げ、圧縮してメールで会誌編集委員MLに送った。

●その他
TA, SAの出勤簿に押印した。

2015/09/29(火) 情報科学会誌記事の執筆

●計算機環境の整備
★研究室内の仮想サーバの保守
研究室内のCentOSサーバ rainbow, thunderhead, dusk, aurora で sudo yum update を実行した。

●PB演習 授業準備
続き。サーバの準備状況を関係スタッフにMLを通じてメールで連絡した。
F社のMさんから、F社からアカウント情報提供システムにアクセスできない旨の連絡を受け取ったので、アクセス許可の設定を変更して返信した。

●卒業研究の指導
Maくんからテーブル設計の改訂の点検を依頼されたので点検した。
YaくんとMuさんのシステム開発について指導した。

●授業用Webページの更新
続き。da2と基礎演習2以外の各科目のページをまだ作っていなかったので、今学期の担当科目のページを全て作った。

●da2 授業準備
第3回の資料を授業用Webページに掲載した。また、助教・TA・SAのために所定の場所にも資料を置いた。

●gw 授業準備
第1回のガイダンス資料を授業用Webページに掲載した。授業用WebページからLINEのアーキテクチャに関する記事にリンクした。第3回の資料に目を通した。

●進路指導Webサイトの更新
A先生からメールで流れてきた資料をWebサイトに掲載した。
学外イベントの日程も掲載した。

●情報科学会誌記事の執筆
続き。BIBについては pbibtex で解決した。手順を忘れないように、最初にTeXソースをコンパイルするときの処理をバッチファイルとして記録した。調査対象の学生数および回答数を確認した。回答から自由記述を抽出する作業を行った。

●その他
学部のWebサーバの時刻が1時間半ほど遅れていることに気付いたので、MLを通じてシステム運用室に連絡した。