首页 > 范文大全 > 正文

西部地区CDIO理念下的数据结构与算法课程建设

开篇:润墨网以专业的文秘视角,为您筛选了一篇西部地区CDIO理念下的数据结构与算法课程建设范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:针对西部地区数据结构与算法课程的特点,讨论分析如何实施cdio人才培养理念,强化教学活动中的“教、学、做”合一,指出教师的“教”是前提、学生的“学”是主体、学生的“做”是实践,介绍本课程组教师在数据结构算法课程建设中的措施、方法以及取得的成效。

关键词:CDIO;数据结构与算法;创新能力

0.引言

当今世界已进入信息化、网络化时代。西部地区特别是青海作为经济欠发达地区,实现青海省对信息化人才培养提出的“以培养应用型人才为目标”,已成为一个重要的研究课题。计算机科学与其他学科之间的互相渗透与融合对复合型人才的需求日益增加,从科学技术发展方向和构建复合型人才知识结构的角度出发,我们开设了数据结构与算法课程。该课程所讨论的知识内容和提倡的技术方法,无论对进一步学习计算机领域的其他课程,还是对从事软件工程的开发,都有着不可替代的作用。2010年10月,数据结构与算法课程被列入青海大学2010年学校重点建设计划。为了实现青海省对信息化人才的培养目标,我们将CDIO理念引入数据结构与算法课程的建设中。

1.CDIO与课程的定位

CDIO工程教育模式是一个崭新的教育模式,是近年来国际工程教育改革的最新成果,包括个人所具备的科学和技术知识以及终生学习、团队交流、系统协调等方面的能力。CDIO代表构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate),从“培养什么”和“怎样培养”两个根本问题出发探索教育问题,以产品研发到产品运行的生命周期为载体,旨在培养大学生的实践能力和创新精神。

数据结构与算法课程是计算机科学课程体系中核心课程之首,作为学科的专业基础课,具有承上启下的重要作用。这门课程既包含较多的抽象概念、算法和编程思想,又包含许多前驱课程的知识,还对程序实践有一定的要求,因此该课程的教学难度很大;而学生在学习过程中经常感到困难,甚至产生厌学情绪。此外,学生对前导课程程序设计基础I、程序设计基础II学习得不够扎实,尤其对结构体、指针这两种数据结构与算法课程中常用数据类型的认识和理解不够透彻,这就需要我们在数据结构与算法课程教学过程中,通过具体实践来弥补。在数据结构与算法课程的传统教学模式中,一般都存在“重理论讲解、轻实践应用”的现象,教学难度大,学生感到在课堂上似乎听懂了,但是又难以运用学过的知识解决具体问题,其中一个重要原因在于理论教学难以系统化表达理论的适用环境和应用效果。久而久之,有的学生对学习逐渐失去兴趣,这严重阻碍了学生专业素质、应用能力以及创新能力的提高。

“纸上得来终觉浅,绝知此事要躬行”。课程组教师以CDIO教育理念为指导,以“提高课堂教学质量和效果,加强学生的实践动手能力”作为突破口,将课堂教学与实践教学融为一体,让学生在做中学,目的是充分调动学生的学习热情并激发求知欲望,提高和增强学生的实践能力、社会适应能力以及创新能力,从而使其适应新经济条件下社会对信息技术人才的需求。

2.数据结构与算法课程建设

数据结构与算法课程的内容可以从概念表述、数据模型、设计算法3个层面描述,同时也显示了该课程的3个阶段:数学模型抽象数据类型数据结构与算法。课程组教师按照CDIO理念中“构思设计实现运作”的过程,首先提出将“建设优秀的教师队伍,组织合理的教学内容,采用科学的教学方法,培养高素质的应用型计算机人才”作为课程建设的目标;然后紧扣课程教学改革发展方向,充分体现现代教育思想,制定并修订该课程的教学大纲;最后形成80学时的教学计划,其中包括48学时的课堂讲授,32学时的实验,实验课包括基础实验和课程设计。数据结构与算法课程建设过程主要从教师队伍建设、课堂教学、实验与课程设计、学生自主性学习等方面开展。

2.1教师队伍建设

为保证数据结构与算法课程及实践教学环节的教学工作,我们经过几年实践,已形成由5名教师组成的授课团队,他们承担该课程的讲授和课程设计指导工作。课程组教师中有副教授1人,讲师4人;30岁以上教师2人,20-30岁教师3人;博士1人,硕士研究生4人。教学梯队的学历结构、年龄结构、职称结构基本合理。年轻的教师队伍表现出较强的团队精神,具有良好的敬业精神,是一个团结向上的集体,能够保证各项教学工作顺利进行。

课程组教师抓住清华大学对口支援的帮扶契机,跟随清华大学计算机科学与技术系教师进行数据结构与算法课程的单科进修学习。在进修学习过程中,课程组成员以清华大学的数据结构与算法课程教学大纲和计划为基础,以CDIO教育理念武装自己,结合青海大学计算机技术与应用系的生源、目标和资源实际情况,与清华大学教师进行多次讨论,制定了较为符合青海大学计算机技术与应用系学生的教学大纲和计划,为计算机技术与应用系的专业教学工作搭建了一个高起点的平台,实现了该课程教学“高起快走”的目标,从而极大地提高了课程组全体教师的总体水平。

课程立项以来,课程组教师多次拜名师,访名校,进行外出培训和交流。通过进修学习与交流,课程组全体教师提高了学术水平,更新了知识结构,在很多方面获得较大进步。教师队伍的知识结构越来越趋于合理化,课程组全部教师已经进入专业学术研究的团队之中。

2.2课堂教学

当今社会是一个多元化的社会,崇尚个性与创造,而学生的心理和学习习惯也是多样化的。在数据结构与算法课程的教学过程中,我们采用“指导一实践一反馈”的方式组织教学,注重启发学生思维,积极探索趣味教学法与基于项目导向的教学方法,以激发学生的求知欲,调动学生的学习积极性与主动性,引导学生自己发现问题并逐步解决问题,培养学生思考问题、分析问题和解决问题的能力。

1)趣味教学法。

在数据结构与算法的第一堂课上,教师可以跟学生一起回忆学生入学报到、就餐排队、加入学生会、去市里购物和每学期期末考试时的情景等。通过几位学生的发言,教师可以自然地引出这些活动与数据结构与算法课程的联系,如学生入学后填的学籍表可以用线性表实现;学生就餐时排队的过程可以用队列实现;学生会的组织机构可以用树实现;去市里购物乘车的路线以及花费的时间,可用图中的最短路径实现;而大家所关心的期末考试成绩的查询与排名情况,则可以通过查找和排序技术实现。

通过这样的提问与总结,我们向学生一一展示了他们身边的数据结构,让学生觉得该课程与他们的学习和生活息息相关。这也就引出了数据结构与算法课程的主要内容,从而激发学生的学习热情。我们在具体内容的讲解过程中,让学生参与其中,如讲排序时引入课堂角色扮演,这同时培养了学生的学习兴趣;在具体算法的讲解过程中,不仅介绍算法本身,而且通过形象生动的动画演示增强学生的感性认识。

兴趣是学习之母。趣味教学法可以使学生在一种轻松、愉悦的环境中学习,从而激发学生的求知欲,调动学生的学习主动性,帮助学生培养良好的学习习惯和养成浓厚的学习兴趣。

2)基于项目导向的教学方法。

在理论课的讲解中,主讲教师以学生成绩管理案例、景区旅游管理案例以及航空订票管理案例的工作步骤为主线,以项目工作任务为驱动,将数据结构与算法中的线性表、栈、队列、数组、树、图、查找与排序等知识点和一些方法、技能有机融合,让学生在问题解决过程中学习,从而真正做到通过学习该课程建立起数据结构和数据处理的概念,掌握数据逻辑结构分析、存储和算法编写的基本流程、步骤、内容及操作方法,具备完成相关工作的能力。

这种以项目为导向的教学方法既突出知识的应用性,又使得学生对项目开发工作的整体框架有更清晰的了解,可以对不同知识水平的学生,特别是青海少数民族学生,进行个性化培养,激发他们的学习热情,培养和锻炼他们的创新精神和实践能力,使他们都能在不同程度上得到提高和发展。这种教学方法能将书本上的知识变“活”,可以帮助学生更好地理解课堂教学内容,拓展知识面,延伸和扩展课堂教学,提高学生的抽象能力、思维能力、算法和数据结构的设计与分析能力,从而学会如何把从书上学到的知识用于解决实际问题,培养实践动手能力,充分体现CDIO理念。

此外,课程组教师还积极探索启发式教学法、互动式教学法、共性化与个性化相结合教学法,以激发学生的求知欲,调动学生的学习积极性与主动性,引导学生自己发现问题并逐步解决问题,培养学生思考问题、分析问题和解决问题的能力。在整个授课过程中,课程组教师注重在学生的平时学习与生活方面多给予关心和帮助,用爱心抚慰学生,用情感教育打动学生的心扉,这样,学生在不感到压力的情况下,在喜爱授课教师的前提下,就会乐于学习。

2.3实验与课程设计

我们在实验课中提倡同学之间相互指导,加强学习交流,引导大家分享学习成果,从而共同进步。在学生学习该课程的过程中,我们将全班学生分成若干个学习小组,每组3-4人,将班里编程能力好的学生分插到各组。教师在完成每章教学内容讲授后,除了让每名学生必须完成基础实验外,还会布置几道题,让学生分组讨论并在实验课上分组讲解,然后由其他同学提问,最后教师作总结。通过这样的锻炼,学生意识到有时只靠一个人的学习是不够全面、不到位的,同学之间必须互相学习,遇到问题互相协助,共同思考解决方案,这样才能真正地掌握解决问题的真本领。这种学习方式同时也提高了学生的团队合作精神,为后续的课程设计打下坚实基础。

在课程设计中,教师提供多个不同项目化的题目供学生选择,这样可以给予学生更广阔的思路实现课程设计的任务,从而达到巩固所学数据结构知识的目的。同时,题目多样化的方式也杜绝了学生之间互相抄袭现象的产生。学生以学习小组作为一个项目组,按照要求进行构思并共同商讨设计思路,然后进行算法设计,接着由项目组长组织分工,安排组员各自负责的部分,组员分头实现算法,最后项目组将各组员的算法实现部分汇总在一起,运作整个项目并撰写课程设计报告。在整个课程设计过程中,学生在完成自己负责模块的同时,还需要不断地参与讨论和设计其他学生的模块,通过这种方式使得自己可以在较短的时间内,对该课程的知识进行较全面的复习和巩固。

在验收课程设计时,教师会安排开展一个集研究、研讨、趣味于一体的数据结构与算法课程设计答辩会,并邀请系里教师作为嘉宾出席。整个活动由学生策划和设计并推荐主持人。在课程设计过程中,学生经过查阅资料、构思整体方案、算法设计、编码实现、调试运行和总结等环节并在整个过程中不断讨论和解决问题,每一个环节都可以锻炼学生的沟通、解决问题以及团队协作的能力,让学生受益匪浅。这些也充分体现了CDIO整个教育理念的核心内容。

2.4学生自主性学习

学生通过各种实践环节更好地理解了课堂教学内容,拓展了知识面,延伸和扩展了课堂教学,全面地提高了抽象能力、思维能力、算法和数据结构的设计与分析能力、科学报告的撰写和表达能力,同时在这个过程中也培养了独立分析实际问题的能力。此外,我们在作业批改过程中采用作业相似度检测工具,从而杜绝学生抄袭编程作业现象的出现,进而培养学生程序设计的实践能力。

实验与课程设计使学生不仅能够较早地了解计算机科学的最新发展方向和科学研究的方法,而且能够学会如何利用所学知识解决实际问题。对于教材未涉及的内容,学生通过自己查资料完成相应的数据结构设计,提高了文献查阅能力和科研能力。这种过程也真正体现了学生的主体地位,将被动学习和无兴趣学习转变为主动学习和积极学习的过程。此外,教师还让学生积极参与到教师的科研中,激发学生对知识的渴求,提高学生的学习兴趣。正是有了这些方面的能力训练,一些学生在大三还申请到了大学生国家创新性实验项目与青海大学创新性实验项目。

总之,通过CDIO理念下的实验与课程设计训练,学生提高了组织数据及编写大型程序的能力,复习和巩固了前导课程程序设计基础I、程序设计基础II。此外,学生在学习该课程的同时,还学习了Java程序设计课程。在数据结构课程设计环节,一部分学生还用Java语言实现编程,既巩固数据结构基础知识,又熟练地掌握Java语言,为大三上学期更好地学习本专业的课程打下良好基础。

3.建设成效

课程组教师对数据结构与算法课程进行了近2年多时间的建设,在充分把握国内外专业教育的最新动态、吸纳融合本学科最新研究成果和实践经验的基础上,不断更新和丰富课程内容并有效运用典型算法分析方法、多媒体教学等现代化教学手段和工具,最终在教学资源、教学方法、课程改革等多方面取得了可喜成绩。

在教学素材库建设方面,课程组教师完成了数据结构与算法课程教学大纲、课件、实验指导书的修订和习题库、试题库的建设;在教学改革与研究效果方面,课程组教师在2年内公开发表4篇有关教学改革和教学研究的论文,其中2篇EI检索,1篇国家核心,1篇省内核心;在申请教改项目及获批方面,申请并获批1项青海省教育厅教改项目,1项青海大学教改项目;在教师获奖方面,5名教师获得青海大学毕业论文(设计)优秀指导教师,1名教师获得青年教师小岛奖励金,1名教师获得“135高层次人才培养工程”创新教学科研骨干人才;2008级、2009级、2010级学生申请并获批3项国家大学生创新型实验计划项目、3项青海大学大学生科技创新基金项目及2项清华大学携手Google助力西部教育科技创新项目。

根据青海大学课程建设规划及课程建设管理办法,教务处对数据结构与算法课程进行验收评审。数据结构与算法课程顺利通过验收并获得“青海大学精品课程”称号,此外还被列入青海大学2012年学校重点建设计划项目。

4.结语

在数据结构与算法课程的建设过程中,我们深入体现和贯彻CDIO“做中学”的理念,针对教学设计、课堂授课、实践辅导、学生自我学习等环节进行课程建设,把握整体教学效果,最终以“做”衡量学生的水平,并且在整个教学过程中融入感情,实施和谐教育的教学方式。实践表明,这种教学方式能够激发学生的学习热情,开阔学生的创新视野,使其专业素养及团队合作等方面的能力得到提高,同时也增强了自信心和责任感。