段 淼 张沛露
(吉林建筑大学计算机科学与工程学院,长春 130118)
《数据结构与算法》是计算机等相关信息类专业教学计划中的核心课程,也是计算机及相关专业考研和水平等级考试的必考科目.要从事计算机科学与技术相关的工作,特别是计算机应用领域的开发和研制工作,必须具备坚实的数据结构与算法基础.该课程的教学注重学生抽象思维和编程能力的培养,使学生能够利用计算机有效的分析和解决实际问题,为提高软件设计和编程水平打下坚实基础[1].然而,由于受部分学生基础薄弱及学校课程设置不合理、教学内容过于陈旧、教学方法不当和实践学时不足等诸多因素影响,该课程的教学效果往往不尽人意.因此,对该课程开展与前沿计算机相关技术相衔接的教学活动,进一步提高该课程的教学质量与教学效果的深入研究是非常必要的.本文在研究各种教学方法的基础之上,对教学内容的选材、教学手段的更新、实践教学环节的实施及考核方式的改进等方面进行了某些改革.
随着计算机技术日新月异的发展,软件设计思想也在不断更新.为了适应当今计算机程序设计相关技术的发展,需要更新陈旧的教学内容,补充和加强知识结构的总结与梳理,使学生能够掌握计算机学科发展的新动向,拓展学生的知识面.
(1) 教材要力求与当今计算机程序设计相关技术衔接紧密,选择新版本,高质量的教材.我校数据结构与算法课程选取的是普通高等教育国家级规划教材,由王红梅、胡明、王涛编著的《数据结构》(C++版)(第2版),该教材是教育部普通高等教育的精品教材,并荣获中国大学出版社图书奖优秀教材一等奖;
(2) 教学内容制定要对课程的结构进行优化,将课程中的核心知识点线性表、树、图、查找和排序进行整合,由浅入深,由简单到复杂,使学生易于理解和掌握;
(3) 针对授课学生的专业不同和知识掌握程度的差异,进行不同层次和不同专业特色的授课内容调整,因材施教,使不同专业学生在学习过程中正确理解课程内涵,并在自己所学专业领域有所应用.
由于《数据结构与算法》课程的逻辑性和抽象性决定了课程的难度,为了使学生更易理解,避免理论与实践相脱节,激发学生的学习兴趣与热情,取得理想的教学效果,就要注意正确使用教学方法.
(1) 理论课程讲授过程中采用“经典案例”教学法.结合某些实际应用的具体实例进行剖析讲解,让学生分组讨论,给出解决问题所需要的相关数据结构知识,教师对各组答案进行总结,将其中发现的问题集中讲解,增加教师与学生的相互交流,培养学生的独立思考能力;
(2) 某些算法讲解过程中采用“问题启发”教学法.通过问题的提出、分析、解决和讨论相结合的方式开展教学活动,不断的引导学生参与到分析问题和解决问题的教学中来,使学生紧跟教师思路,采用合作互动的方式,活跃课堂气氛[2];
(3) 结合ACM程序设计竞赛采用“创新导向”教学法.将ACM程序设计竞赛中的题目引入教学,既扩展了书本上没有的相关知识,又对学生参加程序设计竞赛做了前期知识储备.教学过程中启发学生积极思考,并关注学生思维动态,关键是传授给学生进行程序设计时数据结构与算法的设计方法,培养学生的创新意识与能力.
通过实践教学环节可以验证学生的理论知识掌握程度,其也是理论教学的一种延续.《数据结构与算法》课程的实验,不仅可以使学生加深理解所学的理论知识,更重要的是可以提高学生分析和解决问题的能力.
(1)实验教学过程中,将传统的验证性实验改为探索创新性实验,并将代码直接输入验证结果的实验任务改为程序代码改错或程序代码填空的实验题目;将老师边讲边演示实验结果的实验任务改为学生参与分析、设计、调试的实验任务,充分调动学生的主观能动性,激发学生的学习兴趣;
(2)结合ACM程序设计竞赛采用“竞赛式”教学方式,学生两人或三人一组组成“竞赛”小组,在规定时间内团队协作完成指定程序设计题目的算法设计、代码编写和程序调试工作,提交正确程序并讲解自己的解题思路,这种教学方式可以促进学生之间相互交流与学习,达到自主学习的目的;
(3)实践教学环节中的课程设计采用“模块化”教学方式,将理论课程相关知识点有机组合,以“模块化”形式组织教学,给出相应程序设计题目与任务,使学生能够系统综合的理解与运用所学知识进行数据结构与算法的设计及程序代码的编写工作,从而提高学生分析能力和编程能力[3].
课程的考核不是为了考住学生,为难学生,而是为了督促和验证学生对所学课程知识的理解和掌握程度[4].在考核方式上我校《数据结构与算法》课程采用多种有效的考核办法,除传统的笔试闭卷考试外,还结合实验教学环节进行上机考核测试,将笔试考核与实验考核相结合,全面反映学生的理论知识水平和动手能力.针对与计算机相关的信息工程和信息科学等专业,采用“一张纸开卷”的考核方式,即考试过程中仅允许学生带一张正反面必须手写的相关知识点材料作为参考,从而在考试之前就促进学生对所学知识进行消化理解和归纳总结,取得了较好的教学效果.
在计算机科学的各个领域以及应用软件中,数据结构与算法有着举足轻重的作用,课程的教学质量直接影响着计算机及其相关专业课程的教学效果[5].因此,为提高学生的综合素质和编程能力,总结研究各种教学方法,更新教学内容,加强实践教学环节,改进考核方式,笔者利用多种教学手段和方法对该课程进行探索与研究.教学改革是长期而艰巨的任务,相信通过师生的共同努力,《数据结构与算法》课程的教学效果、教学质量将会得到更大的提升.
参 考 文 献
[1] 王红梅,胡 明,王 涛.数据结构(C++版)(第2版)[M].北京:清华大学出版社,2011:1-5.
[2] 张 铭.数据结构与算法课程教学实施方案[J].中国大学教学,2011(3):56-57.
[3] 吕 刚,张 勇.模块化教学在《数据结构》课程中的应用[J].宿州教育学院学报,2011(3):28-29.
[4] 戎丽霞.《数据结构》课程教学改革探索与实践[J].科技创新导报,2011(5):190.
[5] 吴红萍.非计算机专业《数据结构》实践教学探索[J].中国科技信息,2011(1):201-202.