郑 茵
(吉林电子信息职业技术学院,吉林 吉林市 132000)
说课就是教师口头表述具体课题的教学设想及其理论依据,也就是授课教师在备课的基础上,面对同行或教研人员,来阐述自己的教学理念和设计。说课活动能够有效地调动教师投身教学改革的积极性,同时也是提高教师素质,培养造就研究型、学者型青年教师的最好途径之一。教师通过说课,可以进一步明确教学的重点、难点,理清教学的思路。这样就可以克服教学中重点不突出、训练不到位等问题,来提高教学的效率。教师可以通过不断的说课来与同行进行相互交流和讨论,提高教学方法和教学手段,也能够吸取别人的优点,使自己对说课的课程进一步的进行理解,成为这门课程的行家里手。
对于高职院校来说,职业技能才是高职教育的重点,如何能够提升技能教育,需要高职院校的教师不断的进行探索。软件专业是“国家紧缺型人才”的专业,该专业的《数据结构》是核心基础课程,为软件专业的其它专业课程奠定基础,如何使该门课程突出高职教育的特色呢,本文对高职院校《数据结构》的说课进行了浅显的研究与探讨。
数据结构这门课程对学生来说学习起来有一定的难度,学生课上听懂了的知识,在课下进行算法设计的时候很难实现,让学生有一定的挫败感,不知道学习数据结构到底有哪些应用,根据这些种种问题,我们选取了与生活实际相关联的案例,来引入新课,激发学生的学习兴趣,还采用了算法演示系统,动态的演示数据结构的相关算法,来吸引学生的注意力,让学生由原来的被动学习变成主动学习。具体的说课内容包括以下六个方面:
数据结构这门课程主要研究的是非数值型的应用问题,主要是为了培养学生的算法设计和数据抽象的能力,它与计算机软件、计算机网络和计算机硬件的研究关系非常密切,因此它是计算机软件的核心基础课程。数据结构这门课程的先修课程是计算机文化基础和程序设计语言,后续课程是面向对象程序设计和数据库等相关课程。
程序等于数据结构加算法,一个好的程序要选择一个合适的数据结构和好的算法,而好的算法很大程度上取决于数据结构对实际问题的描述,基于程序设计对数据结构知识的需求,确定课程目标为以下四点:①掌握基本的数据结构及其操作;②学会分析研究计算机加工的数据结构的特性;③为应用中涉及的数据选择适当的逻辑结构、存储结构;④熟练掌握各种常用算法的基本思想和程序实现。本课程强调的是思维训练,为程序设计和技能训练打好基础。
针对软件专业岗位能力进行分析来确定课程内容的依据,软件专业岗位能力主要有三个方向,分别是软件编程方向、软件测试方向和软件技术支持与服务方向。其中软件编程方向需要的能力包括:综合素质能力、专业基本能力、软件编程能力、软件工程能力、软件测试能力。软件测试方向包括以上所有的能力,而软件技术支持与服务方向除了软件测试能力外,其他能力都需要。而数据结构课程在岗位能力中支撑三个方向中都必须具备的专业基本能力和软件编程能力,可见数据结构在岗位能力中起着至关重要的作用。
课程内容体系,内容模块划分如下:授课的内容共包括九章,其中线性表的两种存储结构进行详细的介绍,它是全课程存储结构的重要基础,线性表、栈和队列、数组和广义表都是围绕线性结构来讲解的,树是本门课程的重中之重,根据树形结构的特点来解决实际应用问题,所以分配了较多的学时。在知识结构上数据结构共包括两种结构,一个是逻辑结构,一个是物理结构也叫存储结构,其中逻辑结构包括线性结构、树形结构和图形结构,线性结构和树形结构的存储结构通常采用顺序存储和链式存储,而图形结构的存储一般采用的是符合结构进行存储。每种结构都有一些基本操作,包括插入、删除、修改等。
重点、难点和解决办法,本课程的重点在于引导学生牢固掌握基本的数据结构及实现,以及如何设计合适的数据结构。难点是学生听懂了,但设计实际的数据结构算法时觉得比较困难,无从下手。解决的办法是:1精讲多练,注重实践,培养学生独立分析和解决问题的能力,引导学生在失败中自主学习的能力。2设计多层次的实践环节,循序渐进,有助于学生掌握各种数据结构的特点及其内在的联系,培养学生设计有效的算法和分析设计能力。3实现一套完整的多元化的教学方案,除了教学的PPT外,还为学生提供一套动画的算法演示系统,提供网络课堂,形成多元化的教学方案,多视角、多途径丰富和完整的教学资源。
在教学设计上,以一个具体的课时哈夫曼树及其应用为例,来讲述教学设计。在内容上要掌握哈夫曼树的相关基础知识,目的是为了掌握最优二叉树就是哈夫曼树的建立及应用,具体的要求包括最优二叉树的基本知识,哈夫曼树的构建及应用。具体的教学设计是,课前教师准备相关的课件,教学案例及数据结构的算法演示系统,学生在课前要提前复习二叉树的相关知识并预习本次课程的内容,给学生一个电报编码系统的案例,让学生讨论分析数据结构在这个案例中有那些应用,检查学生的预习效果,并由此导入新课,设计的目的就是让学生与实际生活紧密联系,激发学生的学习兴趣。具体实施的步骤包括以下五个步骤:
步骤一:通过案例引入,导入新课,介绍哈夫曼树的相关知识,通过问答的互动方式吸引学生注意力,培养学生的分析问题和解决问题的能力。步骤二:通过FLASH的算法演示系统给学生讲解哈夫曼树的构建过程,并给出一组权值,让两名同学板书来实现哈夫曼树的构建,对学生的成果进行评价和总结,采用算法演示系统让学生更直观的理解相关知识,有利于突破难点,并掌握构建的要领。步骤三;引入哈夫曼编码的概念,并通过几组编码方案对给定的电文进行编码,讨论出现的问题,并探寻原因,这个过程中训练学生解决实际问题的方法和技能。步骤四:给出几组错误的编码,让学生讨论并最后给出修改方案,老师给出相关的评论和总结引导学生在遇到困难时克服困难的能力。步骤五:介绍哈夫曼编码在其他方面的应用包括文件的压缩解压,拓展学生的思维空间。
首先对教学对象进行分析,当前学生的现状是程序设计的基础不扎实,数据结构的算法设计思想学会了,但算法描述有困难,整体抽象思维能力不强,不能很好的将理论与实际相结合,主要依赖于老师课堂上讲的内容,课下不自主学习,实践能力不强。在所教的班级中做过调查,有四分之一的学生能与老师在课堂上有互动,四分之一的学生能基本完成老师布置的任务,有四分之一的学生觉得比较难,枯燥不愿意学,还有四分之一的学生根本就不愿意学。
其次教学方法和手段,数据结构课程的特点是综合性、实践性较强,覆盖面比较广,并且很抽象,算法的实现如果靠传统的板书或多媒体很难让学生直观的去了解,所以采用多种教学方法并用来提高教学效果,在理论部分主要采用讲授法,算法实现采用演示法和多媒体,讲练相结合让学生巩固每节课所学的知识。用任务驱动法来导入新课,激发学生学习兴趣,对于具体的一堂课采用以下方法来组织教学过程:通过案例引入导入新课,学生相互讨论给定案例中所预习的知识有那些应用,对前面知识的巩固,并对新知识的深入学习,进行相关的知识连线,给学生一些其他类似的案例让学生课下自己去寻找答案,拓展自己的思维,并进行本次课程的联系和总结。
如何引导学生形成良好的学习方法也是我们学习本门课程要达到的目的之一,培养学生自主学习,不是一味的依赖老师,让学生利用丰富的网络资源来学习,理论联系实际,培养自己的实践能力。主动参与任务驱动教学过程,来培养自己的职业素养。
建立分模块的课程考核评价方式,每个课程模块即考核学生所学的知识,也考核学生掌握的技能及学习态度,采用过程化考核,平时成绩占百分之二十,包括考勤、作业和课堂表现,实训成绩占百分之五十,期末考试占百分之三十。设计了两个考核评价表,一个是小组综合评价表,具体评价内容包括课前准备、积极参与、合作精神、创新能力、解决能力、运用知识能力和成果质量,有自评互评和教师评。另一个是成果质量评价表,评价内容包括数据流分析、数据存储的表示、数据结构算法设计、功能实现及测试和项目成果,也是自评、互评和教师评,通过这两个考核表基本能评价出每个学生对本门课程的掌握情况,本门课程学生通过率为百分之九十。教学效果是通过设计多层次的实践环节和阶梯式的讲授方法,让学生动手能力得到了很大程度的提高。课程评价,在大家的共同努力下,在历次教学检查中,《数据结构》的教学都受到校内同事的肯定。校教学督导组专家多次听课、系里多次教学检查,认为本课程教学队伍治学严谨,专业功底扎实,责任心强,掌握教学规律,教学方法灵活,教师注意同学生的交流,收集各方意见,改进教学,效果良好。通过系组织学生座谈会和调查表等形式反映的结果来看,学生普遍反映本课程的各位教师教学认真,对学生严格要求;教学重、难点突出,注意理论联系实际,扩充一些相关知识、前沿知识;采用了先进的教学手段,教学过程生动形象,具有良好的教学效果。
教材采用的是王丽晖主编的《数据结构》,本书给出了很多实际案例,由浅入深的阐述了数据结构的相关知识,有助于培养学生分析问题和解决问题的能力,同时也参考了其他数据结构中比较经典的算法。实践条件,包括软件实训室、网络实训室、数据库实训室和硬件实训室四个实训室。教学队伍由包括笔者在内的一线教学老师,有着丰富的教学经验。
课程特色是在教学实践中形成了循序渐进的知识体系和教学风格,学生能够主动参与,自主学习,提高了学习兴趣。理论与实践相结合,注重了学生实践能力的培养。对不同层次的学生采用分层次教学,分类指导。存在的问题是学生的程序设计基础差,很难独立实现布置的实训任务,与实际应用相关联的案例比较少,课程改建方面,希望编写适合学生的高职数据结构教材,并加强实践能力的培养。