物理情報工学科では、「量子コンピューティング」、「アルゴリズムとデータ構造」、「プログラミング基礎同演習」など、情報系の授業を次々と開講し、最先端かつ魅力的な授業の展開を図っています。

量子コンピューティング

物理情報工学科では3年生を対象とした学科専門科目「量子コンピューティング」を設置しています。「これまでのコンピュータでの不可能を可能にする!」という明確な目標を設定し、物理学(量子力学)と計算機科学の最新理論を融合させるのが量子コンピュータ研究です。その最先端を、物理情報工学科の教員2名(伊藤公平教授と山本直樹教授)が創設した慶應義塾大学・量子コンピューティングセンターが切り拓いています。本科目では、その先鋭的な理論を学び、米国ニューヨーク州のIBMワトソン研究所が開発を続ける世界最高峰の量子コンピュータIBM Qにクラウド接続して実際のプログラミングと量子計算に取り組みます。留学生の受け入れも推進するために講義は英語で実施されます。物理情報工学科に進学して、学部生から科学技術の最先端に触れる経験を積んでください。

最近は、AIや最適化などの高度な情報処理に対する便利なソフトウェアが開発されています。そのおかげで、私たちは気軽に多くのことができるようになっています。それらのソフトウェアを単に利用するだけならば、詳細な中身を知らなくても良い、という考えを持つ人もいるかもしれません。しかし、情報工学に対する深い知識を持つことはこれからますます必要になると考えます。物理実験の実験装置を上手に使うためには、物理の深い知識が必要であると同様、コンピュータを上手に使うためには、コンピュータの動作原理を正しく知ることが必要不可欠です。そうした知識を得るきっかけとして、物理情報工学科では、アルゴリズムとデータ構造の講義を設置しました。この講義は、コンピュータで実行したい処理をプログラムとして記述するための方法(アルゴリズム)や、プログラムで使用するデータの格納方法(データ構造)を学び、コンピュータプログラムの動作原理を理解することを目的とします。 いまは、オープンソースソフトウェアと呼ばれるソフトウェア開発スタイルが活発に行われています。そのため、情報工学の深い知識を得ることができれば、いま開発されている便利なソフトウェアの改善方法を提案、実装することも可能です。人類の知的生産を更に深める活動にすぐに参加することができるわけです。更にチャレンジングなこととして、いままで世界中の誰もが思いつかなかったような新しい情報処理の方法の提案が可能になるかもしれません。最近では、量子コンピューティングといった新しいコンピューティング技術が猛烈な勢いで発展を遂げており、物理学の知識と情報工学の知識を共に学ぶことが必要な時代が来ていると言えます。

アルゴリズムとデータ構造

プログラミング基礎同演習

普段使うスマートフォンや、パソコン、コンビニのレジなど、世の中のいたるところにコンピュータがあります。そのコンピュータの上ではソフトウェアが動いており、そのソフトウェアはプログラムで出来ています。プログラムとはコンピュータへの指示であり、プログラムを作ることを「プログラムを組む」と言います。巨大なIT企業がチェスの世界名人を破るAIを開発したニュースを聞いたり、プログラミングスクールのオンライン広告をよく見かけたりして、漠然と「プログラムができるようになったほうが良いのかな」と思っている人も多いでしょう。しかし、プログラムはツールであり、何かをするための道具です。ただプログラムを組めるようになっても、プログラムを使って何かができるようにならなければ意味がありません。では、プログラムが組めるようになると何ができるようになるのでしょうか?
 物理情報工学科では、「使うためのプログラミング」を学ぶために「プログラム基礎同演習」という講義があります。Google Colaboratoryというシステムを使ってブラウザ上でプログラムを実行し、シミュレーションをしたり、迷路を解いたりしながら実習形式でPythonを学び、最終的に機械学習まで体験します。この講義ではPythonを題材としますが、「Pythonの文法を覚えること」や「プログラムができるようになること」を目指すのではなく、Pythonを学ぶことを通して普段の生活や研究で直面した課題にプログラムを使って問題を解決できるようになる「プログラマ的な感覚」を身に着けることを目指します。 この講義を受け、「プログラマ的な感覚」を身に着ければ、卒業研究に取り組んでいる時に「あ、この作業はこんなプログラムを組めば効率化できそうだな」と思ったり、仕事で面倒な作業をしないといけない時に「多くの人がこの作業をしているはずだから、きっと簡単にできるツールがあるに違いない」と思って探すようになったりするでしょう。その時あなたはプログラムを「使える」ようになっています。物理情報工学科では、高度なアルゴリズムやコンピュータの動作原理を学べるようなカリキュラムも用意してあり、さらなるステップアップを目指すことができます。

(左)反応拡散方程式の数値シミュレーション。(右)迷路の解法アルゴリズム。