高校生に伝えたいほんとうの情報科学

FAQ

情報科学科に進学を考えている方へのよくある質問と答

プログラミングができないと進学できないでしょうか?

なんらかのプログラミング経験から情報科学に興味を持って進学する方もありますが、多くの方が大学へ入学してからプログラミングを学んでいます。きちんと指導しますから安心してください。プログラミングは研究対象のひとつでもあり、自分たちの道具でもあるので、身につける必要がありますが、ブロックを組み合わせて自分で考えたものを作るのが好き、あるいはアルゴリズムを考えるのが好きな方なら、すぐにとけこんで気に入るでしょう。

数学は情報科学でどのように役立ちますか?

情報科学によって数学の世界は大きく広がります。たとえば5次方程式には解の公式が存在しないことが証明されていますが、コンピューターを使って数値的に解を計算することは容易にできます。偏微分方程式や最適化問題などは、実用的な複雑さの問題であれば、コンピューターを用いなければ解くことができません。

逆にこのような計算のプログラムを書くには、しっかりとした数学の力が求められます。グラフィックス、シミュレーション、機械学習などの計算には、微積分やベクトル・行列、およびそれらを発展させた解析学などの数学が欠かせません。また、データ圧縮や暗号化、検索エンジンやコンピューター将棋などの情報処理は、代数学や離散数学といった高度な数学に基づいています。

厳密な定義と証明という数学の手法は、情報科学でも活躍します。「どんなアルゴリズムでも速く解くことができない問題」や、「どんなコンピューターを使っても解くことができない問題」などがあるのですが、これらは「コンピューターとは何か」「解けるとはどういうことか」を厳密に定義したうえで、定理として証明されます。

他方で、数学的な定理の証明にコンピューターを使うこともあります。「どんな地図でも4色以下で隣りあう国を異なる色で塗り分けられる」という4色問題は、情報科学が生まれるまでは証明できませんでした。また、証明をコンピューターに自動的に行わせることも可能で、ソフトウェアの正しさや安全性をコンピューターによって検証することなどができます。さらには、カリー・ハワード対応という理論によって、「数学の証明を書くのとプログラムを書くのは同じ」であることが示されています。

パソコンを持っていません。高性能なものが必要ですか?

情報科学科に進学すると、ノート型のパソコンが全員に貸し出されます。普段のプログラミングの勉強や卒業研究などには十分な性能のものです。また情報基盤センターの自習室には、自由に使える備え付けのパソコンがあります。卒業研究などでパソコン1台では終わらない大量の計算が必要なときには、学科にPCクラスター(ミニスパコン)があるので、それを使えます。研究室によっては、情報基盤センターの最新のスパコンを使用しているところもあります。

情報科学科の授業は高校の情報の授業とどこが違うのでしょうか?

大学で学ぶ情報科学は、専門分野の基礎であると同時に、最先端の研究に直結しています。これに対して、高校の情報の授業は、万人が身につけるべき情報リテラシーや情報技術への理解を目標としています。本来ならば、高校の情報の授業から大学の教養課程の情報の授業、そして専門分野としての情報科学の授業へと、系統的なカリキュラムが組まれるべきなのですが、諸々の事情により、まだ現状は理想より遠いようです。したがって、情報科学科のカリキュラムは、高校や大学の教養課程で学ぶべきことも含めて系統的に組まれています。高校の情報の授業での先入観にとらわれずに情報科学科のことを調べてみてください。

4年間でどのように学ぶのですか?(カリキュラムは?)

東京大学に入学すると、はじめは教養学部に所属して幅広い基礎知識を身につけます。学科ごとの専門の勉強は2年生の秋から本格的に始まりますが、情報科学科では、講義形式の授業に加えて、実験・演習を通して実際に動くものを作成します。そのハイライトが、3年生の冬に行われる通称「CPU実験」です。4~6人の班でコンピューターを設計し、CGを描くプログラムを実行させ、その速さを競います。4年生になると、ひとりひとり専門分野に分かれ、所属する研究室が決まり、学部で学んだことの集大成となる卒業論文をまとめます。

情報科学科の卒業生はどのような進路に進んでいるのでしょうか?

卒業生の多くは大学院(コンピュータ科学専攻)に進みますが、他の専攻や他の大学に進学したり就職したりする例もあります。情報科学科・コンピュータ科学専攻を修了したあとの進路状況や卒業生の活動のようすは、情報科学科の案内やOBへのインタビューでも紹介しています。

どのプログラミング言語がいちばん役に立ちますか?

よほど制限されている場合を除いて、どのプログラミング言語でも、できることに変わりがないこと(チューリング完全性)が知られています。しかしながら、汎用的なプログラムは書きにくいが、限られた用途では書きやすいという言語もあり、どの言語が役に立つかは状況によります。情報科学科では、さまざまな状況を想定して幅広いプログラミングパラダイムを学習できるようにカリキュラムを準備しています。

情報科学にはコンピューターを使わない分野もあるのですか?

情報科学は計算と知能の本質を探る学問なので、コンピューターを直接使わない分野もあります。数学に分類されることもある論理学や圏論も、情報科学で盛んに使われます。また、計算のやり方をアルゴリズムと呼びますが、アルゴリズムの効率を確かめるには、かならずしも実際にプログラムを作ってコンピューターで動かす必要はありません。実は、数学的な考察によって、アルゴリズムの効率を理論的に保証するほうが主流です。

実現できないことを学習したり研究したりする意味はなんでしょうか?

実現できないことにもさまざまな状況があります。実現できないことが理論的に証明されている場合、研究する意義は薄そうですが、証明の方法を学習しておくことは重要かもしれません。現在の技術では実現できないというだけなら、もちろん意味があります。たとえば、量子コンピューターは最近になってやっと実現の可能性が見えてきましたが、量子コンピューターを有効に使うための研究は20年以上前から行われています。

PAGETOP