理論計算機科学
アルゴリズムは何千年も前から存在していたが(例えば、2つの数の最大公約数を求めるユークリッドの互除法は今も使われている)、計算におけるアルゴリズムの定義を定式化したのはアラン・チューリング、アロンゾ・チャーチ、スティーヴン・クリーネで、1938年のことである。一方、二進法と数学の形式体系はそれ以前からあり、ゴットフリート・ライプニッツが17世紀に二進法を数学的に定式化し、19世紀にジョージ・ブールがブール論理/ブール代数を定式化した。論理的推論と数学的証明は古代から存在したが、1931年クルト・ゲーデルは自身の不完全性定理で、公理体系には証明できない限界が存在することを証明した。
それらの発展が論理学や計算可能性の現代的研究をもたらし、全体として理論計算機科学という分野を生み出した。1948年、クロード・シャノンによる『通信の数学的理論』から生まれた情報理論がこれに加わった。