基于python的数据结构课程

基于python的数据结构课程

ID:28182995

大小:55.00 KB

页数:6页

时间:2018-12-07

基于python的数据结构课程_第1页
基于python的数据结构课程_第2页
基于python的数据结构课程_第3页
基于python的数据结构课程_第4页
基于python的数据结构课程_第5页
资源描述:

《基于python的数据结构课程》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于Python的数据结构课程裘宗燕北京大学数学学院摘要:使用Python讲授程序设计课程正成为一种趋势,如果从计算机专业的第一门课程开始就使用Python,则必须考虑后续课程的衔接问题,特别是重要的数据结构课程。文章基于使用Python讲授数据结构课程以及编写基于Python数据结构教材的实践经验,探讨使用Python讲授数据结构课程的优势和劣势,指出发现的重点问题并提供和应解决方法。关键词:Python;数据结构课程;教学;内容和方法;作者简介:裘宗燕,男,教授,研究方向为软件理论和技术、程序语义、形式化方法,qzy

2、@math.pku.edu.cn。0引言越来越多的高校开设了Python编程课程,国际上已冇很多学校将Python作为第一门计算机科学技术课的语言,讲授棊本编程的思想、概念和技术。这种做法不可避免地带来一个问题:这门课程怎样与后续课程衔接,首先是怎样与数据结构课程衔接。我们使用Python语言讲授过儿次计算机基础课,包括基本编程课和数据结构课,并编写出版了相关教材U1,发现用Python讲授数据结构课程的现实情况:与原来基于C语言等的课程相比,该课程冇哪些优势,又冇哪些需要特别关注和解决的问题。1Python与数据结构数

3、据结构课程大约于20世纪70年代从发达国家的计算机科学系起步,最初使用伪代码讨论和分析,相关教学和教材很大程度上受到文献[2]的影响。随着高级语言的广泛使用,数据结构课程的教学逐渐转向以高级语言作为讨论工具。文献[3]中提出的观点被广泛接受,对数据结构课程的发展产生了很大影响。一时之间,绝大多数数据结构课程都转向采用Pascal语言。后来,抽象数据类型(ADT)的思想逐渐被数据结构教材和课程所釆用。20世纪90年代以后,随着C语言的使用日益广泛和Pascal日渐衰落,越来越多的国内外高校改用C语言教授数据结构课程,而后乂

4、有其他语言逐渐加入。目前,数据结构课程使用的主要语言包括C、C++、Java等。随着越来越多的高校开始使用Python讲授第一门程序设计课程,用Python讨论数据结构的问题也被提上议事口程。为了深入探讨有关情况,我们首先回答几个经常听到的问题,网上对于这些问题也有许多讨论。第1个常见的问题:Python的表和字典就是数据结构课程中讨论的典型数据结构,学习Python编程之后就已经会用了,还需要学习数据结构课程吗?我们的回答是,当然需要。一方面,数据结构是计算机科学知识体系中最重要的环节之一,其核心问题是讨论数据组织和管

5、理的思想和技术、计算复杂性的概念和分析等,这些都是计算机科学技术领域最重耍的基础知识,而表、字典等只是传播上述核心知识和技术的媒介,是课程所讨论的典型实例,Python的程序设计基础和相关课程既不能提供上述重要知识和相关技术,又不可能代替数据结构课程;另一方面,要用好Python语言并发挥其作用,必须理解数据结构的一般性知识和Python的特殊情况,编程语言是非常复杂的工具,编程是最复杂的工作,缺乏对所用语言的理解是做不好编程的,数据结构课程则能帮助学生深入理解Python的表、字典等组合类型。因此,基于Python的数

6、据结构课程教学需要兼顾这两方面的需求。第2个常见的问题:用Python语言讨论数据结构的可行性。依据我们的理解和经验来判断,这种做法确实可行。目前,国际上已经出版了许多使用Python语言讲授数据结构相关内容的教材,如在亚马逊网站上可以查到文献[4-6],但是国内至今未出版中文翻译版本。我们已经使用Python讲授过儿次数据结构课程,并编写出版了相关教材UL此外,还可以找到国外同行研宄这个问题的论文,如文献[7],也可以找到国外一些知名高校发布的有关使用Python讲授CS2的消息M。这些情况都说明,使用Python讲授

7、数据结构课程的做法是可行的。当然,不同语言有各自的特点,应用于同一门课程时,也需要考虑其特点,扬长避短。如前所述,这门课程应该是数据结构基础知识和Python的结合,用Python讲授数据结构既有优势,又有劣势。第3个常见的问题:学数据结构课程对于使用Python幵发程序(软件)奋特殊意义吗,特别是使用Python语言讨论的课程?对此,我们的回答是肯定的。因为除了讲授计算机科学技术的一般性作用之外,这门课程还对提升学生使用Python工作的能力产生重要影响,主要体现在以下3个方面。(1)有助于学生理解Python程序的行

8、为,理解怎样写好Python程序。(2)帮助学生在使用Python编程的过程中作出正确的设计选择,并为这些选择提供本质性的判断根据。例如,保存一批数据吋,选用标准类型的表或字典,还是自己开发专门结构,并知悉原因;向表中加入元素应该用哪个操作等。(3)有助于识别程序中的效率陷阱。Python程序中很容易创建各种复杂数据

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。