基于Python的数据结构课程.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Python的数据结构课程

基于Python的数据结构课程 裘宗燕 北京大学数学学院 X 关注成功! 加关注后您将方便地在 我的关注中得到本文献的被引频次变化的通知! 新浪微博 腾讯微博 人人网 开心网 豆瓣网 网易微博 摘????要: 使用Python讲授程序设计课程正成为一种趋势, 如果从计算机专业的第一门课程开始就使用Python, 则必须考虑后续课程的衔接问题, 特别是重要的数据结构课程。文章基于使用Python讲授数据结构课程以及编写基于Python数据结构教材的实践经验, 探讨使用Python讲授数据结构课程的优势和劣势, 指出发现的重点问题并提供相应解决方法。 关键词: Python; 数据结构课程; 教学; 内容和方法; 作者简介:裘宗燕, 男, 教授, 研究方向为软件理论和技术、程序语义、形式化方法, qzy@math.pku.edu.cn。 0 引言 越来越多的高校开设了Python编程课程, 国际上已有很多学校将Python作为第一门计算机科学技术课的语言, 讲授基本编程的思想、概念和技术。这种做法不可避免地带来一个问题:这门课程怎样与后续课程衔接, 首先是怎样与数据结构课程衔接。我们使用Python语言讲授过几次计算机基础课, 包括基本编程课和数据结构课, 并编写出版了相关教材[1], 发现用Python讲授数据结构课程的现实情况:与原来基于C语言等的课程相比, 该课程有哪些优势, 又有哪些需要特别关注和解决的问题。 1 Python与数据结构 数据结构课程大约于20世纪70年代从发达国家的计算机科学系起步, 最初使用伪代码讨论和分析, 相关教学和教材很大程度上受到文献[2]的影响。随着高级语言的广泛使用, 数据结构课程的教学逐渐转向以高级语言作为讨论工具。文献[3]中提出的观点被广泛接受, 对数据结构课程的发展产生了很大影响。一时之间, 绝大多数数据结构课程都转向采用Pascal语言。后来, 抽象数据类型 (ADT) 的思想逐渐被数据结构教材和课程所采用。20世纪90年代以后, 随着C语言的使用日益广泛和Pascal日渐衰落, 越来越多的国内外高校改用C语言教授数据结构课程, 而后又有其他语言逐渐加入。目前, 数据结构课程使用的主要语言包括C、C++、Java等。 随着越来越多的高校开始使用Python讲授第一门程序设计课程, 用Python讨论数据结构的问题也被提上议事日程。为了深入探讨有关情况, 我们首先回答几个经常听到的问题, 网上对于这些问题也有许多讨论。 第1个常见的问题:Python的表和字典就是数据结构课程中讨论的典型数据结构, 学习Python编程之后就已经会用了, 还需要学习数据结构课程吗?我们的回答是, 当然需要。一方面, 数据结构是计算机科学知识体系中最重要的环节之一, 其核心问题是讨论数据组织和管理的思想和技术、计算复杂性的概念和分析等, 这些都是计算机科学技术领域最重要的基础知识, 而表、字典等只是传播上述核心知识和技术的媒介, 是课程所讨论的典型实例, Python的程序设计基础和相关课程既不能提供上述重要知识和相关技术, 又不可能代替数据结构课程;另一方面, 要用好Python语言并发挥其作用, 必须理解数据结构的一般性知识和Python的特殊情况, 编程语言是非常复杂的工具, 编程是最复杂的工作, 缺乏对所用语言的理解是做不好编程的, 数据结构课程则能帮助学生深入理解Python的表、字典等组合类型。因此, 基于Python的数据结构课程教学需要兼顾这两方面的需求。 第2个常见的问题:用Python语言讨论数据结构的可行性。依据我们的理解和经验来判断, 这种做法确实可行。目前, 国际上已经出版了许多使用Python语言讲授数据结构相关内容的教材, 如在亚马逊网站上可以查到文献[4-6], 但是国内至今未出版中文翻译版本。我们已经使用Python讲授过几次数据结构课程, 并编写出版了相关教材[1]。此外, 还可以找到国外同行研究这个问题的论文, 如文献[7], 也可以找到国外一些知名高校发布的有关使用Python讲授CS2的消息[8]。这些情况都说明, 使用Python讲授数据结构课程的做法是可行的。当然, 不同语言有各自的特点, 应用于同一门课程时, 也需要考虑其特点, 扬长避短。如前所述, 这门课程应该是数据结构基础知识和Python的结合, 用Python讲授数据结构既有优势, 又有劣势。 第3个常见的问题:学习数据结构课程对于使用Python开发程序 (软件) 有特殊意义吗, 特别是使用Python语言讨论的课程?对此, 我们的回答是肯定的。因为除了讲授计算机科学技术的一般性作用之外, 这门课程还对提升学生使用Python工作的能力产生重要影响, 主要体现在以下3个

文档评论(0)

zijingling + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档