研究のためのプログラミング

こんにちは。
M1の中野です。

山田さんのブログで掲載されている荒川君をモデルにしたあのイラスト、半端ないッス。
僕のも書いてほしい・・・でも順番でいくと次は一ノ瀬君かなぁ・・・

えと、今日は前回に引き続き(といってもずいぶん前ですが)僕が入学前に不安に思ったことについて書きたいと思います。

僕は去年の夏の第1回目の入学試験で無事合格し、古川研究室への所属が決まりました。
ホッと一安心して、卒業研究に専念していたのですが、卒業研究発表も終わり、春休みに突入すると、来年度のことが気になってきます。
「無事合格はできたけれど、大学院ってそもそも何するところなんだろう」とか
「自由な時間はとれるのかな」とか
「何かやっておいた方がいいことはあるのかな」とか
他大学への進学になるので、不安も人一倍でした。

で、結論からいいますと、
大学院でやることは、学部時代にやっていたこと(特に4年次の卒業研究)とあまり変わりはありません。
講義をいくつか取り、修士論文に向けてのテーマを決め、研究を行っていきます。
当然ですが、入学直後から所属先も決まっているので、学部1、2年次のように講義と講義との合間に行き場のないような事態には陥りません(笑)
講義が終わったら、速やかに研究室に戻ってきてください!!

あと、自由な時間はとれます。
理系の学部1、2年次の多忙さに比べれば、ずいぶん楽です。
修論の追い込み時期になると、泊まり込みになるとの噂ですが(笑)
普段は結構みんな自由な時間をエンジョイしていて、バイトしたり、スポーツしたり、お昼寝したりしています。
よくイカ釣りに行くのに未だにボウズ(釣果0)の人なんかもいます。

最後に何かやっておいた方がいいことはあるかですが、これは地味にあったりします。
入学してからでも決して遅くはないのですが、前もって準備していればすごく役立ちます。
何かというと、数式をプログラミングすることです。
具体的な例を挙げると、xx = (1,2,3)、yy = (4,5,6)のベクトルとしたとき、その内積z = x・yを求めよ。
みたいな感じです。
xはベクトルで、3つの成分を持っているからxを表すのに配列を用いて・・・云々
のように慣れていればすぐコーディングできそうですが、最初は結構戸惑うのではないかと思います。
僕はそうでした・・・

解答例は以下です。
C言語の場合
============================
int x[3]={1,2,3}, y[3]={4,5,6};
int z=0;
int i;

for(i=0; i<3; i++) {
    z += x[i] * y[i];
}
============================

R言語の場合
============================
x<-c(1:3)
y<-c(4:6)
z<-sum(x*y) #あるいはz<-x%*%y
============================

Javaの場合
============================
xは1,2,3を成分に持ったベクトルで
yは4,5,6を成分に持ったベクトルなんだけど
その内積を計算してzに格納して!!
============================

Java自然言語理解を達成した神言語です。

※真面目な解答例はこちらです。