首页 工作计划 工作总结 事迹材料 心得体会 述职报告 疫情防控 思想汇报 自查报告 党建材料 策划方案 教案设计 范文大全
  • 主题教育
  • 党课下载
  • 党史学习
  • 振兴乡镇
  • 工作汇报
  • 不忘初心
  • 规章制度
  • 谈话记录
  • 扫黑除恶
  • 共同富裕
  • 脱贫攻坚
  • 整改报告
  • 工作要点
  • 对照材料
  • 调查报告
  • 教育整顿
  • 观后感
  • 申请书
  • 讲话稿
  • 致辞稿
  • 评语
  • 口号
  • 发言稿
  • 读后感
  • 治国理政
  • 学习强国
  • 公文范文
  • 计算思维与《数据结构》课程教学改革实践

    时间:2023-07-12 18:15:06 来源:正远范文网 本文已影响 正远范文网手机站

    摘要:文章结合教学实际,对《数据结构》课程教学中遇到的问题进行了深入分析,并从如何利用计算思维更好地优化和调整教学的角度对课程的教学计划、教学模式和实践教学改革提出了一些思考和建议。

    关键词:计算机思维;数据结构;实践教学

    中图分类号:G642 文献标识码:A 文章编号:1009-3044(2016)10-0152-02

    1 计算思维

    2006年3月,美国卡内基·梅隆大学的周以真教授在美国计算机权威杂志ACM上发表并定义了计算思维(Computational Thinking)。周教授指出,计算思维是运用计算机科学的基础概念进行问题求解、系统设计,以及人类行为理解的涵盖计算机科学之广度的一系列思维活动。[1]计算思维的提出,引起了美国教育界以及科学界的广泛关注,直接促成了“大学计算教育振兴的途径”计划, 以及更为具体的以“计算思维为核心的课程改革”。

    计算思维的重要作用同样引起了国内学者和计算机教育专家的关注,国防科技大学的朱亚宗教授站在人文历史的基础之上,将计算思维归类为三大科学思维(实验思维、理论思维、计算思维)之一。[2] 2010年,“九校联盟(C9)计算机基础课程研讨会”上,发布了《九校联盟(C9)计算机基础教学发展战略联合声明》,确定了以计算思维为核心的计算机基础课程的教学改革。随后,一些计算机教育者开始在“计算机导论”、“程序设计”、“离散数学”等课程的教学中广泛探讨计算思维的应用和实践。

    2 《数据结构》课程教学中存在的问题

    2.1先导课程的基础不够扎实

    《C/C++语言程序设计》、《离散数学》等课程是《数据结构》学习的先导课程,对程序设计基础的掌握程度会直接影响学生对《数据结构》理论知识的学习和实验实践训练。目前计算机专业的教学计划中通常会把《C/C++语言程序设计》安排在大学第一学期,与《数据结构》课程开设距离1-2个学期,这造成了学生在学习《数据结构》时对《C/C++语言程序设计》的前导知识已经淡忘模糊,指针、结构体问题甚至会出现知识空白;同时,《C/C++语言程序设计》也是实践性较强的课程,前期学习往往实验训练不足,学生动手能力普遍较差,这些情况对《数据结构》课程的实践教学带来很大困难。

    2.2课程知识理论性抽象性强

    《数据结构》课程主要讨论现实世界中数据的各种逻辑结构,在计算机中的存储结构以及进行各种非数值运算的算法。目的是使学生掌握数据组织、存储和处理的常用方法以及算法设计的基本方法。《数据结构》是许多后续专业课程的基础,课程本身涉及的概念多、内容广,理论性抽象性比较强,学生在学习理解上普遍存在一定的困难。

    2.3课程实践环节薄弱

    实践是《数据结构》课程的重要环节,培养学生设计开发复杂高效程序的技能是课程的教学要求之一。具体内容包括:掌握数据组织、存储和处理的常用方法;对经典算法进行编码调试;具备编写较大型程序的能力。实际教学中,课时不足尤其是实验课时不足,造成了课程的实践环节较为薄弱,学生在课程学习后往往反映:“课堂内容能够掌握,但上机编程时困难重重无从下手”。

    3 计算思维与数据结构

    周以真教授将计算思维的特征总结为:概念化,不是程序化;根本的,不是刻板的技能;是人的,不是计算机的思维方式;是数学和工程思维的互补与融合;是思想,不是人造物;面向所有人,所有地方。[3]同时,周教授也阐述了几种具体的计算思维方法:通过约简、嵌入、转化、仿真,把困难的问题阐释成知道问题怎样解决;利用递归思维、并行处理,把代码译成数据,又把数据译成代码;利用抽象和分解来控制庞杂的任务或巨大复杂系统;基于关注分离的方法(SoC 方法);按照预防、保护及通过冗余、容错、纠错的方式,从最坏情况进行系统的恢复;利用启发式推理寻求解答;利用海量数据来加快计算等。这些阐述不仅扩散了计算思维的原理,也为我们提供了将来的发展和培养方向。

    在国内,桂林电子科技大学董荣胜教授以“思想与方法”替代“基础概念”更改了周以真教授的定义。董教授指出,“计算思维”是从学科思维层面直接讨论学科的根本问题与学科的思维方式,而“计算机方法论”则是从方法论的角度讨论学科的根本问题和学科形态,二者的研究互补性很强,相互促进。

    计算思维的核心之一是“抽象”,要求在多个层次上抽象进行思维,进而实现问题求解,这个过程具体到一门课程,最适合的内容就是“数据结构和算法描述”。《数据结构》是计算机专业非常重要的一门专业基础课,主要研究数据之间的逻辑结构、存储结构和对数据的各种基本操作。在《数据结构》的学习中,我们经历这样一种过程:应用数据抽象,建立数据对象模型;应用问题抽象,建立问题的数学模型;应用计算机,实现问题求解的算法。这与计算思维的本质特征“抽象”和“自动化”是相契合的,所以在《数据结构》课程中贯穿计算思维的思想,构建一个基于计算思维的《数据结构》教学体系是可行的,也符合董荣胜教授提出的计算思维与计算机方法论相互补充相互促进。[4]

    4 结合计算思维训练的《数据结构》教学改革实例

    在实际教学中我们发现,大多计算机专业的学生在完成了一门或若干门课程的学习后获得的是零散的概念,对学科知识难以做到系统的理解,甚至直到毕业仍无法建立起利用计算机求解问题的思路。针对这个问题我们曾对部分大三、大四年级学生做过调查,在问到“影响你专业课学习的主要原因是什么”时,82.5%的学生选择了“自己对计算机学科的核心问题,学科涉及的数学方法、系统方法的认识和掌握”,其他学生选择了“自己的动手能力”。计算思维的提出正是要求我们在教学中重视学科所蕴含的思想和方法,为计算机专业课的教学改革提供了思路。

    4.1围绕计算思维的教学理念,修订教学计划

    数据结构是计算机专业理论性和实践性并重的专业基础课,教学计划中包含了理论体系和实践体系两部分。理论课程体系要注意用新的理论、技术更新核心知识单元和知识点,体现计算思维的思想和方法。如:二叉树的遍历操作中的递归思想,排序算法中的抽象和分解思想等。在教学模式方面也要渗透计算思维,具体到授课中,一要注重讲解知识的背景,以问题贯穿教学过程,通过问题将理论知识和应用联系起来;二要突出思维培养,通过引导学生探讨知识产生的过程,特别是知识的关联,领会创新的途径和本质。

    4.2重视课程间内容的衔接,建设实践课程群

    《数据结构》课程的顺利学习需要建立在对C/C++高级语言已熟悉掌握的基础上,从以往的教学中我们也发现学生在数据结构实践上遇到的问题相当一部分是来自高级语言的语法和程序设计。同时《数据结构》也是《操作系统》、《面向对象程序设计》等课程的先修课,在这些课中会涉及许多数据结构知识的实际应用。针对这种情况,我们采用“16+2”的教学周期设置,在1-4学期分别为《C语言程序设计》、《C++程序设计》、《数据结构》、《操作系统》安排16周的课程学习,对应每学期的最后各安排2周时实践课程,分别为《C编程实践》、《C++编程实践》、《算法与数据结构编程实践》、《操作系统编程实践》。实践课程群的建设以培养学生的计算思维和训练动手能力为目标,使学生主动建立起利用计算机技术解决问题的自觉性和思路。

    4.3加强实践教学,提高计算思维能力

    实践教学体系是《数据结构》教学计划的一部分,实现对学生开发复杂、高效程序技能的培养。针对计算思维能力的培养,课题组提出基于实践课程群的实验实践教学机制,以采用“N+1”实验项目设计完成单门课程的实验教学。“N”是指教师根据教学内容的需要,设计N个课程教学实验,帮助学生掌握单元知识点,此类实验多为验证型、基础型。 “1”是指,群内每门课程都要为学生安排一次综合型课程设计项目,2周,8-16个学时。课程设计采用应用类和创新类实验,强调考察学生对整门课程的学习掌握,对学科知识的融会贯通,强调对学生进行抽象与自动化的训练,使学生形成问题求解的思路,从研究过程中强化计算思维训练。

    计算思维是问题求解的过程性思维,包括发现问题、确定问题和求解问题。[5]采用独立的实践课程设置,一方面使学生对实践课程重视,在学习方法、实验方法上得到系统、完整的技能训练;另一方面可以提高实践环节的地位和作用,以足够的课时保证实践教学效果。

    5 结束语

    计算思维,是当前计算机教育需要重点研究的课题,作为计算机教育者有责任站在思维科学的角度培养学生的计算思维能力。这个任务不是一门课程可以解决的,需要逐步在计算机专业的各门课程中渗透“计算思维”。

    参考文献:

    [1] 陈国良.董荣胜. 计算思维与大学计算机基础教育[J].中国大学教学,2011(1):7-11.

    [2] 牟琴.谭良.计算思维的研究及其进展[J].计算机科学,2011(3):10-15.

    [3] 董荣胜.古天龙.计算思维与计算机方法论[J].计算机科学,2009(1):1-5.

    [4] 孟凡荣.张斌.杨雷.计算思维在数据结构中的实践探索[J].教育教学论坛,2015(3):117-120.

    [5] 陈杰华, 戴丽娟.以培养计算思维为核心的程序设计实验教学[J].实验技术与管理,2011(1 ):125-127.

    推荐访问:数据结构 教学改革 思维 实践 课程