查看“2014级--学期安排 (第一学期)”的源代码
←
2014级--学期安排 (第一学期)
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==基本要求== <ul> <li>理解计算思维最核心的概念,了解计算的基本方法与局限。</li> <li>接受基本的形式化训练,掌握抽象数学证明的基本方法。</li> </ul> 注意:程序设计能力要求贯穿于整个课程,不再单列。 ==指定教材== <ul> <li>'''DH''': David Harel et al.: Algorithmics - The Spirit of Computing, 3rd ed. Addison-Wesley, 2004</li> <li>'''UD''': Ulrich Daepp et al.: Reading, Writing, and Proving - A Closer Look at Mathematics, 1st ed. Springer, 2003</li> <li>'''ES''': Edward Scheinerman: Mathematics - A Discrete Introduction, 2nd ed. Brooks/Cole, 2005 (第24节:鸽巢原理)</li> <li>'''WS''': Walter Savitch: Problem Solving with C++, 7th ed. Addison Wesley, 2008</li> </ul> ==推荐课外读物== <ul> <li>Gary Shelly et al.: Discovering Computers 2011 - Living in a Digital World. Course Technology, 2011</li> </ul> ==学习周历== 注意:以下日期不是指上课时间,而是以“周”为单位的学习任务分配时间,特别是由于国庆节、元旦等假期影响,上课时间可能会有微调,但任务周期不受影响。 <table border="1px"> <tr> <th>日期</th> <th>论题</th> <th>学习目的</th> <th>阅读材料</th> <th>引导要点</th> <th>书面作业</th> <th>编程任务</th> </tr> <tr> <td>9.22--9.26</td> <td>1-1:为什么计算机能解题</td> <td> <ul> <li>理解问题求解的基本过程</li> <li>理解计算机中简单操作为什么能解决复杂问题</li> </ul> </td> <td> <ul> <li>DH第1章</li> <li>UD第1章</li> </ul> </td> <td> <ul> <li>简单操作能够解决各种复杂问题的关键是算法</li> </ul> </td> <td> <ul> <li>UD第1章问题2、3、4、5、6、8</li> <li>UD第27章项目1(选做)</li> </ul> </td> <td> <ul> <li>WS第28页DISPLAY 1.10</li> </ul> </td> </tr> <tr> <td>9.29--10.3</td> <td>1-2:什么样的推理是正确的</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> <ul> <li>WS第2章项目3</li> <li>WS第2章项目10</li> </ul> </td> </tr> <tr> <td>10.6--10.10</td> <td>1-3:常用的证明方法</td> <td> <ul> <li>掌握逻辑正确的常用证明方法</li> </ul> </td> <td> <ul> <li>UD第5、17章</li> <li>ES第24节</li> </ul> </td> <td> <ul> <li>为什么这些方法逻辑上是正确的</li> </ul> </td> <td> <ul> <li>UD第6章问题12、14、15、18</li> <li>UD第17章问题11、13、14、16、18、19</li> <li>ES第24节练习4、6、8</li> <li>UD第27章项目3</li> </ul> </td> <td> <ul> <li>WS第2章项目14</li> <li>WS第3章项目1</li> </ul> </td> </tr> <tr> <td>10.13--10.17</td> <td>1-4:基本的算法结构</td> <td> <ul> <li>理解基本的算法结构:顺序、分支、循环、子程序、递归</li> <li>理解程序最基本单元的正确性概念</li> </ul> </td> <td> <ul> <li>DH第2章第1、2单元</li> </ul> </td> <td> <ul> <li>基本结构的组合方式及其正确性</li> </ul> </td> <td> <ul> <li>DH第2章练习1、2、3、4、5、6、7、8</li> </ul> </td> <td> <ul> <li>WS第3章项目10</li> <li>WS第3章项目11</li> </ul> </td> </tr> <tr> <td>10.20--10.24</td> <td>1-5:数据与数据结构</td> <td> <ul> <li>理解数据在计算机问题求解中的核心作用</li> <li>通过例子理解几种常用的数据结构</li> </ul> </td> <td> <ul> <li>DH第2章第3、4单元</li> </ul> </td> <td> <ul> <li>有结构的数据对于计算以及算法设计的影响</li> </ul> </td> <td> <ul> <li>DH第2章练习10、11、12、13、14、15、16</li> </ul> </td> <td> <ul> <li>WS第3章项目13</li> </ul> </td> </tr> <tr> <td>10.27--10.31</td> <td>1-6:算法的描述</td> <td> <ul> <li>理解程序设计语言的基本概念</li> <li>了解程序在计算机中的执行方式</li> </ul> </td> <td> <ul> <li>DH第3章第1单元</li> </ul> </td> <td> <ul> <li>程序设计语言如何体现算法的基本要素与结构</li> </ul> </td> <td> <ul> <li></li> </ul> </td> <td> <ul> <li>WS第4章项目14</li> <li>WS第4章项目15</li> </ul> </td> </tr> <tr> <td>11.3--11.7</td> <td>1-7:不同的程序设计方法</td> <td> <ul> <li>了解不同的程序设计方法:函数式、命令式、对象式、逻辑式</li> </ul> </td> <td> <ul> <li>DH第3章第2、3单元</li> </ul> </td> <td> <ul> <li>为什么会出现不同的风范</li> </ul> </td> <td> <ul> <li>在网上查一下:什么是scripting language, 它们和C++这样的程序设计语言有什么不同?</li> <li>有一个网站通过网络搜索方式评定程序设计语言的“流行程度”。你是否能找到这个网站,并了解最流行的是那些语言?(排名限于“程序设计语言”,不包括“脚本语言”和“标记语言”)</li> </ul> </td> <td> <ul> <li>WS第4章项目16</li> </ul> </td> </tr> <tr> <td>11.10--11.14</td> <td>1-8:集合及其运算</td> <td> <ul> <li>掌握集合的基本概念以及基本数学性质</li> <li>进一步巩固数学证明能力</li> </ul> </td> <td> <ul> <li>UD第6、7、8、9章</li> </ul> </td> <td> <ul> <li>集合语言是形式化方法的基础,也是算法问题表述的基本手段</li> </ul> </td> <td> <ul> <li></li> </ul> </td> <td> <ul> <li>假设可能的元素个素最多64个,实现基本的集合运算</li> <li>如果集合元素可能有任意有限多个,如何实现集合运算</li> </ul> </td> </tr> <tr> <td>11.17--11.21</td> <td>1-9:关系及其基本性质</td> <td> <ul> <li>掌握关系的概念与基本数学性质</li> <li>理解等价关系与次序关系的数学性质</li> <li>进一步巩固数学证明能力</li> </ul> </td> <td> <ul> <li>UD第10、11、12章</li> </ul> </td> <td> <ul> <li>对象及其相互之间的关系是所有数学建模的核心概念</li> </ul> </td> <td> <ul> <li></li> </ul> </td> <td> <ul> <li>假设集合中元素个数最多64个,编一个程序判断该集合上任意给定的二元关系满足那些性质</li> </ul> </td> </tr> <tr> <td>11.24--11.28</td> <td>1-10:函数</td> <td> <ul> <li>从问题求解的角度理解函数的概念及其重要的数学性质</li> <li>熟悉函数表述方式</li> </ul> </td> <td> <ul> <li>UD第14、15、16章</li> </ul> </td> <td> <ul> <li>映射与计算机问题求解-从问题空间到解空间</li> </ul> </td> <td> <ul> <li></li> </ul> </td> <td> <ul> <li>WS第5章项目4</li> <li>WS第5章项目5</li> </ul> </td> </tr> <tr> <td>12.1--12.5</td> <td>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></li> </ul> </td> <td> <ul> <li>WS第5章项目16</li> </ul> </td> </tr> <tr> <td>12.8--12.12</td> <td>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></li> </ul> </td> <td> <ul> <li>WS第6章项目3,你如何确定你的程序算法没有错误</li> </ul> </td> </tr> <tr> <td>12.15--12.19</td> <td>1-13:有限与无限</td> <td> <ul> <li>理解无限集合的重要数学性质,理解可数与不可数的差别</li> <li>理解有限过程与无限过程的概念与差别</li> <li>理解测度空间的基本概念</li> </ul> </td> <td> <ul> <li>UD第21、22、23章</li> </ul> </td> <td> <ul> <li>如何比较无限集合的大小</li> </ul> </td> <td> <ul> <li></li> </ul> </td> <td> <ul> <li>WS第6章项目13</li> <li>WS第6章项目14</li> </ul> </td> </tr> <tr> <td>12.22--12.26</td> <td>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></li> </ul> </td> <td> <ul> <li>WS第7章项目3</li> <li>WS第7章项目5</li> </ul> </td> </tr> <tr> <td>12.29--1.2</td> <td>1-15:问题的难度</td> <td> <ul> <li>理解问题固有难度的概念</li> <li>了解NP-完全理论的基本内容</li> </ul> </td> <td> <ul> <li>DH第7章</li> </ul> </td> <td> <ul> <li>区分问题的难度与算法的复杂性,特别是上下界的概念</li> </ul> </td> <td> <ul> <li></li> </ul> </td> <td> <ul> <li>WS第7章项目13</li> </ul> </td> </tr> <tr> <td>寒假自学</td> <td>1-16:基本计算模型与不可计算性</td> <td></td> <td> <ul> <li>DH第8章第1、2、3、4单元</li> <li>DH第9章第1、2、3单元</li> </ul> </td> <td> <ul> <li>基本计算模型有什么意义</li> </ul> </td> <td></td> <td></td> </tr> <tr> <td>寒假自学</td> <td>1-17:并行与并发</td> <td></td> <td> <ul> <li>DH第10章第1、2、3、4、5、6单元</li> </ul> </td> <td> <ul> <li>并发带来什么好处,又会带来什么问题</li> </ul> </td> <td></td> <td></td> </tr> <tr> <td>寒假自学</td> <td>1-18:模算术与费马小定理</td> <td></td> <td> <ul> <li>UD第25、26章</li> <li>DH第12章第1单元</li> </ul> </td> <td> <ul> <li>模算术与常规算术有什么异同</li> </ul> </td> <td></td> <td></td> </tr> </table>
返回至
2014级--学期安排 (第一学期)
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息