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

来自问题求解
跳转至: 导航搜索
学习周历
 
(未显示2个用户的28个中间版本)
第8行: 第8行:
 
==指定教材==
 
==指定教材==
 
<ul>
 
<ul>
   <li>'''DH''': [http://cslab.nju.edu.cn/problem_solving/images/c/c2/L1-%E4%B8%BA%E4%BB%80%E4%B9%88%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%83%BD%E8%A7%A3%E9%A2%98.pdf 1-1:David Harel et al.: Algorithmics - The Spirit of Computing, 3rd ed. Addison-Wesley, 2004]</li>
+
   <li>'''DH''': [http://cslab.nju.edu.cn/problem_solving/index.php/%E6%96%87%E4%BB%B6:Algorithmics-the_Spirit_of_Computing,_3rd_Ed._by_David_Harel.pdf David Harel et al.: Algorithmics - The Spirit of Computing, 3rd ed. Addison-Wesley, 2004]</li>
 
   <li>'''ES''': Edward Scheinerman: Mathematics - A Discrete Introduction, 2nd ed. Brooks/Cole, 2005 (第24节:鸽巢原理)</li>
 
   <li>'''ES''': Edward Scheinerman: Mathematics - A Discrete Introduction, 2nd ed. Brooks/Cole, 2005 (第24节:鸽巢原理)</li>
   <li>'''UD''': Ulrich Daepp et al.: Reading, Writing, and Proving - A Closer Look at Mathematics, 1st ed. Springer, 2003</li>
+
   <li>'''UD''': [http://cslab.nju.edu.cn/problem_solving/index.php/%E6%96%87%E4%BB%B6:Reading,_Writing,_and_Proving_-_a_Closer_Look_at_Mathematics.pdf: Reading, Writing, and Proving - A Closer Look at Mathematics, 1st ed. Springer, 2003]</li>
 
   <li>'''WS''': Walter Savitch: Problem Solving with C++, 7th ed. Addison Wesley, 2008</li>
 
   <li>'''WS''': Walter Savitch: Problem Solving with C++, 7th ed. Addison Wesley, 2008</li>
 
</ul>
 
</ul>
第31行: 第31行:
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
     <td>9.23--9.27</td>
+
     <td>9.30--10.4</td>
     <td>[http://cslab.nju.edu.cn/problem_solving/images/c/c2/L1-%E4%B8%BA%E4%BB%80%E4%B9%88%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%83%BD%E8%A7%A3%E9%A2%98.pdf 1-1:为什么计算机能解题]</td>
+
     <td>[http://114.212.10.6/problem_solving/index.php/%E6%96%87%E4%BB%B6:Lecture01.pdf 1-1:为什么计算机能解题]</td>
 
     <td>
 
     <td>
 
       <ul>
 
       <ul>
第63行: 第63行:
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
     <td>10.8--10.12</td>
+
     <td>10.7--10.11</td>
     <td>[http://cslab.nju.edu.cn/problem_solving/index.php/%E6%96%87%E4%BB%B6:%E8%AE%A1%E7%AE%97%E6%9C%BA%E9%97%AE%E9%A2%98%E6%B1%82%E8%A7%A3-2012-10-09.pdf 1-2:什么样的推理是正确的]</td>
+
     <td>[http://114.212.10.6/problem_solving/images/f/f4/Lecture02-01.pdf 1-2(1):什么样的推理是正确的]</td>
 +
      <td>
 +
      <ul>
 +
        <li>掌握命题逻辑与谓词逻辑的基本推导方法</li>
 +
      </ul>
 +
    </td>
 +
    <td>
 +
      <ul>
 +
        <li>UD第2、3、4章</li>
 +
      </ul>
 +
    </td>
 +
    <td>
 +
      <ul>
 +
        <li>计算机解题的关键是正确的推导</li>
 +
        <li>其正向是算法的设计,其反向是正确性证明</li>
 +
      </ul>
 +
    </td>
 +
    <td>
 +
      <ul>
 +
        <li>UD第2章问题1、5、6、7、8、10、11</li>
 +
        <li>UD第3章问题2、6、7、8、9、10、11</li>
 +
        <li>UD第4章问题1、5、7、9、13</li>
 +
      </ul>
 +
    </td>
 
     <td>
 
     <td>
 +
      <ul>
 +
        <li>WS第2章项目3</li>
 +
        <li>WS第2章项目10</li>
 +
      </ul>
 +
    </td>
 +
  </tr>
 +
  <tr>
 +
    <td>10.14--10.18</td>
 +
    <td>[http://114.212.10.6/problem_solving/index.php/%E6%96%87%E4%BB%B6:Lecture03.pdf 1-2(2):什么样的推理是正确的]</td>
 +
      <td>
 
       <ul>
 
       <ul>
 
         <li>掌握命题逻辑与谓词逻辑的基本推导方法</li>
 
         <li>掌握命题逻辑与谓词逻辑的基本推导方法</li>
第95行: 第128行:
 
     </td>
 
     </td>
 
   </tr>
 
   </tr>
  <tr>
+
<tr>
     <td>10.15--10.19</td>
+
     <td>10.21--10.25</td>
     <td>[http://cslab.nju.edu.cn/problem_solving/index.php/%E6%96%87%E4%BB%B6:%E8%AE%A1%E7%AE%97%E6%9C%BA%E9%97%AE%E9%A2%98%E6%B1%82%E8%A7%A3-2012-10-16.pdf 1-3:常用的证明方法]</td>
+
     <td>[http://114.212.10.6/problem_solving/index.php/%E6%96%87%E4%BB%B6:%E8%AE%A1%E7%AE%97%E6%9C%BA%E9%97%AE%E9%A2%98%E6%B1%82%E8%A7%A3-2012-10-16.pdf 1-3:常用的证明方法]</td>
 
     <td>
 
     <td>
 
       <ul>
 
       <ul>
第116行: 第149行:
 
     <td>
 
     <td>
 
       <ul>
 
       <ul>
         <li>UD第6章问题12、14、15、18</li>
+
         <li>UD第5章问题12、14</li>
 
         <li>UD第17章问题11、13、14、16、18、19</li>
 
         <li>UD第17章问题11、13、14、16、18、19</li>
 
         <li>ES第24节练习4、6、8</li>
 
         <li>ES第24节练习4、6、8</li>
第130行: 第163行:
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
     <td>10.22--10.26</td>
+
     <td>10.28--11.1</td>
     <td>[http://cslab.nju.edu.cn/problem_solving/index.php/%E6%96%87%E4%BB%B6:%E8%AE%A1%E7%AE%97%E6%9C%BA%E9%97%AE%E9%A2%98%E6%B1%82%E8%A7%A3-2012-10-23.pdf 1-4:基本的算法结构]</td>
+
     <td>[http://114.212.10.6/problem_solving/images/b/bb/Lecture05-Tao.pdf 1-4:基本的算法结构]</td>
 
     <td>
 
     <td>
 
       <ul>
 
       <ul>
第161行: 第194行:
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
     <td>10.29--11.2</td>
+
     <td>11.4--11.8</td>
     <td>[http://cslab.nju.edu.cn/problem_solving/index.php/%E6%96%87%E4%BB%B6:%E8%AE%A1%E7%AE%97%E6%9C%BA%E9%97%AE%E9%A2%98%E6%B1%82%E8%A7%A3-2012-10-30.pdf 1-5:数据与数据结构]</td>
+
     <td>[http://114.212.10.6/problem_solving/images/a/af/Lecture06-tao.pdf 1-5:数据与数据结构]</td>
 
     <td>
 
     <td>
 
       <ul>
 
       <ul>
第191行: 第224行:
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
     <td>11.5--11.9</td>
+
     <td>11.11--11.15</td>
     <td>[http://cslab.nju.edu.cn/problem_solving/index.php/%E6%96%87%E4%BB%B6:%E8%AE%A1%E7%AE%97%E6%9C%BA%E9%97%AE%E9%A2%98%E6%B1%82%E8%A7%A3-2012-11-06.pdf 1-6:算法的描述]</td>
+
     <td>[http://114.212.10.6/problem_solving/images/b/b2/Lecture1-06-2-tao.pdf 1-6:如何将算法告诉计算机]</td>
 
     <td>
 
     <td>
 
       <ul>
 
       <ul>
第222行: 第255行:
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
     <td>11.12--11.16</td>
+
     <td>11.18--11.22</td>
     <td>[http://cslab.nju.edu.cn/problem_solving/index.php/%E6%96%87%E4%BB%B6:%E8%AE%A1%E7%AE%97%E6%9C%BA%E9%97%AE%E9%A2%98%E6%B1%82%E8%A7%A3-2012-11-13.pdf 1-7:不同的程序设计方法]</td>
+
     <td>[http://114.212.10.6/problem_solving/images/0/02/Lecture08-tao.pdf 1-7:不同的程序设计方法]</td>
 
     <td>
 
     <td>
 
       <ul>
 
       <ul>
第252行: 第285行:
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
     <td>11.19--11.23</td>
+
     <td>12.2--12.6</td>
     <td>[http://cslab.nju.edu.cn/problem_solving/index.php/%E6%96%87%E4%BB%B6:%E8%AE%A1%E7%AE%97%E6%9C%BA%E9%97%AE%E9%A2%98%E6%B1%82%E8%A7%A3-2012-11-20.pdf 1-8:集合及其运算]</td>
+
     <td>[http://114.212.10.6/problem_solving/images/7/71/Lecture09.pdf 1-8:集合及其运算]</td>
 
     <td>
 
     <td>
 
       <ul>
 
       <ul>
第287行: 第320行:
 
   <tr>
 
   <tr>
 
     <td>11.26--11.30</td>
 
     <td>11.26--11.30</td>
     <td>[http://cslab.nju.edu.cn/problem_solving/index.php/%E6%96%87%E4%BB%B6:%E8%AE%A1%E7%AE%97%E6%9C%BA%E9%97%AE%E9%A2%98%E6%B1%82%E8%A7%A3-2012-11-27.pdf 1-9:关系及其基本性质]</td>
+
     <td>[http://114.212.10.6/problem_solving/index.php/%E6%96%87%E4%BB%B6:%E8%AE%A1%E7%AE%97%E6%9C%BA%E9%97%AE%E9%A2%98%E6%B1%82%E8%A7%A3-2012-11-27.pdf 1-9:关系及其基本性质]</td>
 
     <td>
 
     <td>
 
       <ul>
 
       <ul>
第322行: 第355行:
 
   <tr>
 
   <tr>
 
     <td>12.3--12.7</td>
 
     <td>12.3--12.7</td>
     <td>[http://cslab.nju.edu.cn/problem_solving/index.php/%E6%96%87%E4%BB%B6:%E8%AE%A1%E7%AE%97%E6%9C%BA%E9%97%AE%E9%A2%98%E6%B1%82%E8%A7%A3-2012-12-04.pdf 1-10:函数]</td>
+
     <td>[http://114.212.10.6/problem_solving/index.php/%E6%96%87%E4%BB%B6:Lecture10.pdf 1-10:函数]</td>
 
     <td>
 
     <td>
 
       <ul>
 
       <ul>
第355行: 第388行:
 
     </td>
 
     </td>
 
   </tr>
 
   </tr>
 +
 
 
   <tr>
 
   <tr>
     <td>12.10--12.14</td>
+
     <td>12.10--12.21</td>
    <td>[http://cslab.nju.edu.cn/problem_solving/index.php/%E6%96%87%E4%BB%B6:%E8%AE%A1%E7%AE%97%E6%9C%BA%E9%97%AE%E9%A2%98%E6%B1%82%E8%A7%A3-2012-12-11.pdf 1-11:算法方法]</td>
+
     <td>[http://114.212.10.6/problem_solving/index.php/%E6%96%87%E4%BB%B6:Lecture11.pdf 1-11:有限与无限]</td>
    <td>
 
      <ul>
 
        <li>通过具体示例了解算法设计的基本策略</li>
 
      </ul>
 
    </td>
 
    <td>
 
      <ul>
 
        <li>DH第4章</li>
 
      </ul>
 
    </td>
 
    <td>
 
      <ul>
 
        <li>理解复杂算法背后的简单原理</li>
 
      </ul>
 
    </td>
 
    <td>
 
      <ul>
 
        <li>DH第4章练习1、2、8、9、11、12、13、14</li>
 
      </ul>
 
    </td>
 
    <td>
 
      <ul>
 
        <li>WS第5章项目16</li>
 
      </ul>
 
    </td>
 
  </tr>
 
  <tr>
 
    <td>12.17--12.21</td>
 
     <td>[http://cslab.nju.edu.cn/problem_solving/index.php/%E6%96%87%E4%BB%B6:%E8%AE%A1%E7%AE%97%E6%9C%BA%E9%97%AE%E9%A2%98%E6%B1%82%E8%A7%A3-2012-12-18.pdf 1-12:算法正确性]</td>
 
    <td>
 
      <ul>
 
        <li>理解并能够区分程序错误与算法错误</li>
 
        <li>理解算法正确的概念及其证明方法</li>
 
      </ul>
 
    </td>
 
    <td>
 
      <ul>
 
        <li>DH第5章</li>
 
      </ul>
 
    </td>
 
    <td>
 
      <ul>
 
        <li>算法正确性证明与一般数学定理证明的异同</li>
 
      </ul>
 
    </td>
 
    <td>
 
      <ul>
 
        <li>DH第5章练习4、6、8、9、10、11、12、13、14</li>
 
      </ul>
 
    </td>
 
    <td>
 
      <ul>
 
        <li>WS第6章项目3,你如何确定你的程序算法没有错误</li>
 
      </ul>
 
    </td>
 
  </tr>
 
  <tr>
 
    <td>12.24--12.28</td>
 
    <td>[http://cslab.nju.edu.cn/problem_solving/index.php/%E6%96%87%E4%BB%B6:%E8%AE%A1%E7%AE%97%E6%9C%BA%E9%97%AE%E9%A2%98%E6%B1%82%E8%A7%A3-2012-12-25.pdf 1-13:有限与无限]</td>
 
 
     <td>
 
     <td>
 
       <ul>
 
       <ul>
第449行: 第424行:
 
     </td>
 
     </td>
 
   </tr>
 
   </tr>
   <tr>
+
    
    <td>12.31--1.4</td>
 
    <td>[http://cslab.nju.edu.cn/problem_solving/index.php/%E6%96%87%E4%BB%B6:%E8%AE%A1%E7%AE%97%E6%9C%BA%E9%97%AE%E9%A2%98%E6%B1%82%E8%A7%A3-2013-01-01.pdf 1-14:算法的效率]</td>
 
    <td>
 
      <ul>
 
        <li>理解算法的时间复杂性的概念与渐进表示方式</li>
 
      </ul>
 
    </td>
 
    <td>
 
      <ul>
 
        <li>DH第6章</li>
 
      </ul>
 
    </td>
 
    <td>
 
      <ul>
 
        <li>从无限与有限的角度正确理解算法复杂度</li>
 
      </ul>
 
    </td>
 
    <td>
 
      <ul>
 
        <li>DH第6章练习1、2、3、10、11、15、16</li>
 
      </ul>
 
    </td>
 
    <td>
 
      <ul>
 
        <li>WS第7章项目3</li>
 
        <li>WS第7章项目5</li>
 
      </ul>
 
    </td>
 
  </tr>
 
  <tr>
 
 
     <td>寒假自学</td>
 
     <td>寒假自学</td>
     <td>1-15:问题的难度</td>
+
     <td>1-12:问题的难度</td>
 
     <td>
 
     <td>
 
       <ul>
 
       <ul>
第507行: 第452行:
 
   <tr>
 
   <tr>
 
     <td>寒假自学</td>
 
     <td>寒假自学</td>
     <td>1-16:基本计算模型与不可计算性</td>
+
     <td>1-13:基本计算模型与不可计算性</td>
 
     <td></td>
 
     <td></td>
 
     <td>
 
     <td>
第525行: 第470行:
 
   <tr>
 
   <tr>
 
     <td>寒假自学</td>
 
     <td>寒假自学</td>
     <td>1-17:并行与并发</td>
+
     <td>1-14:并行与并发</td>
 
     <td></td>
 
     <td></td>
 
     <td>
 
     <td>
第542行: 第487行:
 
   <tr>
 
   <tr>
 
     <td>寒假自学</td>
 
     <td>寒假自学</td>
     <td>1-18:模算术与费马小定理</td>
+
     <td>1-15:模算术与费马小定理</td>
 
     <td></td>
 
     <td></td>
 
     <td>
 
     <td>

2016年3月14日 (一) 09:19的最新版本

基本要求

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

注意:程序设计能力要求贯穿于整个课程,不再单列。

指定教材

推荐课外读物

  • Gary Shelly et al.: Discovering Computers 2011 - Living in a Digital World. Course Technology, 2011

学习周历

</tr>
日期 论题 学习目的 阅读材料 引导要点 书面作业 编程任务
9.30--10.4 1-1:为什么计算机能解题
  • 理解问题求解的基本过程
  • 理解计算机中简单操作为什么能解决复杂问题
  • DH第1章
  • UD第1章
  • 简单操作能够解决各种复杂问题的关键是算法
  • UD第1章问题2、3、4、5、6、8
  • UD第27章项目1
  • WS第28页DISPLAY 1.10
10.7--10.11 1-2(1):什么样的推理是正确的
  • 掌握命题逻辑与谓词逻辑的基本推导方法
  • UD第2、3、4章
  • 计算机解题的关键是正确的推导
  • 其正向是算法的设计,其反向是正确性证明
  • UD第2章问题1、5、6、7、8、10、11
  • UD第3章问题2、6、7、8、9、10、11
  • UD第4章问题1、5、7、9、13
  • WS第2章项目3
  • WS第2章项目10
10.14--10.18 1-2(2):什么样的推理是正确的
  • 掌握命题逻辑与谓词逻辑的基本推导方法
  • UD第2、3、4章
  • 计算机解题的关键是正确的推导
  • 其正向是算法的设计,其反向是正确性证明
  • UD第2章问题1、5、6、7、8、10、11
  • UD第3章问题2、6、7、8、9、10、11
  • UD第4章问题1、5、7、9、13
  • WS第2章项目3
  • WS第2章项目10
10.21--10.25 1-3:常用的证明方法
  • 掌握逻辑正确的常用证明方法
  • UD第5、17章
  • ES第24节
  • 为什么这些方法逻辑上是正确的
  • UD第5章问题12、14
  • UD第17章问题11、13、14、16、18、19
  • ES第24节练习4、6、8
  • UD第27章项目3
  • WS第2章项目14
  • WS第3章项目1
10.28--11.1 1-4:基本的算法结构
  • 理解基本的算法结构:顺序、分支、循环、子程序、递归
  • 理解程序最基本单元的正确性概念
  • DH第2章第1、2单元
  • 基本结构的组合方式及其正确性
  • DH第2章练习1、2、3、4、5、6、7、8
  • WS第3章项目10
  • WS第3章项目11
11.4--11.8 1-5:数据与数据结构
  • 理解数据在计算机问题求解中的核心作用
  • 通过例子理解几种常用的数据结构
  • DH第2章第3、4单元
  • 有结构的数据对于计算以及算法设计的影响
  • DH第2章练习10、11、12、13、14、15、16
  • WS第3章项目13
11.11--11.15 1-6:如何将算法告诉计算机
  • 理解程序设计语言的基本概念
  • 了解程序在计算机中的执行方式
  • DH第3章第1单元
  • 程序设计语言如何体现算法的基本要素与结构
  • 写出你现在用的C++语言的算术表达式的完整严格的文法
  • WS第4章项目14
  • WS第4章项目15
11.18--11.22 1-7:不同的程序设计方法
  • 了解不同的程序设计方法:函数式、命令式、对象式、逻辑式
  • DH第3章第2、3单元
  • 为什么会出现不同的风范
  • 在网上查一下,什么是scripting language,它们和C++这样的程序设计语言有什么不同
  • 有一个网站通过网络搜索方式评定程序设计语言的“流行程度”,你是否能找到这个网站,并了解最流行的是哪些语言?(排名限于“程序设计语言”,不包括“脚本语言”和“标记语言”)
  • WS第4章项目16
12.2--12.6 1-8:集合及其运算
  • 掌握集合的基本概念以及基本数学性质
  • 进一步巩固数学证明能力
  • 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
  • 假设可能的元素个素最多64个,实现基本的集合运算
  • 如果集合元素可能有任意有限多个,如何实现集合运算
11.26--11.30 1-9:关系及其基本性质
  • 掌握关系的概念与基本数学性质
  • 理解等价关系与次序关系的数学性质
  • 进一步巩固数学证明能力
  • UD第10、11、12章
  • 对象及其相互之间的关系是所有数学建模的核心概念
  • UD第10章问题2、4、5、8
  • UD第11章问题3、7、8、9
  • UD第12章问题10、13b、16、20、22、23
  • UD第27章项目4
  • 补充题
  • 假设集合中元素个数最多64个,编一个程序判断该集合上任意给定的二元关系满足那些性质
12.3--12.7 1-10:函数
  • 从问题求解的角度理解函数的概念及其重要的数学性质
  • 熟悉函数表述方式
  • UD第14、15、16章
  • 映射与计算机问题求解-从问题空间到解空间
  • 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
  • UD第27章项目6
  • WS第5章项目4
  • WS第5章项目5
12.10--12.21 1-11:有限与无限
  • 理解无限集合的重要数学性质,理解可数与不可数的差别
  • 理解有限过程与无限过程的概念与差别
  • 理解测度空间的基本概念
  • UD第20、21、22、23章
  • 如何比较无限集合的大小
  • 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
  • WS第6章项目13
  • WS第6章项目14
寒假自学 1-12:问题的难度
  • 理解问题固有难度的概念
  • 了解NP-完全理论的基本内容
  • DH第7章
  • 区分问题的难度与算法的复杂性,特别是上下界的概念
  • WS第7章项目13
寒假自学 1-13:基本计算模型与不可计算性
  • DH第8章第1、2、3、4单元
  • DH第9章第1、2、3单元
  • 基本计算模型有什么意义
寒假自学 1-14:并行与并发
  • DH第10章第1、2、3、4、5、6单元
  • 并发带来什么好处,又会带来什么问题
寒假自学 1-15:模算术与费马小定理
  • UD第25、26章
  • DH第12章第1单元
  • 模算术与常规算术有什么异同