林建宇
摘 要:《数据结构》在计算机课程体系中的具有很特殊的地位,其工程性和实践性都很强。针对高职教学中存在的一些问题,本文做了探索,目的是提高学生对该课程的学习兴趣,提高其编程能力和职业素养。
关键词:数据结构 项目驱动 实例教学法
1.课程特点与定位
《数据结构》课程是高职院校计算机专业学生必修的一门专业基础课,是计算机专业的核心课程,通过该课程的教学,使学生学会分析研究计算机处理数据的结构特性,为实际工程问题的数据选择适当的逻辑结构、存储结构和相应的处理算法,并掌握算法的时间和空间的分析与评估技术。从而为学生今后进行软件开发的相关工作奠定良好的基础。
课程概念多、较抽象,有些算法思想难理解、难掌握。以往传统的课堂知识点讲授形式,重理论、轻实现,重知识、轻理论,因此在教与学的过程中,无法激发学生的学习兴趣,不利于学生的创新精神及实践技能的培养。另外,高职学生的基础较薄弱的特点也决定了理论性的教学难度较大,《数据结构》已被高职学生认为是计算机课程中最难学的课程之一。
为此,我们在教学中,针对本校高职学生的特点采用了“基于项目驱动的实例教学法”,其主体就是对课程中的重难知识点,选配相应的项目实例,通过恰当的实例进行演示和说明,把抽象概念形象化、具体化,帮助学生理解掌握有关的课程内容。并在项目实例的基础上,学生结合实际问题进行二次设计和开发,从而提高学生软件开发的技能和职业素养,进一步激发学生对解决实际问题方法的思考和探索。
2.项目驱动实例的教学实施
2.1项目平台的选取
VisualC#是VisualStudio.NET中的一种新型的编程语言,它由C++演变而来,是一种简单的、现代化、类型安全和面向对象的语言。用C#设计的程序是建立运行于.NET平台上的、范围广泛的企业级应用程序。学生掌握了使用C#描述数据的结构和算法,可以快速设计出各类的视窗环境下的应用软件,使得学生走出校园就可迅速地适应职业岗位需求。
2.2项目实例的设计
通过对高职院校《数据结构》课程教学大纲和教材的认真研究,我们参阅了大量的相关资料,将课程的知识点、重点和难点经提炼和归纳,融入各个具体的项目实例之中,项目实例涵盖了所有的教学内容。我们从工程实际出发,精选出了9个项目实例:
项目实例1:显示FAT32的目录结构(知识点:线性表、链表)
项目实例2:串行通讯数据缓冲区的实现(知识点:队列、循环队列)
项目实例3:递归函数调用现场保护模拟(知识点:栈、顺序栈)
项目实例4:求最长公共子串(知识点:串)
项目实例5:绘制二叉树(知识点:树、二叉树)
项目实例6:迷宫最短路径问题(知识点:图)
项目实例7:二分查找的实现(知识点:查找)
项目实例8:数字LED的字形显示(知识点:哈希表)
项目实例9:霍尔快速排序的实现(知识点:排序)
这些项目实例在设计时均采用图形化,显示数据的结构、数据的变化情况,直观、清晰地反映各数据结构的特性,以及相应算法处理数据的过程。通过运行和演示实例,学生深刻地了解和掌握了数据结构。
2.3项目实例教学过程
项目实例教学过程由三环节构成:
(1)引入知识点:教师通过运行和演示项目实例,引导学生学习和掌握项目实例所涉及的知识点,理清相关的重点和难点,明确项目实例的实际工程意义。
(2)分析源代码:教师分析项目实例的关键代码,促使学生进一步掌握解决与项目实例同类问题的具体算法和编程方法;
(3)项目再开发:教师布置一个与项目实例相近的工程问题,每个学生模仿项目实例编制相应的应用代码;或在项目实例上,通过二次开发,编制相应的应用代码。
教学过程中的第三步是关键的环节,该环节能够明确清楚地反映出学生掌握教学内容,达到教学目的的程度。项目实例教学过程应提倡“精讲多练,师生互动,分层实施、机练为主”,要确保学生在各个层面都得到发展和提高,培养学生的创新意识和职业技能,实现知识与技能的双丰收。
2.4项目结果检查
(1)项目开发完成后,学生需要自行对项目应用代码进行测试,检验应用程序是否达到了教师对该项目提出的要求,是否实现了所有的功能,以此提高学生的排错能力,培养学生的责任心,养成良好的职业习惯。
(2)对应用项目书写规范的项目报告,项目报告主要包含项目的分析,项目方案的设计、项目实施等,还有项目的开发优点和不足。
(3)填写调试报告,其中写明出错的原因、测试数据,以及改正的方法,使得每完成一个项目,学生都有一次提高。
(4)教师根据项目的结果和项目的质量进行检查,判断教学是否已达到了预期的目的和效果。
2.5项目结果讲评
教师针对学生开发项目的过程进行总结,并挑选一两个学生开发的项目进行点评,指出其中好的设计和不足之处,以及容易出错的问题,帮助学生提高发现问题、解决问题的能力,巩固已学的知识,拓展思维,锻炼创新能力。
教师根据每个学生的项目结果、项目报告和调试报告分别进行成绩的评定,同时做好各项成绩的记录留档,学期末所有项目的成绩累计结果,作为项目考核成绩。
课程成绩评定是由三部分组成:项目考核成绩、理论考核成绩和平时考核成绩。其中项目考核成绩占60%,理论考核成绩占30%,平时考核成绩占10%。
3.结语
《数据结构》在计算机课程体系中的具有很特殊的地位,其工程性和实践性都很强,针对高职教学中存在的一些问题,我们在课程体系、教学过程、考核结构方面,做了探索,从两年的教学实践效果来看,学生对《数据结构》课程的学习兴趣提高了,编程能力和职业素养也在提高。但教学改革的步伐不会停止,我们还会在《数据结构》课程上做更多的探索。
参考文献:
[1]李秉璋,罗烨.C++程序设计.大连理工大学出版社,2010.9.
[2]陈广.数据结构(C#语言描述).北京大学出版社,2009.3.
[3]李勇,邢跃.数据结构课程教学法探析[J].网络财富,2008(07).