刘俞,王芳,陈永平,苏新
(1.马鞍山职业技术学院计算机系,安徽 马鞍山 243031;2.马鞍山师范高等专科学校基础部,安徽马鞍山 243000)
数据结构教学改革研究
——“七步骤三阶段”项目导向教学模式*
刘俞1,王芳2,陈永平1,苏新1
(1.马鞍山职业技术学院计算机系,安徽 马鞍山 243031;2.马鞍山师范高等专科学校基础部,安徽马鞍山 243000)
针对传统的数据结构课程教学中存在的问题,提出了“七步骤三阶段”项目导向教学模式.“七步骤”即项目开发的七个步骤:分析任务需求;提出解决方案;模块划分;算法设计;代码设计;调试和测试;结果分析和总结.“三阶段”即将项目导向教学过程划分为如下三个阶段:第一个阶段由教师讲解项目开发的所有7个步骤;第二阶段由教师讲解前3个步骤,学生完成后4个步骤;第三阶段由教师提出任务,所有的7个步骤由学生自主完成.阐述了该模式在课程教学中的实施过程,并给出一个实际教学项目加以分析说明.实践表明,这种教学模式有利于培养学生的实际应用能力和创新能力,全面提高了教学质量.
数据结构;项目导向教学模式;教学改革
数据结构是计算机科学与技术专业的重要理论技术课,它不仅是计算机学科的核心课程,也是其他理工专业的热门选修课.在计算机应用领域的开发研制工作中,数据结构有着广泛的应用.
数据结构是一门较为复杂和抽象的课程.在传统的教学中,通常只注重课堂理论教学,在实践教学环节中,一般仅局限于课本上的小规模实验,这些实验与现实使用的情况脱节较大,因此实验效果比较差,这就导致了学生对所学的知识无法深刻理解,或学会了也不知道有什么用的情况,从而造成了学生对这门课程的学习兴趣与热情不高,因此,教学效果难以令人满意[1].
为了提高学生的学习兴趣,训练学生将数据结构中的知识用于复杂程序设计的技能,必须注重实训环节,让学生学了就去用,在设计过程中自己发现问题,利用学到的知识解决问题,加深理解所学知识的本质,使其在实践中真正掌握各个知识点[2].
在对数据结构传统教学方法的改革中,针对每个知识点设计了与实践接轨的项目实践环节,并大量用于教学过程中,具体做法是:在教学中以实际项目的分析与开发为主导,在其过程中融入理论教学,让学生在具体实践设计中充分理解和掌握各知识点[3].经过不断的实践训练,使学生充分掌握各数据结构及其算法,提高程序设计技巧,提高分析问题、解决问题的能力,从而取得高质量的教学效果.
项目导向教学模式,是指以实际工作实施项目为中心选择、组织课程内容,并以完成工作任务为主要学习方式的教学模式[4].该教学模式打破了原来课程的界限,将课程教学内容分割为与专业密切联系的实际项目与任务,引领教学过程,强调实训环节,设计学习过程于工作过程的职业环境中,将学生对知识的掌握程度提高到了实践这一层面.将课堂与实训基地一体化,实现“双教一体化”、“教、学、做”一体化同时进行,使得学生能真正进入到“在做中学”的理想学习环境中,全面提高学生的综合职业能力[5].
在教学过程中以一个实际的项目任务的分析与设计作为主线,融入相关知识点的理论教学以及相关的一些小型实验.在教学中项目任务的设计是严格以软件工程思想为指导,将开发过程分为7个步骤:1)分析任务需求;2)提出解决方案;3)模块划分;4)算法设计;5)代码设计;6)调试和测试;7)结果分析和总结.
将项目导向教学过程划分为三个阶段:第一个阶段由教师讲解项目开发的所有7个步骤,此阶段的目标为初级目标,是锻炼学生的理解能力,详细了解一个项目开发的整个过程;第二阶段由教师讲解前3个步骤,学生完成后4个步骤,此阶段的目标是中级目标,是锻炼学生算法设计、代码设计及调试与测试能力,达到程序员级水平;第三阶段由教师提出任务,所有的7个步骤由学生自主完成,此阶段的目标是高级目标,是锻炼学生整体项目开发的能力.经过这三个阶段的训练,使学生的能力稳步提高,最终能独立完成一个完整项目的开发,达到软件设计师级水平,为以后的学习和工作打下扎实的基础.
本课题主要针对每一章的知识点设计较大规模的实训项目,并且要求这些项目与实际生活贴近,从而充分调动学生进行实践的积极性,让学生在项目开发的过程中自己发现问题,利用学到的知识解决问题,加深理解所学知识的本质,使其在实践中真正掌握各个知识点.
在教学过程中针对每章的知识点都设计了三个项目,分别作为教学过程三个阶段的实施项目.三个项目由简单到复杂,而每个项目中各任务也由简到繁,逐步深入,每个项目完成后都达到了较好的效果.教学过程中设计的实训项目与教学内容的对照,见表1.
表1 实训项目与教学知识点对照
下面通过针对链表这个知识点的教学中所采用的一个项目实施进行分析.
在中大型超市门口一般都放置有很多存放包的箱子,顾客可以将不能带入超市的物品暂存在里面,购物结束后再取回,现在要求设计一套可行的超市顾客存物密码箱系统.
第1步:分析任务需求
顾客使用箱子的整个流程为“投一元硬币”——“找到一个空箱子,同时产生密码”(系统完成)——“打印密码,打开箱子”(系统完成)——“取密码纸存包,并关闭箱子,入超市购物”——“购物结束”——“输入密码”——“找到对应箱子并打开”(系统完成)——“取包”.
因为硬件条件的限制,可以通过设计程序模拟以上系统完成的功能:1)界面:在设计的模拟系统中,在屏幕上利用图形函数绘制出箱子并编号,空箱为蓝色,被使用时变为红色,再变为空后则恢复成蓝色;2)通过按“1”键模拟顾客投币;3)当空箱子被顾客申请得到同时,系统自动生成6位密码,此密码不能与正在被使用任何一个箱子的密码相同.
第2步:提出解决方案
利用链表来组织所有的箱子,所有的箱子以结点的形式表示,结点中存放有箱号、密码(满箱有,空箱无)信息以及下一个结点的地址.空箱结点放在一个链表L1中,满箱结点放在另一个链表L2中.
若有顾客投币(这里用按下“1”键模拟),查看链表L1是否为空,若为空,则显示“箱满,请稍候!”;若空,则取出一个结点,随机产生一个6位的数字密码,并将此密码和链表L2中所有结点的密码相比较,若有重复,则重新再随机产生一个新密码,直到无重复;将密码信息写入此结点,并将其插入链表L2;将此箱的颜色改为红色.
若有用户输入6位数字密码,若此时链表L2为空,则不予处理;链表L2不空,则将此密码和链表L2中的结点的密码依此比较,若没有找到与之相同的,则不予处理;若找到一个相同的,将此结点取出并插入到链表L1中,将其对应的箱子颜色恢复成蓝色.
第3步:模块划分
经分析,整个系统划分成5个模块,分别是:1)箱体界面图形绘制算法;2)开/关箱图形绘制算法;3)空箱链表的建立、查询、插入与删除算法;4)已用箱子链表的建立、查询、插入与删除算法;5)6位密码的随机生成与检测(防止重复)算法.
第4步:算法设计
根据上一步的5个模块,分别进行算法设计.
1)结点存储结构类型定义
第5步:代码设计
根据上一步的算法设计,编写代码,实现各函数功能,最后进行集成.
第6步:调试和测试
针对主要函数进行单元测试,集成后进行集成测试.
第7步:结果分析和总结
根据测试结果分析整个系统的实现过程、关键环节、不足之处与改进措施.总结链表这种数据结构及其操作在项目中的作用.
利用此项目的分析与开发作为作为教学的第一个阶段,能使学生理解链表的结构及作用,对链表的各种操作深入了解.随着第二阶段和第三阶段教学的完成,学生对链表的应用能力逐步提高,能做到熟练掌握并且在此基础上能够进行优化与创新.
通过“七步骤三阶段”项目导向模式的数据结构教学改革,激发了学生的学习兴趣和热情,循序渐进地提高了学生分析问题、解决问题的实际应用能力,同时也培养了学生的自主学习能力和团队合作的精神,锻炼了学生软件开发的综合能力,使学生真正成为教学活动的主体,从而提高了教学水平和质量,取得了显著的效果.在教学改革实施三年内,学生参加“计算机技术与软件专业技术资格(水平)考试”的一次性通过率保持在50%以上(程序员级)和30%以上(软件设计师级).同时,我院计算机系多名学生在全国软件设计大赛中取得了优异的成绩.在以后的教学中,将继续研究数据结构课程教学方法的改革,为培养高素质的技能型软件开发人才做出贡献.
[1]安训国,刘俞.数据结构[M].第3版.大连:大连理工大学出版社,2006.
[2]刘俞,景秀丽.数据结构实训与习题解析[M].大连:大连理工大学出版社,2006.
[3]李胜,黄玉明,刘俞,等.高职院校计算机基础课程教学改革研究与实践[J].安徽工业大学学报,2011,28(2):123-124.
[4]赵志群.对工学结合课程的认识[J].职教论坛,2008,24(2):9-10.
[5]揭安全,李云清,杨庆红,等.数据结构实践教学体系的设计与实施[J].计算机教育,2010,(11):85-86.
Study on Teaching Reform of Data Structure——Project-based Teaching Mode of Seven-Steps and Three-Stages
LIU Yu1,WANG Fang2,CHEN Yong- ping1,SU Xin1
(1.Computer Science Department,Maanshan Technical College,Maanshan Anhui 243031,China;
2.Foundation Department,Maanshan Teachers College,Maanshan Anhui 243000,China)
This paper advances a project-based teaching mode of Seven-Steps and Three-Stages in order to direct against some problems exsiting in the process of traditional teaching and learning of data structure.“Seven Steps”means the seven steps of project development including analysising requirement,providing solutions,partitioning modules,designing lgorthms,designing code,debugging and testing,analyzing and sumarizing the results.“Three Stages”means the three stages of teaching process.The firsr stage is that the teacher explains all of the seven steps of this project development.The second stage is that the teacher explains the first three steps,the other four steps are finished by students.The third stage is that the teacher offers the challenge and all the steps are finished by students.This paper elabrates this mode is be implied in the teaching course and gives a practical teaching and learning project which analyses and explains this mode.The practical results show that the teaching mode can train students'practical ability and innovative ability.Consequently,this mode can improve the teaching quality.
data structure;project-based teaching mode;teaching reform
G 642
A
1673-2103(2012)02-0127-04
2012-03-11
马鞍山职业技术学院教科研项目(X200707)
刘俞(1976-),男,辽宁省沈阳人,讲师,硕士,研究方向:嵌入式系统,计算机应用技术.