马冰冰
摘要:针对地方高校春季高考生和夏季高考生生源的不同情况,给高校开展教学活动带来了较大难度。在实际教学中,“数据结构”课程不但有很强的理论性,也有一定的抽象性、实践性,对不同基础的学生理解起来有不同的难度。为了有效提高课程教学效果,激发学生的学习兴趣,对我校计算机专业的春季高考生和夏季高考生的“数据结构”分层次教学模式进行探讨。
关键词:分层次教学;教学模式;数据结构
中图分类号:G434 文献标识码:A 文章编号:1009-3044(2018)26-0148-02
1 概述
随着我国高等教育的发展,各高校招生规模不断扩大,迫切要求高等院校培养更多的应用型人才。诸如我校这样的地方性院校的大量扩招,如有春季高考生、夏季高考生,使得学生在学习能力、学习态度等方面有着明显差别,随之产生的一个事实就是由于生源質量参差不齐,学生素质普遍下降,导致了课堂教学的难度不断增大,教学质量相对下降,成绩两极分化等问题。数据结构作为计算机专业的专业核心课程之一在这方面体现的尤为明显。
数据结构是计算机程序设计的重要理论基础,在课程体系结构中起着承前启后的核心作用。主要研究各种数据的逻辑结构、物理结构及基本操作的实现算法,可以培养学生的数据抽象能力、算法设计能力以及创造性思维方法。在实际教学中,数据结构不但有很强的理论性,也有一定的抽象性、实践性,针对不同基础的学生理解起来难度不同,掌握能力也存在不同。这就促使要更新传统教育模式,加快改变过去的教学组织形式,在众多的教育教学改革方案中,分层次教学显得尤为重要。
2 分层次教学实施方法设计思路
以我校计算机专业学生为例,介绍数据结构分层次教学模式的教学方法。我校计算机专业本科学生分为春季高考生和夏季高考生,春季高考生主要来自于中等职业学校毕业生,还有部分学习成绩相对较差的普高生。学生生源不同,基础、素质区别很大。根据上述现状,针对数据结构的教学探索出了自己的分层次教学方法。
2.1 学生分层
教学过程实施摒弃了一锅炖的教学弊端,体现学生的学习意愿,不同层次的学生进行有效结合,采用不同的授课方式。分层时考虑到以下方面:第一,学生的数学基础;第二,C语言基础;第三,要充分兼顾到学生本人的意愿。夏季高考生基本理论知识和实践技能较好, 能完成所遇到的简单问题,自觉性强,为A层次;春季高考生来源于中等职业院校,底子差、知识储备不足、理论基础薄弱,自我约束管理一般,为B层次。
另外,在管理上自由灵活,在教学活动开始后两到三周内,学生可根据自己的能力和接受程度提出转班申请,例如有部分夏季高考生学习能力及学习积极性不高的学生产生畏难的情绪允许转班。
2.2 理论内容分层
应用型人才的理论教学重在通过典型数据结构和算法的学习, 以及算法设计和实现的训练, 养成敏锐的洞察力[1]。
根据不同学生层次设计不同的教学方式,并提出不同的考查要求,根据知识点的掌握要求也要进行不同层次的教学方法的授课。对于A层次同学,在完成教学大纲要求基础上, 除掌握算法基本原理、实现基本算法外,还可以对老师给出的实际案例,在课堂上学习、讨论,提出解决方案,并设计出算法。对B层次,学生课堂授课时尽量做到既保证全体学生学习并理解逻辑模型的基本概念,又保证他们对基础知识的牢固掌握和基本算法原理的掌握。
具体的实施方案:
1) 掌握典型数据结构理论概念和算法的基本原理。
在数据结构层面,要求学生知道各种数据结构的特点,注重数据结构的基本概念和类型的表示,能配置相应的运算和处理算法,并且能实现典型应用案例,了解各种数据结构的用途。如线性表结构中,顺序表和链表的结构特点,抽象数据类型的描述以及算法实现;然后针对线性表应用提出任务,这类任务相对简单直接,如怎样将两个线性表进行合并,可提示同学利用基本算法思想进行设计和实现,让同学们展开讨论,提出解决方法。B层次学生可讨论解决方案,由老师给出相应步骤并完成算法,再由学生操作完成,使学生进一步加深理解数据结构的理论,以提高学习兴趣;对A层次学生要求学生自己讨论、设计出算法并实现算法,使该层次学生不但完成了基本要求外,还使用以前实现的算法成功解决了简单的应用问题。
2) 分析数据结构应用问题,培养解决问题的能力。
给出实际案例,和上述简单应用相比,增加了复杂度和难度。学生需要从给定案例信息说明中提炼数据,找出数据之间的内在联系,以确定使用哪种数据结构进行处理,这部分可由老师带领所有层次学生探讨,给出解决方案和算法。如一元多项式的计算问题,B层次学生可消化解决方案;A层次学生必须给出算法设计思想,并分析使用哪一种存储结构更灵活、算法更优。保证学生对学过的相关知识有更深刻的体会,训练了综合分析能力。
2.3 实验内容分层
数据结构实验的各个环节层层相扣,若在某一个环节出现问题,则不能正常进行下一个环节。例如,在线性表的实验中,若在创建线性表的过程中出现问题,后续的插入、查找等操作就不能进行,这就需要熟练掌握某种程序设计语言。我校以C语言作为数据结构实验的编程语言。
实验项目按照各种数据结构的内容进行设置,涵盖了线性表、栈和队列、二叉树、图等章节,同时按照由易入难的层次原则,又将每个实验项目分成了基础验证性实验、基础应用性实验,设计性实验。
基础验证性实验给出各种数据结构及算法的实现原理及详细代码,要求两个层次学生必须完成。如线性表的顺序存储结构和链式存储结构的创建、插入、删除、查找等操作。
基础应用性实验是在完成一个章节的验证性实验后,实现一个简单的应用。给学生算法设计的步骤及提示,要求A层次学生必须设计出程序并完成实验项目,B层次学生可由老师给出程序学生操作完成。
设计性实验主要考查典型数据结构的应用,如在学习线性表之后,可设计出一元多项式的加法运算,学习栈之后可设计出括号匹配的程序。老师给出实验项目设计步骤,和这部分实验的算法提示,A层次学生操作实现可选做。表1给出了线性表的实验项目。
这种分层次的实验项目给学生提供了灵活的实验环境,帮助各层次学生掌数据结构课程中的基本算法,学会相关算法的应用,提高学生的实际动手能力[2]。
3 考核与评价
不同层次的同学考核和评价标准也不尽相同,应该让每个层次的学生感受到考核与评价的科学、合理,对自己成绩肯定、信服。评价结果同时也决定着分层次这种教学模式是否先进、是否值得进一步开展的衡量标准[3]。
例如数据结构实验的考核,对基础应用性实验,A层次的学生正确完成给定实验项目,分数为实验项目分数*1;B层次学生正确完成,但因是老师给出程序,则分数为实验项目分数*0.9,若各层次不能完整准确的完成实验项目,根据具体情况酌情扣分;对设计性实验,A层次学生选做,会根据实验完成情况适当给予实验分数的加分。通过各实验项目得分、平时表现及实验报告分等,得到学生的数据结构实验最终综合评价。
4 结束语
分层次教学模式以培养学生能力为目标,根据学生实际情况,因地制宜地进行不同的教学方法。经过一学期的实践,学生的学习积极性有很大提高,基础理论的掌握程度加深,实践能力也有所加强。说明分层次教学方法策略在数据结构的教学中初见成效。在实施过程中,因处于摸索阶段会存在一些问题,如实验成绩的评定比较复杂,增加了老师的工作量;有部分同学编程语言底子差,不能进行正常程序的编写,存在较大的畏难情绪。“数据结构”课程分层次教学的规律和方法,还要不断的进行探索实践。
参考文献:
[1] 张铭,耿国华,陈卫卫,胡学钢.数据结构与算法课程教学实施方案[J].中国大学教学,2011(3):56-60.
[2] 滕薇,王莉.数据结构课程分层次教学模式[J].长春理工大学学报:社会科学版,2013,26(7):203-205.
[3] 贾银江,贺莉莉,郑萍.数据结构实验的分层次教学[J].计算机教育,2014(4):60-62+72.
[通聯编辑:王力]