アメリカのコンピューターサイエンス学生事情

こんにちは!
実は筆者、大学院時代はアメリカで過ごしたので私が見てきたアメリカのCS学科を記録したいと思います。
*私が見てきた事、聞いてきた事に限るので学校毎にもしかしたら違いがあるかもしれません。

  • 学科は細かく分かれていない

日本見たく、情報系の下に又情報メディアやら先進情報やら分かれていなく、皆が平等に情報学科です。
なので本当に大まかな必修の決まりしかなく、どの分野、どの授業を取るかは全く個人に寄ります。
基本授業毎にナンバーが振り分けられており、100~200なら一年生レベル、200~300なら二年生、300~400が三年生、
400+がgraduate levelとなり、大学院生向けの授業になっております。
ちなみに100代でのレベル分けはなく、122の授業が188より簡単だと言うことはありません。
CSは相対的に分岐が少ないのでまだいいのですが、EE(Electrical Engineering)、日本での電気電子学科の人たちは大変そうでした。
何せ通信、制御、センサー、電気回路、ロボティクス、システム等々分岐がありすぎて授業を選ぶのが大変です。
下手したら色々かじりすぎて卒業したら何も出来ない人になってしまったっていう話も聞きます。
なのでこちらの学生は人ひとりにアドバイザーがついていて、学期末の時に次の年度何を履修したいか、将来の目標などを相談しに行けます。
具体的に学科が分かれるのは院からですね。
なのでこっちの学生は本当に自分に合った授業しかとらないし専門性が高く感じますね。

  • 学部生、修士は論文を書かない

私も来てから知ったのですが、アメリカで論文を執筆するのはドクターのみです。
正確には学部生も修士も研究室に入るかはオプションであり、入らないのであればその分の単位を授業で埋めればいいだけです。
そもそも日本の”修士”と言う概念は、ドクター前期であり、日本の博士はドクター後期と呼びます。
アメリカではこのドクター前期、後期を纏めてドクターと呼びます。
つまりドクターは五年制なのです。
なので日本の様に、学部→修士→博士ではなく、
   
学部→修士又は博士

なのです。
じゃあアメリカの修士はなにをしているのか?
授業を受けるだけです。(笑)
学部生やマスターが研究室に入りたければ自分で教授を見つけて相談するしかないですね。
アメリカの学生は本当に世界中から集まってくるので、どこの研究室も満員状態です。
学部生を入れると研究室に手当が入るそうなので比較的入りやすいですね。

  • 授業の難易度は本当に高い

これは又学校にもよると思うのですが、私の学校では難易度が非常に高く、
特にCSのgraduate levelの授業は一学期4つも受ければキャパオーバーと言われるほどです。
授業自体は週二回なのですが、とんでもない量の課題を出してきます。
更に特徴的なのが、日本の課題は(少なくとも私が経験して来たもの)その多くが決まった答えがあるものです。
しかしアメリカの課題にはこの様な課題が出ます。

今まで使った事のない言語、フレイムワークを使って新しいサービスを開発せよ。
人間の遺伝子データを分析せよ。手段、言語、ライブラリは問わない。

更に恐ろしいのがアルゴリズムチェックと言う物があり、ネットで少し調べれば出るコード、
又は他の生徒、過去の生徒とのアルゴリズムが一致した場合そのまま落ちます。
コードチェックではなくアルゴリズムや構造そのものをチェックするので誰も楽はできません。
しかも具体的判定基準が無い課題が多いので、本当に自分の出来る最大限の力を出し取り組まなければなりません。
成績にCやDが付くと卒業そのものが危うくなりますし就職活動、進学にも影響が出るからです。

  • 授業の実用性が高い

驚くべきは授業が毎年進化し続け、新しい技術を取り組んでいる事です。
CS学科の学生なら、誰もがLINUXを使いこなせ、gitを使ってチーム開発ができます。
アマゾンAWSは誰もが知っており、授業で使うこともあります。
しかも発生した料金は学校側負担あるいは免除できます。
HadoopやSparkを使った事のある日本の学部生はどれほどいるでしょうか
LaravelやGO、MongoDBを授業で使うのです。
そりゃ卒業したら即戦力になるでしょうね。
感服するのみです。


少し長くなってしまったので今日はここまで。