2009年5月27日水曜日

ThinkPad X200にWindows XPをインストール

同じく先週、私が愛用するラップトップThinkpad X200にようやくWindows XP Professionalをインストールしました。昨年X200を購入したときは、Windows Vista Home Basicがプリインストールされていて、それをずっと我慢して使っていました。

Windows VistaからXPに乗り換えて、とても満足しています。OSの起動/シャットダウンが遥かに高速になりました。稼動中のメモリ使用量もかなり少ない感じがします。確かVista使用時は、何もアプリケーションを起動していない状態ですでにメモリ使用量が1GBを超えていたような気がします。

GMU学生はマイクロソフト主製品を無料で使用可能
素晴らしいことに、GMUの学生はWindows XPを始め、以下のようなマイクロソフトの主な製品を無料でダウンロードし使用することができます。(残念ながらOfficeだけは提供されていませんが)
  • Windows Vista Business
  • Visual Studio .NET/2005/2008
  • MS Project 2003/2007
  • Visio 2003/2007
いざインストール
以下の手順でWindows XPをインストールしました。
  1. 既存データを外部HDDにバックアップ
  2. あらかじめ、Lenovoのサポートサイトから必要なデバイスドライバをダウンロードしUSBメモリ等に保存
  3. 友人からUSB外付けCD-ROMドライブを拝借
  4. BIOSの設定で、Serial ATAを"Compatibility"モードに変更
  5. Windows XPインストールCDでPCを起動
  6. 指示に従いHDDをNTFSで再フォーマット
  7. 指示に従いOSをインストール
  8. 途中、日本語入力機能を追加
  9. 2.で保存しておいたデバイスドライバ一式をインストール
  10. 9.においてIntal Matrix Storage Driverをインストールしたので、BIOSの設定でSerial ATAを"AHCI"モードに戻す
ざっと以上です。上記のうち、6.では、もともとNTFSでWindows Vistaが稼動していたのだから再フォーマットしなくても良いかと思い、最初は再フォーマットせずにインストールを進めると、途中でなぜかファイルのコピーに失敗してしまいました。再フォーマットするとうまくインストールできました。

内臓カメラが認識されず
今のところ、特に問題なく稼動しているのですが、ただ一点、内臓カメラが認識されず使用できずにいます。このままではSkypeのビデオチャット等ができない。。。上記サポートサイトに内臓カメラのデバイスドライバがダウンロードできるのですが、インストールできたのかできなかったのかもわからない状態です。デバイスマネジャを見ると、USBカテゴリ配下に"Unknown Device"という項目が一つあるので、これではないかと疑っていますが、どうすることもできません。
どなたか、解決策をご存知でしたら教えていただけないでしょうか。

2009年5月26日火曜日

24インチモニタ購入

先週、24インチWUXGAモニタを自宅に購入しました。Samsungの2443BWTという型式のものです。Amazon.comで約400ドル(!)で購入しました。このような大きなモニタを4万円前後で購入できるようになって、凄い時代になったものです。

Samsung社はかなりたくさんのモニタをリリースしていてどれを選べばよいかかなり迷いました。結局、私はゲームもしないしDVDをパソコンで観たりしないので、余計な機能が一切ついていない、このモデルにしました。枠がテカテカしていないのも気に入りました。

当初、上記のほかに、DellのUltraSharp 2408WFPにしようか、LenovoのThinkvision L2440xにしようか、迷っていたのですが、結局、ニーズと値段に見合った2443BWTにしました。

たった400ドルで作業効率大幅アップ
もっと早く買っておけば良かった、とかなり後悔しています。この春セメスターでは、家族が渡米してきたばかりということもあり、可能な限り自宅で研究や勉強をしていました。自宅ではもちろんラップトップで仕事をする必要があります。現在、私はThinkpad X200を愛用しているのですが、画面サイズは12.1インチのWXGA。最近のラップトップはみんなワイドで、B5サイズとはいえフルサイズキーボードを備えていてとてもタイプしやすいのですが、いかんせん画面が小さい!Eclipse等のIDEを使うと、作業スペースがかなり狭いです。
12.1インチWXGAの画面に比べると、24インチWUXGAの画面はかなり広大です。いくつかの画面を同時に表示させて見比べながら作業ができますし、プログラミングや図の描画時には同時に多くの情報を表示できるので、大幅に作業効率がアップしました。たった400ドルの投資でこれだけ効率アップできるのであれば、あの多忙な春セメスターにこのモニタがあったらさぞかし楽だったろうと、かなり後悔。

自宅引きこもり注意
大学の研究室には、上記Dellの24インチモニタが備えてあるので、自宅とほぼ同じ仕事環境です。モニタを購入するまでは、大学の研究室の方が作業効率が良いというメリットがあったのですが、これによって研究室のメリットがなくなってしまいました。というわけで、特に用事がなければ自宅で仕事をした方が、公共バスを使った移動時間の節約にもなります。ですが、そうなると自宅に引きこもりになってしまい、英会話の訓練ができなくなってしまうので、悩ましいところです。

2009年5月23日土曜日

SWE699ふりかえり

この春セメスターに履修していた3つのクラスのうち、このSWE699だけは通常のクラスと異なるものでした。リサーチクラスと呼ばれ、先生による講義ではなく、学生が順番に論文を読んできてそれをクラスで発表する、というものです。
このクラスではさらに、グループプロジェクトが課され、講義の最後の3コマはそのプロジェクトの成果発表が行われました。私は、リサーチアシスタントとして参画しているSASSYプロジェクトのプロジェクトメンバであるもう一人の学生と二人でグループプロジェクトに取り組みました。幸い、このコースの講師は同じくSASSYプロジェクトメンバであるDr.Malekだったので、SASSYプロジェクトに直接関わる内容をグループプロジェクトとして取り組むことができました。というのも、このコースのサブタイトルは「Service-Oriented Architecture Research Issues」、SASSYプロジェクトのターゲットもSOAだったからです。

このクラスではほとんどの学生が良い成績を得たのではないかと思います。みんな良い発表をしていたし、各グループプロジェクトもおおむねDr.Malekの指導下で進められたようです。私達のグループプロジェクトも良い成果が出ました。おかげで「A」をいただくことができました。

毎週3本論文を読む
このコースでは、毎回クラスの始まりにクイズがあり、その日に発表される論文約3本をちゃんと読んできたかテストされました。というわけで、ほぼ毎週3本の論文を読む必要があり、他のコースや研究活動で忙しい中、結構きつかったです。ですが、このコースの論文のチョイスは素晴らしく、ソフトウェアアーキテクチャやSOAに関する研究動向を知ることができました。

JOperaについて発表
私はコースの中盤に、JOperaについて発表しました。SASSYプロジェクトの研究活動の中で、類似研究としてJOperaの存在が注目されたので、その調査も兼ねていました。なので、私が発表した論文は当初、このコースでは予定されていなかったもので、私が無理やりお願いしてねじこみました。その結果、SASSYプロジェクトとはいくつかの相違点があり、それらを明確にすることができて良かったです。

以下が、発表した論文です。
C. Pautasso, T. Heinis, and G. Alonso. "Autonomic Execution of Service Compositions." Int'l Conf. on Web Services (ICWS 2005), Orlando, Florida, July 2005.
JOperaは、Eclipseプラグインとして実装されているSOAツール(?)で、Webサービス等の既存サービスを利用/統合したアプリケーションをグラフィカルにプログラミング可能にします。SASSYプロジェクトと同様、ツールのユーザは、アクティビティ図のようなダイアグラム描くことによりアプリケーションを組み立てます。JOperaにおけるプログラミングUIの最大の特徴は、アクティビティの制御フローとデータフローに対しそれぞれ別のビューを提供している点です。制御フロービューで、いわゆるアクティビティ図を描きつつ、データフロービューでアクティビティ間でのデータ受け渡しを記述します。このアイデアはとても効果的だと考えています。Webサービス等のサービスを統合するアプリケーションをグラフィカルに作成可能なツールとしては、BPELをターゲットとしたOracle BPEL Process ManagerやNetBeansのBPEL Designer等がありますが、BPELという言語のしばりがあるせいもあり、制御フローだけがグラフィカルでデータフローについては「変数間のマッピング」という形で定義する必要があり、わかりにくいです。

現在、SASSYプロジェクトでも、サービスを統合するアクティビティを記述するための言語/記法について、データフローの記述方法についてはまだ決着していません。JOperaが採用している、データフロー専用ビューというアプローチを有力な候補にすべきだと個人的には考えています。

グループプロジェクト
このコースのグループプロジェクトでは、上述のようにSASSYプロジェクトの研究活動を通常どおり進め、成果をそのまま流用して良かったので、気が楽でした。
現在、SASSYプロジェクトでは、上記アクティビティ言語の策定を終わらせ(議論の余地がまだまだあるものの、もうそろそろ終わらせないと次に進めない)、この春セメスターでは私は、上記言語で記述されたアクティビティモデルから実行可能な基本ソフトウェアアーキテクチャを自動生成する方法およびプロトタイプの実装に取り組みました。おおむね実装が完了し、このグループプロジェクトの成果として発表することができました。

私が取り組んでいる上記研究の詳細については、今後のエントリで少しずつ紹介させていただきます。

2009年5月22日金曜日

SWE642ふりかえり

SWE642では、一言で言うとJ2EEをざっと概観する、という内容でした。今までのキャリアの中で、Web開発にかかわることはなかったので、このクラスは私にとってWeb開発がどういったものなのか知るとても良い機会になりました。

クラスで成績1番だったかも!?
このコースの成績はA+でした!A+をいただいたのは初めてで、とてもうれしかったです。しかも、このコースの初回に先生がGrading Policyを説明され(この資料の6ページ目)「A+はクラスでtop gradeだった一人だけにしか与えない」と言っていました。なので、おそらく今回のクラスの中で私が最も成績が良かったのかもしれません。今回のクラスでも、会社勤めをしながら講義を受けるパートタイムの学生が多く、そのほとんどが仕事でWeb開発に関わっているようなので、そのような中で良い成績をいただけたのは、良かったと思います。

このコースで学んだ内容
このコースで扱ったのはJ2EE、より具体的には以下の技術について、宿題を通じて実践しながら学びました。
  • HTML
  • JavaScript
  • Java Servlets
  • JDBC
  • JSP
  • XML/XML Schema
  • J2EEデザインパターン
上記を見てお分かりのとおり、これらをたった4ヶ月でしっかり学ぶことは不可能です。このコースではこれらを広く浅く学びました。これらの技術を自分のものにするには、より多くの実践が必要なのは明らかです。ということで、このコースをきっかけに、自分でより深く勉強していければよいと思います。

JavaScriptはちょっと厄介?
JavaScriptは、先生が講義でおっしゃっていたように、C言語やJavaと異なり、厳密な型チェックがないので、プログラミング/デバッグが厄介そうな印象を受けました。今度のキャリアの中で、JavaScriptにあまり関わらないことを祈るばかりです。ただ、幸いJavaコードをJavaScriptに変換してくれるGWTといった技術が利用可能なので、これらをうまく利用すれば良いかと思いました。

なるほどJSP
このコースが始まってすぐぐらいに書いたこのエントリで、ServletsではHTMLを動的に生成するためにJavaコードの中にHTMLを埋め込む必要があるので気持ち悪いと書きました。その数週間後、JSPを学び、すぐ「納得」でした。JSPはServletsとは反対に、HTMLにJavaコードを埋め込むイメージ。そして、ベストプラクティスとして、可能な限りJSPには複雑なJavaコードは埋め込まずJava Beanからデータを取り出すだけにして、複雑なコードは普通のJavaクラスに実装すべき、というのにも「納得」です。

繰り返しになりますが、このコースはあくまでもJ2EEの概観でした。ですが、ざっと全体を見渡すことができ基本的な事項を押さえることができたようなので、このコースを履修してとても良かったと思います。一方で、これらの基本の上に、SpringStrutsといった様々なフレームワークが提供されているだろうと、容易に想像できます。また、プロフェッショナルなレベルに至るまでにはより多くの実践が必要だろうと思います。今後、機会があればより深く学んでいきたいと思います。

2009年5月19日火曜日

SWE622グループプロジェクトを終えた感想

前回のエントリで書いたように、SWE622のグループプロジェクトでは、分散アプリケーションをJavaで実装しました。ふと考えると、昨年の8月に渡米して以来、初めて1Kステップ以上のプログラミングをやったことになります。また、このプロジェクトで初めて他国の人と共同で実装をしました。

国際色豊かなグループ構成
私のグループは、会社勤めをしているパートタイム学生のアメリカ人、フルタイム学生のインド人、フルタイム学生の中国人、と私という国際色豊かな構成でした。このプロジェクトのおかげで、渡米以来初めてインド人の友達ができました。

果たしてみんなの実力は?
上記メンバのうち、アメリカ人の彼女は私よりも年上の現役デベロッパで経験が豊富、インド人の彼は若いながらも議論では鋭い指摘や積極的な提案をするスマートさを備えていたので、彼らがどんなコードを書くのか、とても興味津々でした。

今プロジェクトを終えてみて、正直な感想は、「私のプログラミング能力も十分通用するかも!?」(控えめ)

プログラミング能力=経験+好きさ度合い?
まず、今回のプロジェクトで改めて確信したのは、(いろいろな意味で)良いプログラムを書くためには経験がものをいうなあ、ということです。もちろん私はまだまだ経験不足ですが、それでも10年以上プログラミングをやってきて、今でもコードを書くたびに新しい発見があるので、経験の量だけ差がつくのではと思います。今回のプロジェクトにおいて、インド人の彼はまだ若かったのでこれから経験を積む段階だったようです。今回のプロジェクトを通じて彼は「すごい勉強になった」と言ってくれていたので良かったです。彼はとても頭が良く、前向きでしかも素直な好青年で、将来すばらしいエンジニアになるだろうと確信します。

アメリカ人の彼女は私より職務経験が長く、毎日のようにEclipseを使っている、と言っていたのでプログラミング経験も豊富なのではないかと思います。ですが、本人は実装大好き、というわけではなかったようです。

今回のお二人の様子を見ていて感じたのは、上述のように経験が重要ということと、どれだけ実装が好きか?というのがプログラミングには重要だと感じました。後者については、熱意にもつながるので、ちょっと疑問や興味を感じたときにどれだけがんばって調査するか、というアクションにも影響すると思います。その結果、新しい技術やリファクタリングテクニック、各種パターン等の習得度合いが変わってくると思うのです。

ちょっと自信がつきました
2008年秋セメスターでは、実装する機会がほとんどなく、議論する機会ばかりでした。英語のせいもあると思うのですが、周りの人たちがみんな頭良く見えて、自分は頭が悪いなあ、と感じたりしていました。ですが、この春セメスターでは実装する機会がぐっと増えました。このSWE622のグループプロジェクト、次回のエントリでご紹介しようと思っているSWE642の宿題、また私が取り組んでいる研究でも実装しています。これらを通じて、実装してみないとわからない重要な点が結構あって指摘したり、実装上の興味深い問題を解き議論の場で紹介したりしました。このようにして結果を出すことができ、この異国の地でもなんとかやっていけそうかな、とちょっと自信がつきました。

2009年5月18日月曜日

SWE622ふりかえり

この春セメスターを多忙にしていた主原因の一つがこのコース、SWE622です。振り返ってみると、主に以下の3つの理由により、このコースはとてもきつかったです。
  1. このコースのトピック「分散コンピューティング」がただでさえ難しい
  2. 量の多いReading Assignmentが毎週出た
  3. グループプロジェクトの課題も大変だった
期末試験も難しい上に量が多く、ほとんどの学生はテスト時間いっぱいまで教室にいたので、私を含めみんな全問回答はできてなかったのではないかと思います。ただ、先週成績が発表され、幸い「A」をいただくことができ、ほっとしています。やはり先生も全問回答することは期待していなかったようです。

このコースで学んだ内容
このコースのタイトルは「Distributed Software Engineering」ということで、分散コンピューティングについて学びました。個人的に、コンピュータサイエンスという分野の中で、分散コンピューティングはもっとも難しい内容の一つではないかと思います。
このコースでは、タネンバウム教授著の教科書「Distributed Systems: Principles and Paradigms 2nd Edition」におおむね沿って進められました。その中で、やはり「同期」は難しい問題だと思います。「同期」と一言で言っても、排他制御だけでなく、複数ノード間での時計の管理や、複製されたデータの一貫性管理など、分散コンピューティングならではの悩ましい問題も含みます。グループプロジェクトでも、これらのうち排他制御と時計(時間)管理について取り組みました。

とても多いReading Assignment
このコースの一番嫌だったのは、毎週出たReading Assignment。量が多かったので、毎週金曜日はほとんどこの宿題のためだけに費やしていたような気がします。大体記述式の問題に答える必要があったので、ほとんど英語の勉強をしているような感覚でした。
大変だけど楽しかったグループプロジェクト
上記のようにReading Assignmentは嫌でしたが、一方でグループプロジェクトは楽しむことができました。というのも、動くものを作るプログラミングだったからです。私の所属したグループには私以外に、アメリカ人一人、インド人一人、中国人一人の、合計4人でとても国際色豊かなグループでした。

プロジェクトの課題はざっくり要点をまとめると(実際の課題内容はここ
  • 「Trader」と「Exchange」という2種類のプログラムで構成された分散アプリケーションをJavaで実装
  • 複数のTraderと複数のExchangeが複数のコンピュータに配置されn対mの関係で相互作用する
  • 複数のTraderは複数のExchangeに対し、前もって「登録」を行う
  • Traderは登録したExchangeに対しメッセージを送信することにより、「買い注文」または「売り注文」を行うことができる
  • 注文を受けたExchangeは、登録された全Trader群に対しその注文をエコー送信する
  • Exchange間でメッセージ送受信は必要ない
  • Exchangeは、登録された全Trader群について、注文が行われた「順番」を正しく管理しなければならない
  • TraderおよびExchangeが配置されている複数のコンピュータの時計が完全に同期していると仮定してはならない
  • コンピュータがダウンしても、残りのコンピュータで分散アプリケーションは稼動し続けなければならない
  • メッセージ送受信には、Java RMI、Socket、Web Service等の通信手段を用いる。上記要件に基づきメッセージの種類に応じて望ましい通信手段を選択することが望ましい
どうやってイベント発生順序を管理する?
上記のうち、課題を難しくしているのはやはり「注文が行われた「順番」を正しく管理しなければならない」というところです。コンピュータ間で時計が同期していると仮定できないので、コンピュータAがメッセージを送信したタイミングと、異なるコンピュータBがメッセージを送信したタイミングのどちらが先だったのか、何らかの方法で知る必要があります。一つの方法は、Berkley Algorithm等のクロック同期アルゴリズムを使ってコンピュータ間の時計を合わせることが考えられます。
もう一つの方法は、コンピュータ間の時差を計算しておいて、メッセージが送信されたタイムスタンプに対しその時差を織り込む、という方法があります。私達のグループは後者の方法を採用しました。結果的にどのグループも同じ方法を採用していました。コンピュータ間の時差の計算方法は、NTPでも採用されているものです。以下の図において、T1およびT4はComputer A上の時計の時刻、T2およびT3はComputer B上の時計の時刻です。このとき、Computer AからBにメッセージを送信した際のNetwork Latencyと、BからAにメッセージを送信した際のNetwork Latencyが同じだと仮定すると、そのLatencyは(T4-T1 + T2 -T3)/2で計算できます。この値を使うことで時差を計算することができます。
ただし、大規模ネットワークにおけるルーター等の存在を考えると、上記仮定は必ずしも成り立たない上に、各コンピュータのクロックデバイスはそれぞれ特性があるために時差は徐々に変わっていきます。したがって、この時差の計算は何らかの周期でやり直す必要があります。

設計
他のグループと比較し、私達のグループのもっともユニークだった点は、Java RMIとSocketの2種類の通信手段を両方サポートし、比較評価を行ったことです。他のグループはいずれもRMIまたはSocketのいずれか一方のみを使って実装していました。以下が私達のグループの設計(イメージ図)です。
上記のように、ミドルウェアがアプリケーションに対し2種類の通信手段の詳細を隠蔽します。ミドルウェアとアプリケーションとの間にはキューがあるため、アプリケーションにとってメッセージ送受信は全て非同期に行われることになります。

このプロジェクトで私はミドルウェアを全て実装しました。上記のようにミドルウェアは多くのスレッドが相互作用する難しい実装でしたが、とても楽しかったです。このミドルウェアがちゃんと動作しないと、アプリケーション開発に支障が出るので、かなり早い時期に実装を完了するよう努力しました。おかげで、とても安定したミドルウェアを実装することができ満足しています。

2009年5月15日金曜日

2008年度(?)卒業式

昨日、The Volgenau School of Information Technology and Engineering卒業式があったようです。私は出席しなかったのですが、私の友人が見に行ったようで写真だけもらったので掲載します。以下の写真がメインステージです。Dept. of Computer Scienceの学部長ということで、写真の左の方に私のアドバイザのGomaa先生の姿があります。また、写真の右の方でこちらを向いている方が、Associate Deanで同じ研究プロジェクトのDr. Menasceです。下の写真が、出席している卒業生たち。ちょっと写真がぶれています。GMUのスクールカラーである緑と黄色で埋め尽くされています。この色合いはちょっと微妙。。。手前がUndergraduate、中央付近がMaster、奥がPhDだそうです。若干、格好が違うのがわかりますね。
私は来年の今頃、卒業予定ですが、わざわざ高いお金を出してこの格好をして卒業式に出席しようか、ちょっと悩み中です。。。

2009年5月14日木曜日

春セメスター期末テスト

この春セメスターに履修した3つのコースのうち、SWE622、SWE642の期末テストがありました。SWE699はリサーチクラスということで期末テストはありませんでした。

SWE622期末テスト
SWE622は、分散コンピューティングのクラスです。教科書やノート等持込可の試験ということで、基本的に問題を解く形式のテストでした。結論から言うと、時間内に全問を解くことができませんでした。とても時間内に解ける問題数でなく、先生もテスト開始時に問題を選んで解いて良いと言っていました。期末テストでは、
  • 排他制御
  • ノード間通信(同期/非同期)
  • クロック同期
  • データ複製
  • セキュリティ
に関する問題が出題され、全て記述式でした。正直、英語の問題文を正確に理解するのも一苦労でした。やはり排他制御の問題が一番難しいと感じました。具体的なソースコードが提示されず問題文から状況を整理してクリティカルセクションを見出す必要があったので、回答した後もその回答に自信が持てませんでした。

このクラスは、私が履修しているMS Software Engineeringコースの必修クラスで、ご覧のとおりかなり難しいトピックを扱っています。この春セメスターでこのクラスの期末テストがもっとも心配でした。時間帯も夜の7時半から10時だったので、年齢のせいか最後の方は脳みそが休止していたような気がします。

SWE642期末テスト
SWE642はJ2EEに関するクラスです。Java Servlet、JSP、XML等が主なトピックです。期末テストでは、一週間前に先生が「採点しやすいテスト形式にしたい」とおっしゃったとおり、単語穴埋め式問題や、True or False形式、間違い探し形式等の問題が出題されました。比較的やさしいテストだったのではと思います。一方で、教科書持込不可で、記憶する必要のあるテストであったとも言えます。
より具体的には、
  • Servletの基本的な知識
  • Servletとスレッドの関係
  • JSPの基本的な知識
  • JSPがJavaコードに変換されコンパイルされるまでのプロセス
  • J2EEデザインパターン
  • W3C XMLスキーマとインスタンス(XML)
に関する問題が出題されました。といっても、上記のようにこのクラスで扱ったトピックは幅広く、それぞれのトピックについて学んだ内容は残念ながら浅いもので、期末テストの問題もそれに準じたレベルのものでした。実際、先生も最後の講義で、このクラスを足がかりにより深い知識を自分で学ぶ必要がある、とおっしゃっていました。

2009年5月12日火曜日

リラックス

昨日、2つあった期末テストの最後の一つが終わり、今日は完全にリラックスモードで過ごしました。夕食は家族全員で友達と一緒に、GMUキャンパス内にあるビュッフェスタイルレストラン「Southside」に行ってきました。このレストランは去年の10月ぐらいにオープンしたばかりの新しいもので、中に入るとキャンパスとは別世界のようです。ビュッフェスタイルということで全部食べ放題。サラダ、フルーツ、ハンバーガー、パスタ、ピザ、サンドイッチといったアメリカで定番のものから、日替わりの多国籍料理があったり、アイスクリーム、ケーキ、ビスケット、各種飲み物もあります。

ミールプランという前払い制でまとめて料金を払うと、寮に住む学生は一食5ドルで、オフキャンパスに住む大学院生は一食6ドルになります。通常料金は一食9ドルだったと思います。

味はそこそこで上記のバラエティなので、一食6ドルは結構お得だと思います。今日は久しぶりの外食を家族で楽しみました。子供達は無料でした。

明日は私のアドバイザ、Gomaa先生と朝からミーティング。この夏休みにおける研究の進め方/予定を議論します。明日から通常モードに戻り、研究に専念したいと思います。

2009年5月11日月曜日

2009 Spring Semester終了!

今日、SWE642の期末テストが終わりました。私は、これをもって2009年度春セメスターが終了しました!

今日まで、ブログの更新が途絶えてしまって本当にごめんなさい。このセメスターは本当に忙しかったです。履修した3つのコースはいずれも宿題やグループプロジェクト等の課題が多い上に、リサーチアシスタントとしての研究もとても忙しかったです。そして何よりも、家族が今年の1月から渡米し新生活を立ち上げる時期だったので、入学手続き等、いろいろとやらなければいけないことがたくさんありました。

春が来た
でも春セメスターが終わったので、少なくとも上記のうちコースに関わる講義、宿題やグループプロジェクトはもうありません。これでとても負担が軽くなります。しかも、寒い冬が終わり、やっと春が来ました。もう5月なのでこれからどんどん暑くなるのかもしれません。でも寒い冬より全然まし。気持ちがうきうきしてきます。家族もだいぶ新生活に慣れ、落ち着いてきました。

今後の予定
当初希望していた、どこかの会社でのサマーインターンシップはあきらめ、この夏休みはGMUのリサーチアシスタントとして今取り組んでいる研究を続けさせていただくことになりました。お給料も少し上げていただくことになり、家賃だけでなく食費もカバーできそうです。もちろん夏休みなので履修すべきコースはないので、研究に集中できるので楽しみです。