数据结构项目实训的教学研究
2018-01-31史洋杨芙容张雅茜
史洋 杨芙容 张雅茜
摘 要 数据结构作为计算机程序设计的重要技术基础,是每一所高校计算机和软件工程方向的计算机核心必修课。本文主要通过分析数据结构课程教学中存在的问题,在这门课程的教学过程中加入一种新的教学模式—项目实训,通过介绍其教学实施过程,分析能够获得的教学效果,得出项目实训具有重要的实践意义和良好的教学效果。
关键词 数据结构 项目实训 银行排队系统
中图分类号:G642 文献标识码:A
0 引言
随着信息智能时代的到来,软件日益改变着人们的工作和生活的方方面面,现今社会对软件产业的强大需求以及良好的工作待遇水平,促使越来越多的人加入到软件行业。作为软件行业的共同基础——数据结构,具有举足轻重的地位,但是由于其理论算法的晦涩难懂让很多学生吃尽苦头。如何让学生脱离枯燥的理论学习,如何能够激发他们主动学习的兴趣和不断探索的热情,这都成为当前教学的研究内容之一。本文提出的项目实训在数据结构课程的应用是经过在教学中实践验证的,具有良好的教学效果。
1 数据结构教学存在的问题
目前大多数高校的数据结构课程都是理论和实践相脱离,也就是课堂上只讲授理论内容,只有在实践上机的课程上才让学生通过编程练习操作。这样的教学方法存在如下问题:
1.1理论内容的晦涩难懂
数据结构主要讲解几种主要的存储数据的结构模型和常用的排序查找算法,現有的大多数教材尤其是最著名经典的严蔚敏教授编写的数据结构教材,内容上和文字语言上清晰透彻,但是大多数学生初次接触大都感到学习异常吃力,主要是因为一方面数据结构内容本身比较抽象,需要具备一定的逻辑思维能力,另一方面教材内容较为完整的样例比较稀少,学生不能直接从代码运行中体会各种数据结构的应用,从而造成学习上的被动。
1.2单一学习的效率低下
目前大多数院校的教师讲授主要以理论教学为主,在课件上讲解理论内容,有的教师甚至从来没有在代码中实现过数据结构的知识点,课后仅仅布置纸质作业去复习巩固理论内容,期末考试又是仅仅考试理论内容,很少或者几乎没有上机操作的环节,没有在真实的案例项目中去体会数据结构的重要意义和强大功能。这样单一的学习模式往往会造成的结果就是学生的学习兴趣不高,缺乏学习的主动性和积极性。
1.3工程应用经验的缺失
计算机和软件工程方向学生将来毕业,主要面向的是软件开发公司或者高校继续深造,无论哪一个选择都需要学生本身具备一定的动手能力和编程工程经验。现有的教学模式仅仅关注数据结构理论内容的重要性,忽视了其在工程应用的重要实践意义,造成了学生面向社会、面向工作时的纸上谈兵,面对具体问题时不知该如何入手,严重缺乏工程应用的经验,不能将所学的数据结构的内容应用到遇到的问题中。这样的人才在竞争时会明显感受到有工程经验的竞争者的压力。项目经理和导师一般也比较注重有开发经验的学生。
2项目实训在教学中的功能作用
通过分析上述在数据结构教学中存在的若干问题,本文鉴于之前在公司中参与了几所地方大学的暑期项目实训的真实案例,提出建议在数据结构中引入项目实训的教学,并且可以投入合适的课时量来保证教学,这样的教学会达到事半功倍的良好效果。项目实训的实施过程如下:
首先数据结构的课程组教师根据数据结构的内容,结合实际的工程经验制定出合理的项目实训题目,例如:银行排队系统,该项目主要练习数据结构中的线性表和队列,可以模拟真实的银行排队取号叫号过程,在项目中引入Socked通信编程(超出学生能力的内容可以由教师统一讲解),实现多客户端/服务器模式的联网通信,模拟出普通客户、VIP客户、银行柜员、银行经理等角色,普通客户、VIP客户可以依次取号,但是VIP客户可以优先得到服务,多个银行柜员可以同时从服务器中叫号,经理可以实时查看服务器中的数据,监测当前的服务情况等需求。这是一个真实的案例,通过几天简短的实训,能够让学生组队合作完成这样一个比较综合又完全依赖数据结构中的线性表和队列等知识点的项目,这样的学习经历会极大的调动学生的学习热情。
然后在项目实训的过程中,按照企业的软件开发流程,要求学生依次做好如下工作:需求分析、概要设计、详细设计、测试用例、项目日报,这些文档能够帮助学生建立起较为完整的软件开发流程,培养他们的软件开发经验,不再是仅仅实现一个排序或者查找等简单单一的操作,而是一个较为系统的完整案例。
最后可以组织一个项目答辩,由几个教师组成一个答辩评审组,每一个小组的学生组队答辩,模拟企业软件开发的过程,讲解本小组的银行排队系统的设计思路和实现过程,介绍下系统功能的架构,各个模块的流程和项目存在的特色,不但可以学习到数据结构的理论的应用,而且可以培养团队合作能力和自我表达能力,对于日后找工作和深造考试的答辩环节都是一个很好的锻炼。同时项目答辩的成绩完全可以作为数据结构课程期末考试的总成绩的一部分,这样可以起到良好的督促效应。
3总结
项目实训是最近几年较为流行的一种教学模式,这种贴近生活和工作,将枯燥的理论学习转变为生动的案例教学,能够在很短的时间内极大的激发学生的学习激情和动手能力。不但让学生脱离了单一的理论学习,而且找到了一条学以致用的学习手段,通过在几所地方大学参加暑期实训,明显感受到这种学习模式的优越性,建议项目实训可以在授课环节中制作多个较小的案例项目,在学期即将结束的时候制作一个较为综合的案例项目,可以对数据结构的教学起到非常有益的促进。
参考文献
[1] 毛养红.浅谈《数据结构》教学[J].中国科技信息,2009(03).
[2] 汤伟.《数据结构》和《C语言程序设计》新教学模式研究[J].科技资讯,2017(24).
[3] 许斌,郭阳.双层阶段式教学目标设定法[J].高教学刊,2015(07).endprint