郭海锋
(浙江工业大学 信息工程学院,杭州 310023)
自我导向式情景教学方法在数据结构课程中的应用
郭海锋
(浙江工业大学 信息工程学院,杭州 310023)
以当前大学生的心理需求为视角,审视传统的教学理念和教学模式,并针对理工科一类抽象、晦涩的课程,提出以学生为主导的自我导向式学习理念,并设计情景教学方法实践此种理念,使学生在教学活动中拥有更多的参与权和控制权,由被动地接受知识转变为主动地学习知识,体验了一种全新的教学模式,为推动教学改革提供了一种可借鉴的方法。
数据结构;情景教学;自我导向学习
情景教学方法在初等教育中应用得较为广泛,对启迪学生思维,深入理解课程内容起着重要的作用。但是,在高等教育中,此种有效的教学方法却鲜见于大学课堂。尤其是理工类课程,尽管教师和学生经常被一些深奥的概念或公式或原理所困惑,但很少有教师通过情景化的方式诠释上述晦涩的知识。《数据结构》即是一门公认的计算机类较难理解的课程,本文以此课程为对象,采用自我导向式的学习理念,并运用情景教学方法,对该课程的教学模式进行全新的尝试。
数据结构是一门研究非数值计算程序设计问题中有关计算机的操作对象以及它们之间的关系和操作等的课程[1]。数据结构课程的核心思想可概括为以下几个方面:①讨论数据之间的关系,重点讨论一对一、一对多、多对多三种基本关系;②围绕三种基本关系,讨论表示数据之间关系的逻辑结构和存储结构;③在①和②基础之上,讨论一些经典的算法,使学生逐渐建立起对“计算”的理解。
在教学过程中发现,学生对①的理解较容易,对②中存储结构的理解相对较难,对③中算法的理解则仅限于表面的思想,对算法在计算机中的实现机理及计算过程则难以理解。以图的存储结构为例,教材中一般会给出邻接矩阵和邻接表两种常用的存储方式,但是介绍这两种存储方式时通常采用精炼的类C语言进行形式描述,这种描述方式非常抽象,学生很难理解,仅能想象邻接矩阵和邻接表在计算机中可能的存储形式。由于对一些基本的概念、定义学生无法理解,导致学生在上机操作中更是无从入手,头脑中没有一个整体的逻辑思路,无法将一个算法从伪代码描述转化为可执行的程序。
综合分析,产生上述问题的原因在于以下几个方面:①学生对程序设计本身没有一个透彻的理解,缺乏基本的程序设计思想,在接受数据结构相关知识时不能够用程序设计的思维去理解数据在计算机中的组织形式;②学生对指针的理解和掌握相对较难,而数据结构相关知识的描述均是通过指针实现的,学生在学习过程中只能想象指针在计算机中是如何运作的,无法建立起直观的印象;③教师对数据结构相关内容的用途讲述得不够清楚,学生学习过程中非常困惑的就是所学内容究竟能做什么。大学课堂上讲授的计算机软件设计方面的课程大部分内容都是围绕着工程应用,即如何使用所学的课程,这样一种惯性思维使学生在接受数据结构课程时便无所适从,从而导致学生学习的目的性和动力性不足;④教师在讲授过程中缺少必要的情景展示环节,数据结构的内容逻辑性非常强,但是这种逻辑性不是通过数学公式的形式表现的,而是通过严谨的算法步骤实现的,这些算法的表现形式及实现对学生而言是不可见的,即学生缺乏一种直观的工具或平台加深对数据结构相关概念和算法的理解。
大学课堂的授课模式传承至今,教师与学生在教学活动中的角色几乎没有多大的改变,教师控制着整个教学环节,学生被动地接受,即便是借助了最新的多媒体技术,也依然沿袭着“填鸭式”的授课模式。这种授课模式和学习方式,已不适应当前以90后为主体的大学生的心理需求,抑制了学生学习的积极性。
为适应当前大学生的这一需求,本文将自我导向学习理念引入到教学计划和活动中,强调让学生拥有更多的参与权与控制权,改变传统教学模式中教师独占控制权的情形。自我导向学习(self-directed learning)自1966年由Tough提出后,这个词语即被广泛使用。所谓“自我导向学习”是一种自我学习知识的方法,是指学习者不论有没有他人协助,都能以个人为中心,主动根据自己的学习需求,建立一个学习目标,应用现有的学习资源或寻找各种学习资源,选择安排适合自己的学习计划、学习方法,进行学习,从而达到自己的学习目的,评价自己的学习效果。Tennant于1992年提出了阶段性自我导向学习模式(The staged self-directed learning model),简称SSDL模式[2]。阶段性自我导向学习模式假设学习者阶段性的增进自我发展,而教师可以促进或阻碍这种发展。良好的教学能配合学习者所处的自我导向学习倾向阶段,有助于提高学习者的自我导向学习倾向。Tennant将自我导向学习倾向定义为:在教学情境中,学习者有更多的选择权。然而,自我导向学习倾向并非全部与情境有关,也与个人的性格特质相关。这种自我导向学习倾向的个人特质一旦发展出来,它便会出现在各种不同的学习情境中。
在倡导全新的学习理念以适应当前大学生的心理需求的同时,也需要营造能支撑这种新的学习理念的客观环境,因此,情景化的教学软件及多媒体设备是教学环节的重要因素。就数据结构课程而言,可用于情景化教学的软件相对较少,主要有以下几种:
(1)严蔚敏等开发的数据结构算法演示软件,该软件是清华大学严蔚敏教授编著的《数据结构》教材的配套演示软件[1],对80多个算法进行了可视化的动态模拟演示,加深学生对一些复杂抽象算法的理解。
(2)高翔开发的数据结构教学辅助系统,该系统采用Applet技术实现算法的图形化演示功能,并同步给出算法的源代码,使学生在观察动画的过程中能够实时查看源代码的执行情况[3]。
(3)Gustafson等开发的BinaryTreesome软件,由于数据结构中树、图结构对初学者而言是最抽象、最难以理解的,因此该软件主要针对典型的二叉树结构,以Applet为开发工具,设计了一个以学生操作为主的二叉树可视化软件。在该软件使用过程中,学生既可以亲自设计不同的二叉树,同时还可以在设计过程中查看相关算法的程序代码,提高了学生学习的兴趣,也加深了对算法的深入理解。
(4)Dershem等设计的JVALL软件,该软件主要是对链表的存储结构和动态生成过程进行可视化的演示[4],在功能设计时也充分考虑了学生的参与性,学生可以向链表中动态地插入结点和删除结点,使学生对链式存储结构所涉及的指针、结点、链接表等概念有了非常直观的认识。
学习和接受知识的最直接有效的途径便是通过感观,情景教学法即是根据授课的内容构建一定的情景,使学生身临其境,感受直观真实的印象,激发学生愉快积极的情绪,从而使学生愉快地学习,提高教学效率,其核心在于激发学生的兴趣和情感[5]。此种教学方法可与自我导向学习理念进行有效地结合,即自我导向学习强调学生的主动参与和自主控制,情景教学方法则为学生的参与和控制提供一个平台,两者的结合则能够激发学生的学习兴趣,使学生由被动地接受知识转变为主动地学习知识、探索知识,教师在整个环节中起到指导性的作用。
自我导向式情景教学的实施原则可概括为以下几点:
(1)充分了解当前大学生的共性心理需求,向学生倡导的学习理念也应与时俱进。比如当前90后大学生的群体性特征为追求个性化和自我控制欲,因此要求教师在授课过程中能将他们的共性特征充分利用起来,向他们传递学习理念时也应符合他们的心理特征,而不能一味地“说教式”的传达。
(2)对教学大纲应进行细致化的设计,即要根据实验条件和知识的特点将授课内容划分为教师主导的内容和学生主导的内容。前者以教师讲授为主,后者则以学生操作为主。值得一提的是,本文所述教师讲授的内容并非教材中的概念和原理,而是指教师应围绕某个概念或原理设计相关的应用案例,在讲授过程中以应用为切入点,引导学生去思考解决这一应用问题所需要的知识,逐渐引出概念和原理。
(3)充分利用情景化教学软件或自行设计开发情景化教学软件,让学生通过操作和感观去理解教材中抽象的概念和晦涩的原理。在这一过程中,教师应充分了解和掌握已有的情景化教学软件,针对不同的内容采用最合适的软件,然后将操作权完全交给学生,让学生亲自去练习相关的知识点。
自我导向式情景教学方法的益处在于:①让学生参与到教学活动中,给予他们更多的参与权和控制权,使他们由被动地接受知识转变为主动地学习知识;②通过精心设计一些学生感兴趣的情景,可以激发学生兴趣和加强学生兴趣的培养,因为兴趣是思维发展的巨大动力,是最积极的内在学习动机;③通过情景教学方式,可以使教材中的抽象理论有形化和具体化,有助于学生理解和记忆。既可以提高学生的记忆效率,又能够启发学生的逻辑思维,拓宽学生的学习思路;④情景教学方法,有助于学生创造性地把书本知识转变为自己的智慧和能力,从而为培养出创造型、高素质的现代化人才奠定基础。
本文以数据结构中向链表中插入一个结点为例,介绍自我导向式情景教学方法的实施要点。按照传统的教学方式,教师通常采用黑板或PPT展示一下结点的存储结构,即数据域和指针域,然后讲授插入结点时插入点前后结点指针的变化情况,接下来便给出上述操作的算法伪代码,对代码加以解释便结束该部分内容的讲授。
按照本文提出的教学模式,整个教学环节则应按如下方式进行:
(1)先让学生通过情景化软件用数组的方式存储一个线性序列的数据,然后频繁地增加、删除线性序列中的数据,并要求他们观察数据在数组中如何频繁的移动,引导学生发现此种情况下数组存储结构的缺陷。
(2)引导学生在情景化教学软件中通过链表存储上述数据,链表的创建过程学生可以动态地实现,同时学生还能够观察创建过程中各变量的变化过程及代码的执行位置。
(3)待学生了解和掌握了链表的动态创建过程后,便要求他们去实现向链表中插入一个新的结点,并观察在链表中插入结点时的动态过程与(1)在数组中插入结点的动态过程有何异同,哪个效率更高?
(4)学生通过实际的情景化操作,一方面对教材中抽象的概念有了非常直观的认识,另一方面也能够容易地比较出各种算法的优缺点。
(5)最后,教师针对学生实际操作过程中的疑问及教材中的相关概念和基本理论进行必要的讲授,如此教学模式达到了事半功倍的效果。
①自我导向学习理念适合当前以90后为主体的大学生的心理需求,能够使这一群体的共性特征得到充分的发挥。②情景教学方法能够使学生对抽象的概念、算法和基本原理等快速地理解,极大地提高了学生学习的积极性。③教学案例表明,以学生为主导的自我导向式教学模式,能够使学生由被动地接受者转变为主动地学习者,在心理感受上产生一个根本性的改变,为推动当前教学改革提供一个新的思路。
[1] 严蔚敏,吴伟民.数据结构[M].北京:清华大学出版社,2001.
[2] Tennant,Mark.The Staged Self-Directed Learning Model[J].Adult Education Quarterly,1992,42(3):164 -166.
[3] 高翔.用Java多线程实现数据结构算法动态演示[J].北京联合大学学报,2002(6):63-66.
[4] Dershem,H.L.,McFall,R.L.,Uti,N.Animation of Java Linked Lists[J].ACM Sigcse,2002(3):53 -57.
[5] 李再友.情景教学在高职软件开发教学中的探索与应用[J].科学咨询:科技管理,2010,22(8):110-111.
Application of self-directed scene teaching method in data structure courses
GUO Hai-feng
(College of Information Engineering,Zhejiang University of Technology,Hangzhou 310023,China)
This paper examines the traditional teaching concept and modes from the angle of current college students'psychological need.Aiming at the abstract and obscure courses of science and engineering major,it presents a student-centered concept of self-directed learning method and designs the scene teaching methods to practice it,which makes students have more rights of participation and control in teaching activities.And the role of students transfers from passively accepting knowledge to actively learning knowledge.The brand-new teaching mode provides references for promoting the reformation of teaching methods.
data structure;scene teaching;self-directed learning
G642
A
1009-3907(2011)04-0084-03
2010-12-27
国家自然科学基金项目(50908213)
郭海锋(1977-),男,吉林松原人,讲师,博士,主要从事智能信息处理、智能交通方面研究。
责任编辑:刘 琳