- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Pythn的数据结构课程..doc
基于Python的数据结构课程
裘宗燕
北京大学数学学院
使用Python讲授程序设计课程正成为一种趋势,如果从计算机专业的第一门课 程开始就使用Python,则必须考虑后续课程的衔接问题,特别是重要的数据结 构课程。文章基于使用Python讲授数据结构课程以及编写基于Python数据结构 教材的实践经验,探讨使用Python讲授数据结构课程的优势和劣势,指出发现 的重点问题并提供和应解决方法。
关键词:
Python;数据结构课程;教学;内容和方法;
裘宗燕,男,教授,研究方向为软件理论和技术、程序语义、形式化 方法,qzy@math. pku. edu. cn。
0引言
越来越多的高校开设了 Python编程课程,国际上已冇很多学校将Python作为第 一门计算机科学技术课的语言,讲授棊本编程的思想、概念和技术。这种做法不 可避免地带来一个问题:这门课程怎样与后续课程衔接,首先是怎样与数据结构 课程衔接。我们使用Python语言讲授过儿次计算机基础课,包括基本编程课和 数据结构课,并编写出版了相关教材U1,发现用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讲授过儿次数据结构课程,
并编写出版了相关教材UL此外,还可以找到国外同行研宄这个问题的论文, 如文献[7],也可以找到国外一些知名高校发布的有关使用Python讲授CS2的消 息M。这些情况都说明,使用Python讲授数据结构课程的做法是可行的。当然, 不同语言有各自的特点,应用于同一门课程时,也需要考虑其特点,扬长避短。 如前所述,这门课程应该是数据结构基础知识和Python的结合,用Python讲授 数据结构既有优势,又有劣势。
第3个常见的问题:学数据结构课程对于使用Python幵发程序(软件)奋特殊 意义吗,特别是使用Python语言讨论的课程?对此,我们的回答是肯定的。因为 除了讲授计算机科学技术的一般性作用之外,这门课程还对提升学生使用 Python工作的能力产生重要影响,主要体现在以下3个方面。
有助于学生理解Python程序的行为,理解怎样写好Python程序。
帮助学生在使用Python编程的过程中作出正确的设计选择,并为这些选择 提供本质性的判断根据。例如,保存一批数据吋,选用标准类型的表或字典,还 是自己开发专门结构,并
您可能关注的文档
最近下载
- 输输电线路角钢塔焊接件组装工艺技术规程(作业指导书9).doc VIP
- 文旅公司招聘笔试试题.pdf
- 诺华在中国-诺华中国Novartis.PDF VIP
- 4.《促织》课件(共62张PPT) 高教版(2023)中职语文基础模块上册.pptx VIP
- 威尔克姆V8[中文]说明书.pdf VIP
- 2022届中考真题、模考专项练习-“伏安法测电阻”、“测定小灯的电功率”(附答案).pdf VIP
- 专题1.1 整式的乘除(压轴题专项讲练)(北师大版)(原卷版).pdf VIP
- 2025—2026年印制电路板制造的节能环保趋势.pptx
- 再生润滑油基础油团体标准(TCRRA-0901-2023).pdf VIP
- 美世国际职位评估手册.pdf VIP
文档评论(0)