离散数学是现代数学的一个重要分支,是计算机专业和软件工程专业的基础主干课程,主要包含集合论、数理逻辑、图论和代数结构4部分基本内容,研究离散对象的结构、规律及相互关系。它在数据结构、操作系统、软件工程、数据库原理、计算机网络、人工智能、编译原理、软件设计形式化、信息安全等领域都有广泛的应用。并且该课程对于培养、训练和提高学生的问题抽象能力、逻辑推理能力、利用离散数学模型分析和解决实际应用问题的能力都有非常重要的作用,可以为学生进一步学习后续课程以及进行或参与创新性的研究和开发工作打下坚实基础。
2006年3月,卡内基·梅隆大学计算机科学系主任周以真(Jeannette M. Wing)教授在Communications of the ACM杂志上发文提出了“计算思维(computational thinking)”。它指的是与形式化问题及其解决方案相关的思维过程,表示由人和机器共同解决问题。周教授也指出:“计算思维中最重要、最高级的思维过程就是抽象过程(The most important and high-level thought process in computational thinking is the abstraction process)”。
而英国唯物主义哲学家弗朗西斯·培根也曾经说过“数学是思维的体操”。
综合这两者,就可以称“离散数学是计算思维的体操”。
这是因为计算离不开数学,现实问题需要先转换成离散的存储和表示方法,这样才能让计算机“理解”和“接受”,进而才得以处理。可以说,离散数学是联系此岸(现实世界)和彼岸(抽象的数学处理)的桥梁。
离散数学以研究离散量的结构和相互间的关系为主要目标,是一个内涵极其深刻、外延极其丰富且充满变化、发展和活力的研究领域,是信息科学与技术的数学基础和必不可少的工具,也是计算机科学、软件工程、计算机工程等方向的核心课程之一,得到了越来越多的关注。通过学习离散数学,学生不仅可以为其他课程做好必要的基础准备,还可以提高自己的数学涵养,锻炼自己的思维能力、分析能力、学习新知识和创造性地处理新问题的能力。
本课程是作者多年教学经验的结晶,着重讲解离散数学的基本概念、基本方法及其应用。本课程内容包括朴素集合论、数论基础、计数基础、命题逻辑、谓词逻辑、二元关系、函数、偏序关系与格、代数结构、图论、树、形式语言、自动机与正则表达式等,并有离散数学若干综合性研讨专题。