数据结构中教学改革论文
1教学内容组织
《数据结构》课程教学内容可以分为三个层次:数据模型、算法设计以及应用实现。数据模型包括各种数据结构及其表示和实现,包括线性结构、树型结构和网状结构;算法设计是伪码算法,是最后解决问题的程序原型;应用实现则是算法的具体编程实现。通过对课程内容进行优化和重组,注重理论知识的教学方法,加强工程实践课程,力求做到提高课堂教学质量、加强知识的实践性、工程性和科学性,培养社会需求的工程人才。教学内容的分层设计使得教师容易从更高层次把握这些内容的地位和作用,引导学生理清数据结构这门课程的学习思路,强调理论与应用并重,掌握程序设计的全过程。改变过去一味重视基础理论、算法设计、忽视程序编写、应用的状况。
2教学实践改革
CDIO是“做中学”原则和“基于项目化教学”的几种体现,建构主义学习理论认为,知识不是通过教师传授得到的,而是学习者在一定的情境下,借助他人的帮助,利用必要的学习资料,通过意义建构方式获得的[1]。项目教学法与建构主义学习理论都强调以学生为中心,强调真实任务或活动的重要性[2]。结合《数据结构》课程自身的特点,在教学中按照从问题到程序的项目设计思路,从以下四个步骤逐步引导学生学习:①建立数据结构模型,设计抽象数据类型;②算法设计;③实现抽象数据类型;④程序编写与调试。与该知识框架相对应,我们提出了该课程的能力培养目标,主要包括以下几个方面的能力:①软件需求分析与结构设计能力;②实现方案设计能力:③编写代码和项目测试能力;④学生的团队协作和沟通能力。图1为项目能力培养框架,围绕课程基本理论,通过引入项目教学,对各个阶段学生能力培养目标进行剖析,提出了基于CDIO的教学改革措施,包括以下几个方面:
(1)课程应用与发展综述《数据结构》课程内容枯燥乏味,在引导学生进行学习的时候,激发学生的学习兴趣、提高学习积极性就至关重要了。我们要求学生查阅资料,了解本课程当前的应用情况及发展状况,并撰写综述报告。通过这种方式,学生认识到该课程在本专业知识体系结构中的重要地位和对提升编程能力的核心作用,以及课程在现实系统中的应用情况,只有认识到这几点,学生才能有学习的主动性和积极性,此外,通过这种方式,可以训练学生的文献综述的写作能力。
(2)项目驱动的理论教学项目教学法是一种基于构建主义理论的探究式学习模式,将教学内容融入一个个小型项目的真实情境中,以学生的自主性、探索性学习为基础,由教师引导学生来实现项目。这种方法将过去的“知识传授为目标的”传统教学模式改为以“知识传授为载体,以能力与素质培养为主要目标”的新模式[3]。基于CDIO的《数据结构》的教学要求立足项目的生命期来展开,以项目为载体,教学活动围绕项目来展开,从基本理论入手,培养学生的算法设计技能,编程能力以及团队协作能力。为此,本文设计了基于CDIO的《数据结构》课程教学体系。课程围绕几种数据结构展开教学,每个知识点设置一个相应的项目,并根据项目设置理论教学环节。这种将项目融入到各个知识点中的教学思想,让学生从主观上对《数据结构》课程有一个感性的认识的同时,还使得他们在任务驱动下学习相关理论知识,提升编程能力。这点正符合项目教学、任务驱动的课程体系改革的目标。
(3)分层次的实践教学实践教学环节对提升学生编程水平起着至关重要的作用,因此,合理设计实践教学,能起到事半功倍的作用。结合学生学习的特点,我们将实践教学环节进行分层设计:第一,基础实验:即将课堂教学中涉及的算法通过编程来实现,这有利于学生掌握程序设计的基本技巧。第二,开放性实验:要求组建学习小组,各小组选择或自拟一个题目,遵循软件设计思想来完成一个软件项目。包括:程序的构思—模型建立、设计—算法设计、抽象数据类型实现、实施—应用程序编写、运行—程序测试、展示和书写文档。通过项目实施训练学生的工程意识和程序开发能力。
3教学方法改革
(1)项目驱动教学
首先使学生对每种数据结构在现实中的应用有一个清晰的认识,在任务的驱动下激发学生的求知欲,改变学生的学习状态,主动去探索、去学习。与此同时,教师在教学时,始终围绕项目开展教学,通过对项目进行分析,引导学生认识到用现有知识结构去实现该项目存在的问题,自然而然地将学生引入到崭新的知识领域,从而帮助学生拓宽视野。以问题的形式,启发学生思考实现的方法,学生在这种学习环境下,能认识各个知识点在现实中的应用,因而获得学习的动力,化被动学习为主动学习,并将学习的目标从对理论的理解转化到具体的实现上来,以此来提高自身程序编写的综合素养。
(2)分组教学法
在实践教学中,采取项目组的形式,将全班学生分成几个项目组,一般4~6人为一组,完成一个自选项目,每个组配有一个组长。从项目的分析、抽象数据类型的定义、算法设计到编程实现及最终测评,全部由组长负责组织各项学习活动,组员协作完成。教师在项目实施过程中充当总工程师的角色,有目的地引导学生发现新知识,解决处理项目中遇到的困难,培养学生团队合作、解决问题等综合能力,提高了理论水平和实践操作技能[4]。
(3)互动式教学法
在项目教学中,学生代表将对每个项目的实施过程制作相应的文档,上讲台讲解,并与大家进行交流讨论,以此强化学生的质量意识,促进相互学习。同时,为了提高实践效果,教师应对软件编写的每个环节严格把关。每个小组应派出代表在班级汇报程序设计的进展及思路,以及每位学生在设计过程中充当的角色和承担的工作,并展开讨论,这样可以在一定程度上减少搭顺风车的现象,同时通过让学生参与教学的各个环节,提高学生的学习积极性。
(4)网络教学法
利用现代化信息技术服务教学是当前教学改革一个主流趋势。在《数据结构》的教学中,除了课堂教学以外,我们应充分利用现有环境给学生提供更为丰富的教学资源。针对重要知识点,制作视频教程,通过网络教学平台共享,使得课堂教学能顺利围绕项目的实现来展开。此外,通过网站的在线答疑、留言板等功能,搭建了一个学生之间、师生之间的交流平台,及时帮助学生解决学习中的各种问题,提高了学生的学习自主性。总之,教学方法的改革旨在提高学生项目实践能力、自主学习的能力和团队协作的能力。
4考核形式改革
要保证教学效果,考核形式就不能局限于单一的期末考核方式,必须有一套合理的考核标准。CDIO标准中,要求学生的基本个人能力和人际能力、产品、过程和系统构建能力以及学科知识都要融入到专业考核之中,通过多元化的考核机制,不仅能测评学生对理论知识的掌握程度,更能对学生的探索性、分析问题能力、工程能力进行全面的评估。本课程的考试改革方式如下:①平时成绩,占20%,包括课堂纪律、出勤及微型项目完成后提交作业的完成情况;②项目成绩,占50%,由项目小组长与组内成员根据成员在项目中做出的贡献和团队合作态度和能力以及创新能力来共同评定,要求项目小组对项目进行总结,各成员陈述自己完成的工作和收获;③期末成绩,占30%,由于该课程要求学生不仅掌握程序设计的基本思路,还要求具备程序实现的能力,在此,将期末考试通过上机方式进行考核,主要考察内容包括基础理论、算法设计以及程序编写能力。这种考核方式将考核贯穿于整个教学过程的始终,有利于控制每个教学环节,有利于提高学生学习的自觉性和主动性,有利于培养学生团队协作、沟通能力,避免了突击应付考试的现象,能显著提高教学效果。
5CDIO教学实施中应注意的问题
通过在教学中引入CDIO的思想,使学生不仅能了解软件项目的设计流程,而且还能掌握本课程的主要知识和软件开发技术,并逐步形成软件开发能力。但是,项目的实施却不是纸上谈兵,需要教师精心设计每个教学环节,除此之外,我们认为,CDIO教学实施还需要注意以下几个方面的问题:(1)教师应提升自身的项目经验教师应参加项目实训,提升自身的项目经验,这样才能在教学过程中做到有的放矢、游刃有余。教师在教学实施过程中,要注意把握指导的尺度,有效引导学生,既不能完全掌控实施过程,也不能放任自流,应将教师指导与鼓励学生主动性、创新性有效结合起来。(2)注重课程之间的横向联系要开展企业的工程项目,仅具备《数据结构》课程知识,是做不到的,特别是面向对象程序设计,所以,需要学生将相关课程有机联系起来。(3)学生应充分发挥主观能动性在学习中提倡“自主设计、自己动手、自由探索”,提高学生分析、解决问题的能力,还要鼓励学生积极参与项目小组活动,将个人职业技能与小组协作能力紧密结合,不断提升CDIO工程能力[5]。
作者:陈红琳 单位:安徽财经大学管理科学与工程学院
本文html链接: http://www.istpei.com/qkh/46579.html