刘合兵 尚俊平 翁梅
[摘 要]数据结构课程是计算机类专业的核心必修课程,在整个专业教学体系中占有重要地位。以上好数据结构课程第一堂课为切入点,通过教师自我介绍、课程内容介绍和学习方法指导等几个方面来激发学生的学习兴趣,能调动学生的学习主动性,培养学生的创新思维和自主探究能力。讲好第一堂课对建立师生良好关系、增强课堂教学管理和提高教育教学质量有着深刻的意义。
[关键词]数据结构;课堂教学;教学设计
[中图分类号] G642 [文献标识码] A [文章编号] 2095-3437(2017)03-0029-02
数据结构课程是计算机类专业的核心必修课程,在整个专业教学体系中占有重要地位。数据结构课程的教学内容涉及构筑计算机求解问题的两大基石:刻画实际问题中信息及其关系的数据结构,描述问题解决方案的算法。[1]数据结构课程的教学目标是培养学生缜密的逻辑思维能力和数据抽象能力,把数据结构和算法理论与编程实践相结合,并在软件系统开发过程中灵活运用。学好数据结构课程对操作系统、编译原理、计算机网络等后续课程的学习以及培养学生分析问题、解决问题的能力等方面起着至关重要的作用。如何讲好数据结构课程,一直是各高校计算机教师研究探索的热门课题。俗话说“好的开端是成功的一半”,第一堂课的教学设计至关重要。好的开端能激发学生对课程的兴趣,调动学生的学习积极性,使其产生强烈的求知欲,从“要我学”变为“我要学”,从而为教师有序、有效展开课程教学奠定良好的基础。[2]
本文从以下几个方面具体讨论如何上好数据结构第一堂课。
一、教师自我介绍
教师给学生的第一印象很重要。第一堂课教师第一次接触学生,自我介绍必不可少。自我介绍的内容主要包括介绍教师的姓名、学院、办公地点、移动电话等,可以把微信、QQ或E?鄄mail等其他联系方式告诉学生,还可以组建数据结构课程学习的QQ群或微信群,学生遇到问题后可以在群里讨论,也可以通过电话、E?鄄mail等与教师单独联系。教师愿意做学生的朋友,学生在学习上、生活上、思想上需要教师帮助时,可及时与教师联系。教师的积极态度能够对学生产生积极的影响,有助于与学生建立良好的师生关系,促进学生学习的自觉性。
二、课程介绍
(一)课程定位
数据结构课程是计算机类专业的核心必修课程,美国ACM/IEEE CC-2005课程体系将数据结构与算法类课程列为核心课程之首。我国教育部计算机教育指导委员会“计算机科学与技术专业规范”2006中明确把数据结构与算法列入计算机及信息技术相关学科专业的本科必修基础课程。
数据结构课程是对前导课程(如C语言程序设计、程序设计基础等)的深入和扩展,能为进一步学习其他专业课程打下基础。课程中的排序算法及基本的树、图等非线性结构是计算机科学的基本功,B+树、散列(Hash)等高级数据结构是后续如操作系统、数据库、编译原理、图形图像等专业课程的基础。
(二)主要内容
数据结构课程描述的是按照一定逻辑关系组织起来的待处理数据元素的表示及相关操作,涉及数据的逻辑结构、数据的存储结构和数据的运算,内容非常丰富。
常见的逻辑关系包括线性结构、树形结构、图结构和文件结构。常见的存储方法有顺序方法、链式方法、索引方法和散列方法。建立在数据结构之上的有效运算是问题求解的核心,如排序、检索等。在介绍课程内容时,应把相应章节的学时分配一并列表展示,并简明扼要地向学生介绍课程的重点难点,借助多媒体课件以动画的形式给学生演示链表、栈、队列以及排序等操作,帮助学生理解,激发学生的学习兴趣。
(三)学习目标
数据结构课程的教学目标是让学生学会分析数据对象的特征,掌握数据组织方法和计算机的表示方法,初步掌握算法时间、空间分析的技巧,培养学生针对问题的应用背景进行分析,选择合适的数据结构,从而培养高级程序设计技能。学生的学习目标明确了,才会不懈努力,朝着目标一直前行。
(四)教材及参考书
教材是供教学用的资料,如课本、讲义等。第一堂课应明确数据结构课程的教材,简要介绍教材的特点、作者信息等,比如我们采用的是严蔚敏主编、清华大学出版社出版的《数据结构》。同时给学生们列出一些必要的参考书籍,这对课程学习能起到补充拓展的作用。
三、学习方法指导
在学生了解数据结构课程的重要性、所用教材及参考资料后,就要告诉学生如何去做才能学好这门课程。数据结构课程要培养学生结合实际应用设计有效算法和数据结构的能力,学习数据结构必须经过大量的實践,在实践中体会构造性思维方法,掌握数据组织与程序设计的技术。通过扎实的、大量的基础训练,学生才能灵活地运用问题抽象、数据抽象、算法抽象来分析问题,应用数据结构和算法来设计、实现相应的程序,完成创新能力和实践能力的训练。[3]
(一)课前预习,课后总结,吃透教材
课程内容主要包含数据结构和算法设计与分析的基本知识,各种基本数据结构的定义、存储结构、相应的算法以及应用等。理解掌握基本的数据结构与算法的关系很重要。程序的时间和空间效率,不仅与数据的组织方式有关系,也跟算法设计的巧妙程度有关系。在学习中要把握好预习、听课、实验、复习、总结五个环节,吃透教材,把握住算法的本质。通过预习,可以提高学生的主体意识,培养学生的独立思考能力,进而提高课堂学习效率。课后的总结则能让学生自觉地回顾课堂内容,深入地学习和领会课程的重点和难点,完成课后作业或练习题,从而提高数据结构课程的教学效果。
(二)多读代码,实现算法,理解思路
教育部计算机专业教育指导委员会“中国计算机本科专业发展战略研究报告”、“计算机科学与技术专业规范”等都明确地强调了实践教学和学生动手能力培养的重要性。程序设计解决问题往往有多种方法,且不同方法之间的效率可能相差甚远。在学习过程中要让学生摆脱畏难情绪,不怕有问题,多读、多写、多调试,及时总结。学生只有通过丰富的练习题和应用案例才能增强对理论的感性认识,从而明白这些数据结构为什么存在以及在什么情况下可以最好地解决什么样的问题。
(三)充分利用网络资源进行课外拓展
1.图书馆资源
图书馆拥有丰富的文献资源,是学校的文献信息资源中心,也是学生的第二课堂。学校图书馆有丰富的藏书,通过网上书目查询系统可以检索到与数据结构课程有关的图书,如《数据结构典型题解》、《数据结构上机实验指导》等。图书馆还有各种文献数据库,如超星数字图书馆,可以在线阅读电子图书;有万方、中国知网(CNKI)、维普等数据库,可以查阅期刊、会议等学术论文。在课堂上教师可以演示利用图书馆中的中国知网(CNKI)检索系统检索相关论文,让学生学会检索查找文献资源,这样可以拓展学习资料,避免课程学习仅限教材的情况。多读书,可以让学生扩大视野,打开思路,培养和锻炼学生自主学习的能力。
2.课程资料及论坛
互联网是信息发布和传播的重要平台。网络资源包罗万象且更新及时,使用方便,不受时间的限制,其中涉及数据结构的教学资料、技术论坛等数不胜数。课程资源主要有国家精品课程资源网、MOOC学院、中国大学MOOC、学堂在线,以及国外MIT等开设的数据结构相关课程。而与数据结构相关的论坛则更多,比较突出的如CSDN论坛的数据结构与算法版块、ITeye综合技术论坛的数据结构版块等。[4][5]在介绍课程资源及论坛的同时,教师可以简单介绍百度或必应搜索引擎的用法,让学生掌握利用搜索引擎查找相关资料的技能。
四、结语
在高校的课堂里,大学生要接触不同门类的学科。教师在引导学生学习过程中能起到关键的作用。第一堂课既是师生之间的初次见面,也是大学生对教师及课程的初步了解与把握。良好的开端是课程成功的基础,上好第一堂课,意义重大。对教师而言,上好第一堂课,会使学生对该门课程产生首因效应,在课程的兴趣、理解、运用等方面产生积极影响,可以使教师对学生加深了解认识,有助于教师对教学安排进行合理配置,为今后的课程教学奠定良好的基础。对学生而言,上好第一堂课可以使学生对课程内容有一个全面的认识,提升学生对课程的认同感,提高学生的学习积极性。
[ 参 考 文 献 ]
[1] 张铭,耿国华,陈卫卫,等.数据结构与算法课程教学实施方案[J].中国大学教学,2011(3):56-60.
[2] 张永翊.上好大学里的第一堂课[J].中国成人教育,2008(20):131-132.
[3] 刘合兵,尚俊平.《数据结构》课程的教学研究与实践[J].内江科技,2008(12):72,49.
[4] 尚俊平,刘合兵.在专业课教学中培养学生的信息素质[J].計算机教育,2010(8):14-16.
[5] 何明瑞.大学计算机基础课程“第一堂课”的教学目的[J].软件导刊,2012(1):185-187.
[责任编辑:陈 明]