计算机科学中的理论部分在第一台数字计算机出现以前就已存在。
计算机科学根植于电子工程、数学和语言学,是科学、工程和艺术的结晶。它在20世纪最后的三十年间兴起成为一门独立的学科,并发展出自己的方法与术语。
60年代以来出现了大程序。这些大程序的可靠性很难保证。到60年代后期,西方国家出现了“软件危机”。这是指有些程序过于庞大(包含几十万条以至几百万条指令),成本过高而可靠性则比较差。于是提出了软件工程的概念,目的在于使软件开发遵守严格的规范,使用一套可靠的方法,从而保证质量。现代软件工程的方向是形式化和自动化,而形式化的目的在于自动化。这里所说的自动化就是将程序设计中可以由机器来完成的工作,尽量交给机器去做。中心课题之一是程序工具和环境的研究。程序工具是指辅助人编程序的程序,如编译程序、编辑程序、排错程序等;程序环境则是指一套结合起来使用的用来辅助人编程序的程序工具。人工智能 用计算机模拟人的智能,特别是模拟思维活动的技术及其有关理论。由于人的思维活动离不开语言,而且人对于某一类问题进行思索和探索解法时,总是需要以关于这一类问题的基本知识(专业知识或常识)作为出发点。于是,知识表示和机器对自然语言的理解就构成人工智能的两个重要领域。所谓知识表示,是指将原来用自然语言表示的知识转换成用符号语言表示的,从而可以储存在机器内供机器使用的知识。人工智能的研究角度有探索法的角度和算法的角度。通常所说的解题算法是指机械的和总是有结果的方法,而这里所说的算法却是广义的,包括那些机械的而在使用时不一定有结果的算法。这种方法时常称作半可判定的方法。