“2019级--学期安排 (第一学期)”的版本间的差异

来自问题求解
跳转至: 导航搜索
(创建页面,内容为“==基本要求== * 理解计算思维最核心的概念,了解计算的基本方法与局限。 * 接受基本的形式化训练,掌握抽象数学证明的基...”)
 
Whf讨论 | 贡献
学习周历
 
(未显示2个用户的58个中间版本)
第4行: 第4行:
 
* 接受基本的形式化训练,掌握抽象数学证明的基本方法。
 
* 接受基本的形式化训练,掌握抽象数学证明的基本方法。
 
* [[程序设计基础辅导|程序设计能力]]。
 
* [[程序设计基础辅导|程序设计能力]]。
 +
 +
== 考核方法 ==
 +
'''(以下考核方法可能会有变动)'''
 +
 +
所有形式的考核,均不准抄袭。
 +
 +
* 作业 (20%)
 +
** 必须订正,否则分数极低,订正后的分数被采纳
 +
* Open topics (20%)
 +
** 评分: 待定
 +
** 每人至少做一次
 +
** 做多次报告,取最高分
 +
** 不做计 0 分
 +
* OJ (20%)
 +
* 期末: (40%)
 +
** 难度不高于平时训练,及格成绩由课外作业构成,进阶成绩由同难度未见习题构成
 +
** 及格成绩?进阶成绩?
 +
** 机试?笔试?
  
 
==指定教材==
 
==指定教材==
第14行: 第32行:
 
==推荐课外读物==
 
==推荐课外读物==
  
==寒假补课==
+
- Logicomix: An Epic Search for Truth, Apostolos Doxiadis, Christos Papadimitriou (2009 English Translation).
* [[2017级--学期安排 (第一学期 寒假补课)|2017级问题求解第一学期 寒假补课安排]]
+
  《疯狂的罗素:逻辑学与数学的奇幻之旅》,张立英(译),中国人民大学出版社,2018。
 +
 
 +
- Engines of Logic: Mathematicians and the Origin of the Computer. Davis, Martin (2000). New York: Norton.
 +
  《逻辑的引擎》,张卜天 (译),湖南科学技术出版社,第一推动丛书,2005。
 +
 
 +
- 《三次数学危机与数学悖论》,韩雪涛,人民邮电出版社。
 +
  第三部分:罗素悖论与第三次数学危机
 +
 
 +
==Open Topics==
 +
 
 +
[http://cslabcms.nju.edu.cn/problem_solving/index.php/2019%E7%BA%A7--%E5%B0%8F%E7%8F%AD%E8%AE%A8%E8%AE%BA_(%E7%AC%AC%E4%B8%80%E5%AD%A6%E6%9C%9F) Open Topics 见“小班讨论”页面]
  
 
==学习周历==
 
==学习周历==
第26行: 第54行:
 
! 引导要点
 
! 引导要点
 
! 书面作业
 
! 书面作业
! 编程任务
+
([https://github.com/hengxin/problem-solving-class-problems/tree/master/2019/2019-1/ 非稳定版本作业@GitHub])
 
|-
 
|-
| style="width: 75px;" | 2017-09-25
+
| style="width: 80px;" | 2019-09-24
|
+
| style="width: 250px;" |
* [[Media:0-计算思维引导.pptx | 1-0:计算思维引导]]
+
* [[Media:Lecture1-2019-09-24-问题求解课程解释和约定.pptx | 1-0:问题求解课程解释和约定]]
|
 
 
|
 
|
* [[Media:Computational Thinking What and Why.pdf | Computational Thinking: What and Why?.pdf]]
 
 
|
 
|
 
|
 
|
 
|
 
|
 
|-
 
|-
| 2017-09-28
+
| 2019-10-08
 
|
 
|
* [[Media:Lecture1-1 计算机为什么能解题.ppt | 1-1:为什么计算机能解题]]
+
* [[Media:Lecture1-1_2019-10-08_计算机为什么能解题_陶先平.pptx | 1-1:为什么计算机能解题(陶先平)]]
 +
* [[Media:Lecture1-1_2019-10-08_计算机为什么能解题_马骏.pptx | 1-1:为什么计算机能解题(马骏)]]
 
|
 
|
 
* 理解问题求解的基本过程
 
* 理解问题求解的基本过程
第50行: 第77行:
 
* 简单操作能够解决各种复杂问题的关键是算法
 
* 简单操作能够解决各种复杂问题的关键是算法
 
|
 
|
* UD第1章问题 2、3、4、5、6、8
+
* [[Media:1-1-why.zip | 1-1-why]]
|
 
* 待定
 
 
|-
 
|-
 
|
 
|
2017-10-12
+
2019-10-15
 
|
 
|
* [[media:1-2什么样的推理是正确的.pptx|1-2:什么样的推理是正确的]]
+
* [[media:Lecture1-2_2019-10-15_什么样的推理是正确的_马骏.pptx|1-2:什么样的推理是正确的]]
 
|
 
|
 
* 掌握命题逻辑与谓词逻辑的基本推导方法
 
* 掌握命题逻辑与谓词逻辑的基本推导方法
第66行: 第91行:
 
* 其正向是算法的设计,其反向是正确性证明
 
* 其正向是算法的设计,其反向是正确性证明
 
|
 
|
纸质版 (电子版)
+
* [[Media:1-2-reasoning.zip | 1-2-reasoning]]
* UD第2章问题 1 (1)、5 (5)、6 (7)、7 (11)、8 (12)、10 (15)、11 (16)
 
* UD第3章问题 2 (3)、6 (10)、7 (11)、8 (12)、9 (13)、10 (14)、11 (15)
 
* UD第4章问题 1 (1)、5 (5)、7 (9)、9 (11)、13 (20)
 
|
 
* 待定
 
 
|-
 
|-
 
|
 
|
2017-10-19
+
2019-10-22
 
|
 
|
* [[media:1-3常用证明方法.pptx ‎|1-3:常用的证明方法]]
+
* [[media:Lecture1-3_2019-10-22_常用证明方法及其逻辑正确性.pptx ‎|1-3:常用证明方法及其逻辑正确性]]
 
|
 
|
 
* 掌握逻辑正确的常用证明方法
 
* 掌握逻辑正确的常用证明方法
 
|
 
|
* UD第5、17章
+
* UD第5、18章
 
* ES第24节
 
* ES第24节
 
|
 
|
 
* 为什么这些方法在逻辑上是正确的?
 
* 为什么这些方法在逻辑上是正确的?
 
|
 
|
纸质版 (电子版)
+
* [[Media:1-3-proof.zip | 1-3-proof]]
* UD第5章问题 12 (5.21)、14 (5.24)
 
* UD第17章问题 11 (18.11)、13 (18.15)、14 (18.20)、16 (18.22)、18 (18.24)、19 (18.25)
 
* ES第24节练习 4、6、8
 
|
 
* 待定
 
 
|-
 
|-
 
|
 
|
2017-10-26
+
2019-10-29
 
|
 
|
* [[media:1-4算法的基本结构.pptx ‎|1-4: 基本的算法结构]]
+
* [[media:Lecture1-4_2019-10-29_算法的基本结构.pptx ‎|1-4: 算法的基本结构]]
 
|
 
|
 
* 理解基本的算法结构:顺序、分支、循环、子程序、递归
 
* 理解基本的算法结构:顺序、分支、循环、子程序、递归
第105行: 第120行:
 
* 基本结构的组合方式及其正确性
 
* 基本结构的组合方式及其正确性
 
|
 
|
* DH第2章练习 1、2、3、4、5、6、7、8
+
* [[Media:1-4-algorithm.zip | 1-4-algorithm]]
|
 
* 待定
 
 
|-
 
|-
 
|
 
|
2017-11-02
+
2019-11-05
 
|
 
|
* [[Media:1-5-数据与数据结构.pptx |1-5: 数据与数据结构]]
+
* [[Media:Lecture1-5_2019-11-05_数据与数据结构.pptx |1-5: 数据与数据结构]]
 
|
 
|
 
* 理解数据在计算机问题求解中的核心作用
 
* 理解数据在计算机问题求解中的核心作用
第121行: 第134行:
 
* 有结构的数据对于计算以及算法设计的影响
 
* 有结构的数据对于计算以及算法设计的影响
 
|
 
|
* DH第2章练习 10、11、12、13、14、15、16
+
* [[Media:1-5-data-structure.zip | 1-5-data-structure]]
|
+
 
* 待定
 
 
|-
 
|-
 
|
 
|
2017-11-09
+
2019-11-12
 
|
 
|
* [[Media:1-6-如何将算法告诉计算机.pptx | 1-6: 如何将算法告诉计算机]]
+
* [[Media:Lecture1-6_2019-11-12_如何将算法告诉计算机.pptx | 1-6: 如何将算法告诉计算机 (陶)]]
 
|
 
|
 
* 理解程序设计语言的基本概念
 
* 理解程序设计语言的基本概念
第137行: 第149行:
 
* 程序设计语言如何体现算法的基本要素与结构
 
* 程序设计语言如何体现算法的基本要素与结构
 
|
 
|
* 写出你现在用的 C++ 语言的算术表达式的完整严格的文法
+
* [[Media:1-6-programming-language.zip | 1-6-programming-language]]
|
+
 
* 待定
 
 
|-
 
|-
 
|
 
|
2017-11-20
+
2019-11-19
 
|
 
|
* [[Media:计算机问题求解-论题1-7-不同的程序设计方法.pptx|1-7: 不同的程序设计方法]]
+
* [[Media:计算机问题求解-论题1-7-不同的程序设计方法.pptx|1-7: 不同的程序设计方法 (陶)]] (old)
 
|
 
|
 
* 了解不同的程序设计方法:函数式、命令式、对象式、逻辑式
 
* 了解不同的程序设计方法:函数式、命令式、对象式、逻辑式
第152行: 第163行:
 
* 为什么会出现不同的风范
 
* 为什么会出现不同的风范
 
|
 
|
* 在网上查一下,什么是 scripting language,它们和 C++ 这样的程序设计语言有什么不同?
+
* [[Media:1-7-programming-paradigm.zip | 1-7-programming-paradigm]]
* 用 [https://en.wikipedia.org/wiki/Prolog Prolog] 语言编写 Tower of Hanoi 问题求解程序。
 
* 某个企业的员工工资信息采用如下list形式存放。请你写出求该企业月工资发放总额的函数式程序。
 
** 表名:Employee_Salary
 
** 表结构:(employee_ID  salary)
 
** 样例:((20160226001 21000) (20160226002 19800)……)
 
** 可能用到的表操纵基本函数:first;rest
 
|
 
* 待定
 
 
|-
 
|-
 
|
 
|
2017-11-23
+
2019-11-26
 
|
 
|
* [[media:计算机问题求解-论题1-8.pptx ‎|1-8: 集合及其运算]]
+
1-8 集合论 I: 公理与操作 (魏)
 +
* [[Media:2019-1-8-set.pdf ‎| 2019-1-8-set.pdf]]
 +
* [[Media:2019-1-8-set-handout.pdf ‎| 2019-1-8-set-handout.pdf]]
 
|
 
|
 
* 掌握集合的基本概念以及基本数学性质
 
* 掌握集合的基本概念以及基本数学性质
第172行: 第177行:
 
* UD第6、7、8、9章
 
* UD第6、7、8、9章
 
|
 
|
* 集合语言是形式化方法的基础,也是算法问题表述的基本手段
+
* 集合语言是形式化方法的基础
|
 
(纸质版)
 
* UD第6章问题 7、16、17
 
* UD第7章问题 1、8、9、10、11
 
* UD第8章问题 1、4、7、8、9、11
 
* UD第9章问题 2、4、12、13、14、16
 
 
|
 
|
* 待定
+
* [[Media:1-8-set.zip | 1-8-set]]
 
|-
 
|-
 
|
 
|
2017-11-30
+
2019-12-03
 
|
 
|
* [[media:2017计算机问题求解论题1-9.pptx ‎|1-9: 关系及其基本性质]]
+
1-9 集合论 II: 关系 (魏)
 +
* [[media:2019-1-9-relation.pdf ‎| 2019-1-9-relation.pdf]]
 +
* [[media:2019-1-9-relation-handout.pdf ‎| 2019-1-9-relation-handout.pdf]]
 
|
 
|
 
* 掌握关系的概念与基本数学性质
 
* 掌握关系的概念与基本数学性质
第191行: 第192行:
 
* 进一步巩固数学证明能力
 
* 进一步巩固数学证明能力
 
|
 
|
* UD第10、11、12章
+
* UD第10、11、12、13 (非重点)章
 
|
 
|
 
* 对象及其相互之间的关系是所有数学建模的核心概念
 
* 对象及其相互之间的关系是所有数学建模的核心概念
 
|
 
|
(纸质版)
+
* [[Media:1-9-relation.zip | 1-9-relation]]
* UD第10章问题 2、4、5、8
 
* UD第11章问题 3、7、8、9
 
* UD第12章问题 10、13b、16、20、22、23
 
|
 
* 待定
 
 
|-
 
|-
 
|
 
|
2017-12-07
+
2019-12-10
 
|
 
|
* [[media:2017计算机问题求解-论题1-10.pptx ‎|1-10: 函数]]
+
1-10 集合论 (III): 函数 (魏)
 +
* [[media:2019-1-10-function.pdf ‎| 2019-1-10-function.pdf]]
 +
* [[media:2019-1-10-function-handout.pdf ‎| 2019-1-10-function-handout.pdf]]
 
|
 
|
 
* 从问题求解的角度理解函数的概念及其重要的数学性质
 
* 从问题求解的角度理解函数的概念及其重要的数学性质
 
* 熟悉函数表述方式
 
* 熟悉函数表述方式
 
|
 
|
* UD第14、15、16章
+
* UD第 14、15、16、17 章
 
|
 
|
 
* 映射与计算机问题求解 --- 从问题空间到解空间
 
* 映射与计算机问题求解 --- 从问题空间到解空间
 
|
 
|
(纸质版)
+
* [[Media:1-10-function.zip | 1-10-function]]
* UD第13章问题 3、4、5、11、13
 
* UD第14章问题 8、12、13、15
 
* UD第15章问题 1、6、7、11、12、13、14、15、20
 
* UD第16章问题 19、20、21、22
 
|
 
* 待定
 
 
|-
 
|-
 
|
 
|
2017-12-14
+
2019-12-17
 
|
 
|
* [[media:2017计算机问题求解-论题1-11.pptx|1-11: 有限与无限]]
+
1-11 集合论 (IV): 无穷 (魏)
 +
* [[media:2019-1-11-infinity.pdf ‎| 2019-1-11-infinity.pdf]]
 +
* [[media:2019-1-11-infinity-handout.pdf ‎| 2019-1-11-infinity-handout.pdf]]
 
|
 
|
 
* 理解无限集合的重要数学性质,理解可数与不可数的差别
 
* 理解无限集合的重要数学性质,理解可数与不可数的差别
* 理解有限过程与无限过程的概念与差别
 
* 理解测度空间的基本概念
 
 
|
 
|
* UD第20、21、22、23章
+
* UD第21、22、23、24(非重点)章
 
|
 
|
 
* 如何比较无限集合的大小
 
* 如何比较无限集合的大小
 
|
 
|
(纸质版)
+
* [[Media:1-11-infinity.zip | 1-11-infinity]]
* UD第20章问题 4、8、9、10
 
* UD第21章问题 7、9、10、11、16、17、18、19
 
* UD第22章问题 1、2、3、6、9
 
* UD第23章问题 2、3、10
 
|
 
* 待定
 
 
|-
 
|-
 
|
 
|
2017-12-21
+
2019-12-24
 
|
 
|
 
* [[media:2017计算机问题求解-论题1-12.pptx|1-12: 偏序关系和格]]
 
* [[media:2017计算机问题求解-论题1-12.pptx|1-12: 偏序关系和格]]
第256行: 第242行:
 
* 如何定义集合中元素的“序”
 
* 如何定义集合中元素的“序”
 
|
 
|
* SM第14章 32、44、46、58、62(修改为only one isomorphic mapping)、66、70、75
+
* [[Media:1-12-partial-lattice.zip | 1-12-partial-lattice]]
|
+
* [[Media:Exam-2017-1.pdf ‎| Exam-2017-1.pdf]]
* 待定
 
 
|-
 
|-
 
|
 
|
2017-12-28
+
2020-02-20
 
|
 
|
 
* [[Media:计算机问题求解-论题1-13-布尔代数.pptx|1-13: 布尔代数]]
 
* [[Media:计算机问题求解-论题1-13-布尔代数.pptx|1-13: 布尔代数]]
第273行: 第258行:
 
* 布尔代数
 
* 布尔代数
 
|
 
|
* 证明布尔代数是有界有补分配格,有界有补分配格是布尔代数
+
* [[Media:1-13-boolean-algebra.zip | 1-13-boolean-algebra]]
* 证明SM定理15.6
 
* 证明等势(有穷)的布尔代数均同构
 
|
 
* 待定
 
 
|}
 
|}

2020年2月22日 (六) 15:23的最新版本

基本要求

  • 理解计算思维最核心的概念,了解计算的基本方法与局限。
  • 接受基本的形式化训练,掌握抽象数学证明的基本方法。
  • 程序设计能力

考核方法

(以下考核方法可能会有变动)

所有形式的考核,均不准抄袭。

  • 作业 (20%)
    • 必须订正,否则分数极低,订正后的分数被采纳
  • Open topics (20%)
    • 评分: 待定
    • 每人至少做一次
    • 做多次报告,取最高分
    • 不做计 0 分
  • OJ (20%)
  • 期末: (40%)
    • 难度不高于平时训练,及格成绩由课外作业构成,进阶成绩由同难度未见习题构成
    • 及格成绩?进阶成绩?
    • 机试?笔试?

指定教材

推荐课外读物

- Logicomix: An Epic Search for Truth, Apostolos Doxiadis, Christos Papadimitriou (2009 English Translation).

 《疯狂的罗素:逻辑学与数学的奇幻之旅》,张立英(译),中国人民大学出版社,2018。

- Engines of Logic: Mathematicians and the Origin of the Computer. Davis, Martin (2000). New York: Norton.

 《逻辑的引擎》,张卜天 (译),湖南科学技术出版社,第一推动丛书,2005。

- 《三次数学危机与数学悖论》,韩雪涛,人民邮电出版社。

 第三部分:罗素悖论与第三次数学危机

Open Topics

Open Topics 见“小班讨论”页面

学习周历

日期 论题 学习目的 阅读材料 引导要点 书面作业

(非稳定版本作业@GitHub)

2019-09-24
2019-10-08
  • 理解问题求解的基本过程
  • 理解计算机中简单操作为什么能解决复杂问题
  • DH第1章
  • UD第1章
  • 简单操作能够解决各种复杂问题的关键是算法

2019-10-15

  • 掌握命题逻辑与谓词逻辑的基本推导方法
  • UD第2、3、4章
  • 计算机解题的关键是正确的推导
  • 其正向是算法的设计,其反向是正确性证明

2019-10-22

  • 掌握逻辑正确的常用证明方法
  • UD第5、18章
  • ES第24节
  • 为什么这些方法在逻辑上是正确的?

2019-10-29

  • 理解基本的算法结构:顺序、分支、循环、子程序、递归
  • 理解程序最基本单元的正确性概念
  • 基本结构的组合方式及其正确性

2019-11-05

  • 理解数据在计算机问题求解中的核心作用
  • 通过例子理解几种常用的数据结构
  • DH第2章第 3、4 单元
  • 有结构的数据对于计算以及算法设计的影响

2019-11-12

  • 理解程序设计语言的基本概念
  • 了解程序在计算机中的执行方式
  • DH第3章第1单元
  • 程序设计语言如何体现算法的基本要素与结构

2019-11-19

  • 了解不同的程序设计方法:函数式、命令式、对象式、逻辑式
  • DH第3章第2、3单元
  • 为什么会出现不同的风范

2019-11-26

1-8 集合论 I: 公理与操作 (魏)

  • 掌握集合的基本概念以及基本数学性质
  • 进一步巩固数学证明能力
  • UD第6、7、8、9章
  • 集合语言是形式化方法的基础

2019-12-03

1-9 集合论 II: 关系 (魏)

  • 掌握关系的概念与基本数学性质
  • 理解等价关系与次序关系的数学性质
  • 进一步巩固数学证明能力
  • UD第10、11、12、13 (非重点)章
  • 对象及其相互之间的关系是所有数学建模的核心概念

2019-12-10

1-10 集合论 (III): 函数 (魏)

  • 从问题求解的角度理解函数的概念及其重要的数学性质
  • 熟悉函数表述方式
  • UD第 14、15、16、17 章
  • 映射与计算机问题求解 --- 从问题空间到解空间

2019-12-17

1-11 集合论 (IV): 无穷 (魏)

  • 理解无限集合的重要数学性质,理解可数与不可数的差别
  • UD第21、22、23、24(非重点)章
  • 如何比较无限集合的大小

2019-12-24

  • 理解集合上的序关系
  • 理解格的基本概念
  • 理解偏序集与格的联系与区别
  • SM第14章
  • 如何定义集合中元素的“序”

2020-02-20

  • 理解布尔代数基本概念
  • 理解布尔代数与格的联系与区别
  • 布尔代数表达式的化简
  • SM第15章
  • 布尔代数