生命情報,生体認証,バイオコンピューティングなど,21世紀の学問と呼ばれる新しい分野が成長してきています.これらの分野は,コンピュータ科学の発展に伴って生まれてきたものです.コンピュータ科学は,大雑把に分けると,アルゴリズム,データ構造,データベース,アーキテクチャ,ネットワーク,グラフィックス,ソフトウェア,セキュリティなどからなる学問です.そして,これらのコンピュータ科学の発展を支えたのは,数学,物理学,電子・電気工学です.
コンピュータ科学の発展に寄与したもう1つの要因に,プログラミング言語とコンパイラがあります.このテキストを手にしている人の多くは,すでになんらかのプログラミング言語を学んだことがあると思います.しかし,問題は,何人がすでに学んだプログラミング言語で,自分のやりたいことをプログラムに直し,実行することができますか,ということです.
もう1つの問題は,これから学ぶプログラミング言語は,オブジェクト指向でなければならないということです.そこで,このテキストでは,手続き型言語であるC言語のリソースを生かし,その上にオブジェクト指向言語としての構造をもつC++言語について学べるようになっています.さらに,C++言語を単に言語として学ぶだけでは,身に付かないという経験から,アルゴリズムとデータ構造を15回の講義で学べるようになっています.
最後に本書がコンピュータ科学への入門書としての役割を果たし,各専門分野での勉学の架け橋となることを願います.
2004年3月
著者