离散数学
- 层级
- 本科生
- 状态
- 建设中
提示:本课程仍在持续设计和校准中,页面内容仅供参考,不代表最终教学版本。
教学大纲
课程概览
离散数学为计算机系统和安全课程提供证明、建模和抽象能力。课程围绕逻辑、集合、关系、函数、归纳、组合、图、树、自动机和基础概率展开,所有主题都尽量连接到程序、协议、密码和系统设计。
这是应用密码学、编译原理、程序分析和网络协议验证的数学入口课。
先修要求
- 高中数学和基础编程经验。
- 愿意练习形式化表达和严谨证明。
- 不要求高等数学背景。
学习目标
- 使用命题逻辑和谓词逻辑表达计算性质。
- 完成直接证明、反证、归纳和构造性证明。
- 用图、关系和自动机描述系统结构。
- 解决组合计数和基础概率问题。
- 把数学模型连接到程序正确性、协议和密码应用。
教学组织
- 每周 2 次课堂:一次讲授核心概念,一次用于实验、论文讨论或项目评审。
- 课程按 16 周推进,每周都有可检查的作业、实验或项目里程碑。
- 强调可复现材料:代码、配置、数据、实验日志和报告需要能被助教或同学复查。
周计划
第 1 周
第 2 周
逻辑、命题和谓词实验与评审
把程序性质翻译为逻辑表达式。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 3 周
第 4 周
证明方法和归纳实验与评审
完成递归程序正确性的归纳证明。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 5 周
第 6 周
集合、关系和函数实验与评审
建模访问控制和等价关系。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 7 周
第 8 周
组合计数实验与评审
分析密码空间和碰撞概率。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 9 周
第 10 周
图、树和遍历实验与评审
用图表示依赖、攻击路径或控制流。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 11 周
第 12 周
递推、复杂度和渐近实验与评审
分析算法成本和协议状态增长。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 13 周
第 14 周
自动机和形式语言入门实验与评审
构造一个词法规则或协议状态机。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 15 周
第 16 周
概率模型和随机算法实验与评审
完成随机实验和安全参数分析。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
考核方式
个人作业
25%概念题、阅读题、设计题和小型编程或实验任务。
实验与项目
40%证明作业、建模练习和小型数学应用项目。
课堂参与与评审
10%参与讨论、演示、代码或论文评审,以及同伴反馈。
期末报告与答辩
25%提交可复现材料、技术报告和演示,说明方法、结果、限制与后续工作。
课程项目
学生选择一个计算或安全主题,用离散结构建模并完成证明或实验说明,例如协议状态机、访问控制关系、控制流图或密码参数分析。
课程政策
- 允许使用 AI 工具,但所有生成代码、实验记录和设计建议必须经过学生本人审查,并在报告中说明使用方式。
- 严禁提交不能解释的代码、证明、配置或实验结果;答辩时每名成员都需要解释自己负责部分的设计、测试和取舍。
- 迟交会影响迭代评分,但课程更看重可复现、可审计和可维护的结果,而不是临时堆砌。
参考课程
国际名校
- CMU15-151: Mathematical Foundations for Computer Science
- CornellCS 2800: Discrete Structures
- ETH ZurichDiscrete Mathematics
- Georgia TechCS 2050: Introduction to Discrete Mathematics for Computer Science
- MIT6.042J Mathematics for Computer Science
- OxfordDiscrete Mathematics
- PrincetonCOS 340: Reasoning about Computation
- StanfordCS103: Mathematical Foundations of Computing
- UC BerkeleyCS 70: Discrete Mathematics and Probability Theory
- University of WashingtonCSE 311: Foundations of Computing I
中国 985 高校
- 上海交通大学Discrete Mathematics
- 中国科学技术大学离散数学
- 南京大学离散数学
- 哈尔滨工业大学离散数学
- 浙江大学MATH 213 离散数学
- 西安交通大学离散数学