以计算思维为导向的数据结构课程教学研究

时间:2022-07-25 01:26:44

以计算思维为导向的数据结构课程教学研究

【摘要】《数据结构》是计算机相关专业的一门核心课程,在本门课程的授课过程中,如何培养和训练学生的计算思维,本文首先分析了数据结构与计算思维的关系,然后分别从案例设计,思维训练和考核方式改革三个方面阐述了在本门课程的教学过程中采取的具体措施。

【关键词】计算思维 ; 数据结构 ; 计算思维训练

【中图分类号】G64 【文献标识码】B 【文章编号】2095-3089(2014)22-0016-02

近年来,国际国内计算机教育界掀起了研究计算思维的热潮。什么是计算思维?计算思维具有什么样的特征?在现代高等教育中,如何去培养学生的计算思维?……针对这些问题,前人进行了积极的探讨和争论。文献【1】指出计算思维是“运用计算机科学的基础概念去求解问题、设计系统和理解人类行为。”并对其内涵及其在社会实践中的地位进行了深刻的分析。文献【2】阐述了计算思维的概念、内涵及其与实证思维,逻辑思维的关系,进一步指出了计算思维在未来的发展中所面临的挑战;文献【3】讨论了计算思维对各门学科产生的影响,并提出应该在计算机专业的各门课程中渗透“计算思维”的设想;文献【4】探讨了计算思维和计算机方法论之间的关系,认为两者各具特色且相互补充,计算机方法论可以补充吸收计算思维方面的研究成果,而计算思维的能力可以通过计算机方法论的学习得到更大的提高。文献【5】通过对计算机科学思维,计算思维和计算机思维概念进行一致性分析,从不同方面分析和阐述了计算思维的特征,并对计算思维研究的基本问题进行了初步探索。文献【6】中分析了当今计算机教育存在的危机及危机产生的原因,提出了在非计算机专业的计算机课程教学中应讲授计算学科的普适思维以及计算学科的基本素养,并探讨了“大学计算机”课程的思维性教学方法。文献【7】以遗传与遗传算法的教学为例,提出了宽度,深度相结合的计算思维教学方法,即由自然/社会生活中的计算到计算机技术与计算机系统中的浅层次计算,再到深层次计算。然而众所周知,思维的培养单凭一两门课程的学习是无法完成的,它是一个综合性很强的过程,需要在学生的四年大学学习生活中,持续不断的来完成。因此,本文结合笔者多年的教学经验,以数据结构课程为例,探讨了在本课程教学中如何进行计算思维的培养,使得计算思维成为学生的一种思维习惯,并能够运用这种思维进行问题的思考与分析。

1.数据结构与计算思维

作为人类三大思维科学(理论思维、实践思维、计算思维)之一的计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等,它涵盖了计算机科学之广度的一系列思维活动,其最主要的本质是抽象和自动化。将计算思维的概念、内涵进行分析,可将计算思维的内容分为三个层面:计算思维意识,计算思维方法和计算思维能力【8】。在思维训练的过程中形成思维意识,反复的思维训练最终的结果使得思维能力得以提升。《数据结构》是计算机相关专业的一门十分重要的核心课程,其核心内容是抽象数据类型、数据操作。几乎课程中的每个知识单元都对应着一种计算思维的方法。如抽象数据类型对应研究对象的符号表示;算法对应问题的求解办法;树、二叉树的定义,遍历对应递归法等等。课程教学的目标不仅仅是要传授学生计算机方面的基础知识和应用能力,更是要提高学生分析问题,解决问题的能力,这也是计算思维的终极目标。因此,《数据结构》教学是计算思维培养的重要载体,是一种重要的计算思维训练工具。

2.基于计算思维能力培养的《数据结构》课程教学

如何在《数据结构》的课程教学中进行计算思维的培养,以提高学生运用计算思维进行问题的分析和求解是一个挑战。在课堂上进行思维的培养,需要在宏观上重新审定课程内容,以计算思维为主线组织课程;从细节上改善课堂环节,增强学生思维训练;改变教学成果的考核方式,建立有效的,可量化的成果检测方式。围绕这一主线,笔者在《数据结构》的课程教学中做了以下几个方面的尝试。

(1)设计具有思考性的、趣味性的知识情境

以计算思维为导向进行《数据结构》课堂教学,需要教师为学生提供富有思考性的课堂环境,即为学生参与富有意义的思维活动提供机会并鼓励学生参加到这样的活动中来。这就对教师提出了更高的要求,一方面需要教师深入社会实践,结合不同的专业背景进行调研,熟悉并掌握计算机应用实例;另一方面需要教师认真学习、研究计算思维和课程内容,提炼并展现蕴藏在知识背后的计算思维,精心设计具有思考性的知识情境,引导学生根据实际情况进行任务的分析,分解,引导学生主动进行知识的探索,从而使每个学生都成为问题的思考者,使整个课堂变得富有思考性,趣味性。比如,线性表是《数据结构》课程中的第一个抽象数据类型。针对这一知识点,我们设计的知识情境为设计一个简单的门诊挂号系统。将学生分为几个小组,每个小组针对该题目围绕以下几个方面进行讨论:系统的研究对象;对象具有的属性(号码,姓名,性别,年龄,简单症状描述等);关系(以号码为关键字形成线性表);特点(除第一个和最后一个病人,每个病人都仅有唯一的一个直接前驱和唯一的一个直接后继),可能的操作(插入,删除)等等内容。通过这样一个实例,将线性表的相关知识点融入到该实例中,激发学生学习新知识的兴趣,培养学生主动思考问题的习惯。

(2)提高课堂实效,强化计算思维训练

思维随着知识的贯通而形成,能力随着思维的训练而提高。因此,提高学生的计算思维能力,除了设计具有思考性的知识情境还不够,还需要进行有效的计算思维训练。因此,笔者强调需要从多样性的角度强化思维训练。多样性包括知识情境的多样性和算法的多样性。知识情境多样性,除了教师要精心设计知识情境外,更强调的是学生要认真观察,发现生活中的类似案例,不断的进行计算思维的自主训练。算法的多样性则强调对于同一问题,进行多角度求解。例如,在进行单链表的创建的时候,如果每次输入的数据结点是逻辑有序的,则可以按照先来先入队的原则建立单链表,即每次都是在链表的尾部插入结点,这种单链表的建立方式称之为“尾插法”建立单链表;根据结点插入位置的不同,启发学生亦可以从单链表的头部插入结点,所不同的是,形成的单链表是逆序的,即线性表中第一个元素位于单链表的最后一个结点中,最后一个元素位于单链表的第一个结点中。继续启发学生,插入结点的位置可在单链表的头部,也可以在尾部,那在链表中间呢?显然也是没有问题的。只是为了保证数据元素的逻辑有序性,需要在单链表中先找到元素的适当位置,然后进行元素的插入。单链表的创建方法,根据结点的插入位置不同,方法各异。因此,要启发学生多角度思考问题,对同一问题,采用不同的方法进行求解,进行算法的多样化训练。除此之外,还要鼓励学生改进别人的算法,从而培养学生计算思维的多样性和重构性。

(3)改革考核方式,建立可量化的考核方法

目前,我校对《数据结构》课程的考核方式采取单一的卷面考,考试题型围绕单选,填空,应用和程序设计等题型安排内容。这些题型在考核中发挥了重要的作用,但也存在过于机械、反应思维有限等弊端。针对这些问题,我们尝试改革考核方式。将考核方式定为课程设计和卷面考结合起来,其中课程设计主要是完成一个综合的,完整的系统,主要考核学生对计算机知识的系统掌握;而在卷面考方面,将应用题的比例由原来的25%调整到40%,以考察学生运用所学知识进行问题分析,求解的能力。

《数据结构》是计算机相关专业的一门专业基础课,同时也是进行计算思维训练的重要工具之一。如何以计算思维为导向进行《数据结构》课程的教学,文中分别从案例设计,课堂教学,课程考核三个方面进行了初步探索。当然,计算思维能力的培养不是一朝一夕的,仅仅通过一两门课程的教学是不能完成思维培养的,需要在学生的四年大学生活中持续不断的来完成。因此,计算机专业的教师应从计算思维的层面看待所授的课程,注重实施计算思维训练的意识和行为,以此作为技能型人才培养的突破口,提高学生自主解决实际问题的能力。

参考文献

[1]Wing J M. Computational Thinking[J].Communication of the ACM, 2006,49(3):33-35

[2]李廉,计算思维――概念与挑战.中国大学教学, 2012(1):7-12

[3]陈文宇,吴祖峰,罗宗粉,等. 计算机专业本科生计算思维能力的培养[C].电子科技大学本科教学改革的实践与研究论文集.2005

[4]董荣胜. 计算思维及计算机导论[J]. 计算机科学,2009,36(4):50-52

[5]张晓茹,张再跃.再谈计算机思维.计算机教育.2010(23):35-42

[6]战德臣,聂兰顺,徐晓飞. “大学计算机”――所有大学生都应学习的一门计算思维基础教育课程. 中国大学教学. 2011(4):15-20

[7]战德臣,聂兰顺,徐晓飞.宽度与深度教学相结合――计算思维教学方法浅谈. 工业和信息化教育. 2013(6):16-20

[8]龚沛曾,杨志强. 大学计算机基础教学中的计算思维培养研究. 中国大学教学. 2012(5):50-54

作者简介:孙亚红,女,讲师,研究方向:计算机教育。

肖淑苹,女,讲师,研究方向:计算机教育。

上一篇:向“3+1”模式要更优秀的中职生 下一篇:高职社区法律事务专业人才培养途径研究