SJTU-CS2501H: 离散数学(荣誉)
课程基本信息简介
Basic information
课程教师:曹钦翔
授课内容与范围:集合论,数理逻辑,基础图论(详细见下面)
学时 & 学分:3 学时,3 学分
考核方式:课程参与分 10% + 课后作业 35% + 课前作业 5% + 期末 50%,大作业加分,但名额较少
其他信息
特别提醒
-
这是一门双语课,上课用中文,而 slides、lecture notes、homework、exams 都是英文,考试不得使用翻译工具。
-
作业允许使用 AI 以及和别人讨论,但是必须标明出处(如 AI 提供答案需要有和 AI 对话的截图),且一般使用 AI 不会影响作业成绩。
教科书 + 参考资料
Kenneth H. Rosen, Discrete Mathematics and Its Applications, 8th edition [R], 教科书
Elements of Set Theory, Herbert B. Enderton, Academic Press Inc., 1977, ISBN 0-12-238440-7, 教科书
Ebbinghaus, Heinz-Dieter. Mathematical Logic. Springer, 1996. 参考资料(同学 B 推荐学习数理逻辑时参考这个)
Thomas Jech. Set Theory. Springer, correct 4th printing 2006. 参考资料(很难,无需掌握)
《图论与代数结构》,戴一奇,清华大学出版社,1995, ISBN 7-302-01814-6, 参考资料
Daniel Kroening, Ofer Strichman. Decision Procedures, An Algorithmic Point of View. Springer, 2008. 参考资料
《数理逻辑与集合论》,石纯一等,清华大学出版社,2000, 第二版, ISBN 7-302-04042-7,参考资料(同学 A 推荐学习数理逻辑时参考这个)
课程分数详细评价机制:
课后作业 35 分。每节课后发一次作业,3 分制且向下取整,只有全对才能 3 分拿满,多小问的题错一问等价于错这一整个题。
课前可能在 canvas 上面发选择题预习作业(图论部分因和数据结构课程重叠,没有预习作业)。
课堂参与分机制(满分 10,先作用加分项,再与 10 取 min,然后作用扣分项,再与 0 取 max):
-
缺勤一次扣 2 分,签过一次到
-
课堂提问、回答问题一次加 2-3 分
-
课程群每次有意义的提问、发言算 0.5/1 分
-
完成可选大作业直接10分,但是大作业名额只有 1/5,分配方式同抢课,很可能抢不到
注意,就算你每节课都到勤,如果不提问发言,课堂参与分也是 0 分。
24 届大纲
(Naive, for most of the part) Set Theory:
-
sets, operations on sets (power sets, indexed union and intersection, general union)
-
relations, inverses and compositions, their properties
-
equivalence relations, equivalence classes, partitions
-
transitive closures, reflexive transitive closures
-
functions, injections and surjections and bijections
-
equinumerosity and countability (including the sets of functions)
-
Bernstein theorem, Cantor theorem
-
inductive sets, the set of natural numbers
-
Russell's paradox and axiomatic set theory (ZFC)
-
construction of \(\mathbb Z, \mathbb Q, \mathbb R, \mathbb C\) and integer arithmetic based on axiomatic set theory
-
construction of (reflexive) transitive closure based on axiomatic set theory
(Propositional and First-Order) Logic:
-
propositional logic, logical connectives
-
first order logic, semantics of first-order logic
-
consequence lelation, logical equivalence
-
interpreting logic behind natural language proof
-
tautology, contradiction, satisfiability, their conversion
-
CNF, DNF, algorithms for generating CNF
-
SAT solver algorithms (brute-force, DPLL, CDCL)
-
proof theory and inference rules
-
Coq basics
Graph theory:
-
basic concepts
-
the handshaking theorem
-
properties of connectivity, (strongly) connected components
-
definitions and properties of trees and rooted trees
-
minimum spanning trees, Prim's and Kruskal's algorithm
-
DFS, its properties, its applications (Tarjan's algorithm for finding bridges)
-
Huffman encoding
课程评价
来自一位 SAI 学生
选课评分不好,结合个人体验分析一下这门课的一些问题:
-
教学内容问题:
-
整门课明显偏数学而非偏算法,和 AI 专业学生的需求有些脱节
-
数理逻辑讲的顺序有些奇怪,和清华教材完全反着,上来就讲一阶逻辑和 interpretation 很让人费解
-
数理逻辑知识过于零散,导致除了一堆符号感觉啥都没学到
-
图论部分和同期数据结构重合太多,图论中的哈密顿回路、欧拉定理都没讲
-
整门课对于一些概念的定义和普遍定义不同(例如为什么 simple paths 的定义是不重复边而不是直接不重复点?),导致学生在概念理解上浪费了太多时间
-
-
教学评价问题:(最大痛点)
-
作业3 分向下取整的评分机制让人很有挫败感,且本身作业花费时间就多,体验比较差
-
课堂参与分非常难评,本身 160 人大教室听课效果就差,还强制学生在课上发言,导致很多人为了参与分提问拖慢课堂进度
-
大作业刻意限制名额,学生要像抢课一样抢大作业名额,比较不公平(有一项作业我很想写却没抢到)
-
考试不定项选择题过于恶心,且似乎不管漏选多选都是0分
-
lecture notes 太过粗略,我看 lecture notes 很难理解课程内容,且作业不发答案,设置了很多额外的困难
-
来自另一位 SAI 学生
我个人很喜欢这门课,我认为它瑕不掩瑜。是的,这门课的评价就是这么两极分化。我挽尊一些负面评价。
-
关于授课内容。我认为曹钦翔老师讲的很清晰。数理逻辑的讲法是完全没问题的,不要用对一本教材的认知去否定其他的教材与讲法,更不要因为自己没学过一阶逻辑就认为这奇怪甚至没用。集合论与数理逻辑本就是数学大厦的根基,有时显得有些枯燥而缺乏实际的 insight,这是这两个学科的特点,我认为它们也自有其魅力所在。菜就多练。
-
关于评分标准。是的,作业的评分标准很严格,但我认为大部分时候的评分都是公允、无可挑剔的。菜就多练。
-
曹钦翔老师期末海底捞,给分很好。
-
Lecture Notes 有时候的确有点抽象,有时候会有抽象的英语语法和拼写错误。我认为如果你听了课,Lecture Notes 应当是能看懂的,也能够作为不错的复习资料。
课程资源
贡献者 | Description | Download Link |
---|---|---|
陈志杰 | 个人的作业参考答案 | 仅供参考,抄袭后果自负 |