面向“专升本”学生的《数据结构》课程教学改革的探讨

2015-05-30 11:16鲁斌刘昌余
软件工程 2015年11期
关键词:专升本数据结构教学改革

鲁斌 刘昌余

摘 要:本文结合笔者在针对专升本学生讲授《数据结构》课程的一些心得体会,根据专升本学生的特点,从教材选取、先修课程巩固、学生学习兴趣激发、问题驱动教学法、实践环节设计与考核方法等方面对数据结构课程教学改革提出了一些个人的建议和意见,希望能对该课程的教学改革起到积极的参考和促进意义。

关键词:数据结构;专升本;教学改革

中图分类号:G642 文献标识码:A

1 引言(Introduction)

《数据结构》是计算机科学与技术专业课程体系中一门非常重要非常核心的专业基础课程,属于专业理论性和技术性都很强的课程。数据结构这门课程主要介绍了软件设计中经常会遇到的线性表、堆栈、队列、串、数组、树、图等典型数据结构的设计方法,以及各种经典的排序和查找算法,它要求学生掌握几种基本数据结构的逻辑结构、存储结构和对应操作的实现方法,并且要学会考察各种算法的复杂度。作为与专业知识、技能直接联系的基础课程,数据结构一直受到很高的重视,它是算法分析与设计、数据库原理、操作系统、编译原理等课程的先修课程。数据结构一般是低年级学生的必修课,课程内容以抽象数据类型为基础,因此,学生学起来很吃力,老师教起来也费劲。如何教好这门课,是对任课老师的一个巨大考验。统招专升本学生多是通过各省统一考试而选拔上来的优秀普通全日制专科毕业生,尽管在自己的专科同学中属于比较优秀的群体,但是相比全日制普通本科生,似乎在学习上或多或少会差一点。笔者教过数据结构这门课,授课对象正是本校的统招专升本学生,结合自己在教学中的一些体会,谈一下对数据结构教学的一些认识。

2 教学中专升本学生的特点(Characteristics of

Students of "college to undergraduate" in the

process of teaching)

《数据结构》一向是计算机专业教学中的一个难点,而笔者教过的专升本学生对这门课普遍反映难度很大,总感觉听不懂。经过调查和了解,这些专升本学生的学习情况归纳为三个方面。

首先,学生的学习基础不齐,差别较大。现在很多大学已经不再招收专升本的考生了,而有些学校即使招收专升本的考生,但是竞争激烈、考上的难度很大,因此,一些有志于深造本科的高职生为了保险起见就报考了笔者所在的学校。笔者教过的这些学生中有很多来自于周边各种职业学院毕业的学生,甚至有省城职业学院的毕业生。还有一些学生本来是不想读这个专业的,另外还有一些学生在原来高职学校的专业并不是现在所读的专业,但是当他们报考本校的时候,发现本校招收专升本考生的专业里没有他们的原专业或想读的专业,而最相近的就是现在这个专业,他们不得不报考了现在这个专业。此外,也有的学生是已经专科毕业之后工作两三年了才又来读的。由于学生及专业的来源不一致,这些学生在同上一门课的时候就显得基础参差不齐。

其次,一部分学生的先修知识储备不足。现在的高职教育实际上是以“理论够用”为教学原则,侧重于实操。因此,一些专升本学生掌握的基础理论知识及其熟练程度无法与正规本科生相比。他们可能轮番学过Java、C++、PHP、VB或C#等流行的编程语言,也可能学过Photoshop平面设计、网页设计或计算机维护维修等应用型的课程,却可能没学过离散数学或线性代数等数据结构的先修课程。

再次,专升本的学生比正规本科生认真。笔者同时教过专升本的学生和正规本科生,专升本的学生学习态度要认真得多。总体来看,专升本学生上课听讲比较专心,尽管也有不听讲的学生。如果在课堂上遇到没听懂的问题,下课后也有不少同学会围着老师问问题,直到他们搞明白为止。老师布置的课后作业,他们也完成地很好。迟到、早退和旷课的现象也较少。可能是因为这些学生经历了高考却只读了高职,现在终于读上了本科,所以特别珍惜这次教育机会吧。相比之下,从高考直接考上来的全日制本科生就表现得非常自由散漫。

3 教学改革中的几点建议(Some suggestions on

teaching reform)

(1)选取合适的教材

当前,《数据结构》教材多不甚数,有采用C语言描述的,也有采用Java或C++语言描述的。受社会潮流影响,正规本科生的教材多选择Java或C++等面向对象的语言来描述的。然而,因为各个职院课程设置的不同,来自于各个不同高职院校的学生可能有的学了Java语言而没学C++,或者反之;还有些非计算机专业的学生可能没学过这些当前流行的基于面向对象思想的编程语言。因此,建议对专升本学生一律要采用C语言描述的教材。C语言作为一门简单的入门级教学语言,工科专业的学生多半都学过。并且,在学校招收专升本学生的时候,也都会考C语言程序设计的。

此外,数据结构经过这么多年的发展,内容相对固定,知识点变化不大,因此,市面上各版本的教材大同小异。然而,目前认可度高的好教材都是针对重点大学的本科生而编写的,不太适合介于普通本科生和高职高专学生之间的专升本学生。专升本学生的合理定位应该是应用型本科生,而应用型本科是最近几年才被提出来的新事物,确实鲜有合适的课程及教材可供参考。从目前情况看,要么自己编写教材,要么就低不就高,只能选取面对高职高专学生的教材用于教授那些专升本学生。

(2)巩固先修课程的基础

每个学校都会根据自己的专业设置而制定相应的教学计划,什么时候上什么课程都严格按计划执行,以保证学习的连贯性。数据结构的先行课程是离散数学、C语言程序设计等,学生对C语言等课程的掌握程度直接影响到数据结构的教学效果。而在数据结构中用到的C语言知识点主要是数组、指针、函数和结构体等[1],这些知识点本来就是C语言的难点,往往放在C语言课程的后半段,而老师一般会把主要精力放在前半段的基础知识点上,因此,有些学生可能对这些在数据结构中用得较多的知识点不熟悉,甚至就没学过。这要求我们讲授数据结构的老师要给学生补课了,帮助学生巩固好这些先修课程需要用到的知识点。毕竟我们教的是数据结构课程,要补上程序设计语言的课程,既要占用数据结构的课时,又要额外花时间精力备课,因此对老师来说还是要付出很多的,对数据结构的教学进度也会有很大的影响。这个时候就只能把先修课程的必要知识点纳入到本门课程的教学计划中,给学生多讲解一些这方面的内容,对本门课程的内容有所侧重或舍取,否则,会影响本门课程的教学和学习效果。

(3)激发学生的学习兴趣

学生对数据结构这门课的畏难情绪很严重,有的学生认为数据结构比数据库原理、操作系统更难。这种畏难情绪会影响学习数据结构的兴趣,甚而产生学习上的心理障碍。数据结构的理论非常抽象,老师讲解起来比较枯燥乏味,教学难度较大,学生听起来也可能不易理解,难以提高学习兴趣。教师对教材的讲解时一定要做到层次分明、条分缕析,并且在讲授过程中可以穿插一些数据结构相关名人的传奇人生及生活逸事,以此提高学生兴趣。还有其他的方法激发学生的学习兴趣,比如,教学中采用案例说明时,尽量选取一些贴近生活的例子;在每个数据结构及其操作介绍完成后,利用源代码演示相关过程及结果。通过多种手段,使得学生的学习兴趣得到提高。

(4)问题驱动教学法

数据结构比较正统的讲授模式下,大部分老师按照“逻辑结构→存储结构→操作方法→编程实现”的流程讲解[2,3]。尽管这也是一种循序渐进的讲解方式,但是学生并不能深刻理解数据结构的现实意义和应用价值。如果教师换一种讲解的思路,按照“问题定义→算法设计→选择数据结构”的流程讲解,能帮助学生很快抓住数据结构的精髓,了解算法与数据结构之间的关系。事实上,这种讲解的流程更加符合人类的思维过程。

(5)实践环节的设计

实践环节主要培养学生的动手能力的,当前数据结构的实验课还是使用控制台程序界面,本身就比较枯燥无趣了,在实验内容的安排上不宜再一板一眼地要求实现某个数据结构的操作了。与问题驱动教学法一样,可安排一些现实生活中的简单问题用于学生实验。比如,可让学生利用线性表两种不同的存储结构分别设计出成绩管理系统,并比较使用不同存储结构的区别。成绩管理是学生最熟悉的内容,这样的实践课有助于培养学生对于真实事物的抽象能力和逻辑思维能力。

(6)考核方法

我们对普通本科生的考核一般是三七开,平时成绩占总成绩的百分之三十,期末考试成绩占百分之七十,而平时成绩包括迟到、早退、旷课等平时表现和实验实践课的考查。对于专升本的学生来说,既然他们存在着理论基础薄弱的先天不足,可以把考核向实际动手能力倾斜,即提高平时成绩中实验实践课在总成绩中的权重。

4 结论(Conclusion)

尽管数据结构课程比较难教难学,但也并非高不可及。在教学实践中不断摸索,不断总结,持续改进教学理念和方法,发展出一套适合专升本学生的教学模式,提高学生的逻辑思维能力和实践动手能力。唯有这样,才能较好地完成数据结构这门课程的教学任务,才能使得教育质量和教学效果得到持续提高。

参考文献(References)

[1] 刘兴林.大学工科C语言程序设计教学探索与实践——以五

邑大学为例[J].软件工程师,2014,17(5):39-40.

[2] 吴英杰,王一蕾,王晓东.面向问题求解的实践教学模式:算法

与数据结构实践教学改革[J].计算机教育,2007,(7):29-31.

[3] 樊俊青,等.高职高专院校数据结构与算法教学改革与实践

[J].计算机教育,2010,(16):17-20.

作者简介:

鲁 斌(1977-),男,博士,讲师.研究领域:复杂网络,软件

开发.

刘昌余(1984-),男,博士,讲师.研究领域:事件检测,计算

机应用.

猜你喜欢
专升本数据结构教学改革
山西省2019年专升本选拔考试 现代汉语
2017年-2018年专升本院校录取分数线
山西省2018年专升本选拔考试 大学语文
2019年山西省普通高校专升本考生体格检查表
基于人才培养的技工学校德育实效性研究
现代信息技术在高职数学教学改革中的应用研究
以职业技能竞赛为导向的高职单片机实践教学改革研究
微课时代高等数学教学改革的实践与探索
“翻转课堂”教学模式的探讨——以《数据结构》课程教学为例
高职高专数据结构教学改革探讨