数据结构课程实验分层教学的探索和实践

2018-06-27 07:53刘忠民李广瑞
计算机教育 2018年6期
关键词:数据结构分层基础

刘忠民,李广瑞

(南昌航空大学 软件学院,江西 南昌 330063)

0 引 言

国外在20世纪60年代广泛实施分层教学,理想化的做法是能根据每个学生的个体差异进行有差别的教学,使每个学生都能扬长避短,获得最佳发展。目前国内比较多见的分层教学是按班级的不同实行差别化教学,如英语课程的快慢班、高等数据课程的AB班等。在数据结构课程中也有采用分层教学的先例,主要做法是在学校层面根据不同专业对本课程的要求进行归类,以大班的形式组织分层教学[1]。存在的问题是分层的粒度比较粗,无法解决在一个大班内由学生基础的差异性而导致的教学困境。

程序设计基础是对数据结构影响最大的先修课程,这门课学完后,学生的编程能力差异很大,有小部分学生已经掌握了一定的编程技巧,但有更多的学生甚至不怎么会编程,在基础不牢的情况下来学习数据结构知识,导致顾此失彼。为了改善数据结构课程教学质量,课题组以实验教学为突破口,进行了积极有益的探索,实践了班级内的分层实验教学。以尊重学生个体差异性为前提,力求使学生发挥各自的潜能,取得更好的学习效果,达到提升整体教学水平的目的。

1 实验教学改革的举措与实施

1.1 学习对象柔性分层

在课程的开始阶段,将学生分为学有余力型、学能自力型和学有困难型3个层次[2-3],对各层次的学生特点及情况进行分析。

(1) 学有余力型。这类学生基础好,接受能力强,能触类旁通,能比较轻松掌握课堂上的知识并在实验中比较好地运用,并有能力帮助其他同学。这类学生数量较少,约占总体的15%。

(2) 学能自力型。这类学生基础一般,接受能力一般,遇到问题时经过适当的点拨就可以完成实验任务。这类学生在班级里数量居多,大致占60%。他们是课堂组织过程中需要特别重视的群体,为老师课堂任务的设计、任务的难度和完成的时间等提供重要的依据。

(3) 学有困难型。这是一类特别需要帮助的学生,他们的基础知识和实验技能都比较贫乏,因为基础薄弱,所以不自信,导致学习进展缓慢。这类学生数量不少,在班级中约占25%。

在实验教学中使用柔性分层[2,4]。一方面,由于教师与学生接触有限,难以充分了解学生的学习基础、行为习惯、心理特征等具体差异,随着本门课程教学工作的推进,学生的学习状况会发生变化,体现出来的实验能力也会不断变化。另一方面,分层对学生是一件比较敏感的事,因此最好进行隐性分层。分层不是固定不变的,教师要根据学生的变化做出合理的调整,鼓励学生由较低层次向较高层次递进。

1.2 设立数据结构课程预备实验

通过对以往的教学进行总结发现,很多学生存在共性的编程障碍,这些编程障碍会严重影响数据结构课程学习和实验效果,为此我们设立了课程预备实验,要求学有困难型的学生必须参加,其他层次学生根据自身的情况选择参加。

我们精心编写了数据结构预备实验指导书,包括函数、指针和结构体3个实验项目,指导书包含较多的导学内容,对基础知识的介绍更加深入浅出,并结合程序实例进行讲解;每个实验项目包含由易到难的多个实验任务。学生更容易着手实验,有利于达到更好的实验效果。

预备实验的设立,力求弥补学生编程能力的短板,使得学生能将更多的注意力集中到数据结构本身知识的掌握运用上,减少顾此失彼的现象,有利于提升课程整体教学质量。

1.3 进行实验项目中的实验任务分级

以往不管基础如何,水平高低,每个实验项目学生必须完成难度基本相同的实验任务,每个实验任务对学生都是挑战,学生普遍感觉比较难,但又没有选择的余地。相当一部分学生甚至不知道如何着手实验,教师的指导也就无从谈起。为了改变这种状况,我们编写了实验任务分级的实验指导书,支撑实验分层教学的开展。

(1)每个实验项目设立多个难度不同的实验任务。根据不同层次学生的特点,为每一个实验项目拟定出“基础级、进阶级和挑战级”3个级别的实验任务,这些实验任务难度逐渐递增,供学生灵活选择。

(2)教师指导学生选择实验任务。一般来说,学习困难型学生适合选做基础级实验任务,学能自力型学生选做进阶级实验任务,学有余力型学生选作挑战级实验任务,但学生学习状态是动态变化的,教师应指导学生根据自身具体情况进行选择。

(3)分级实验指导书中有更多的导学内容。在每个实验项目的“基础知识”部分,对实验用到的基础知识进行了细致的解说,更利于学生碰到困难时参考;另外根据实验任务的级别拟定出详略不同的实验指导,特别是“基础级”的实验任务,一般都设计了详尽的实验过程,便于较低层次学生学习参考。

(4)不降低总体实验教学要求。每个实验项目要达成的目的和要求对所有层次的学生是一致的。比如“栈的应用”实验,实验目的是“理解栈的基本特点,掌握栈的顺序存储结构的C语言定义,理解栈的各种基本操作,掌握基本操作的C语言实现”。实验要求是“掌握栈的顺序存储结构,能够理解运用栈这种数据结构解决具体问题的方法,在此基础上能使用栈来解决具体问题” 。

基础级实验任务为完成栈的定义、进栈出栈基本操作的实现及验证基本操作;进阶级实验任务为编程检查表达式括号(包括小括号、中括号和大括号)的匹配情况;挑战级实验任务为将中缀表达式转换成逆波兰式,然后对此逆波兰表达式求值。难度逐渐递进,但始终围绕“栈”这个知识点。

从掌握基础知识的角度来说,完成基础级的实验任务就基本能够达到目的;但从能力训练角度来说,完成基础级的实验任务相比于完成挑战级的实验任务,后者需要的能力要高出很多,在实施过程中结合实验成绩评定机制,最终达到更利于导学,但不降低总体实验教学要求的目的。

1.4 制订具有激励作用的实验评分标准

学生对分数非常敏感,恰当的实验成绩评分标准有利于激发学生的学习动力,反之有可能会挫伤其学习积极性。课题组最初使用了常规的评分方式:一次实验评分一次,完成一个基础级实验任务得60分,完成一个进阶级实验任务得85分,完成一个基础级再完成一个进阶级或直接完成一个挑战级实验任务得100分。该评分方式比较普通,实施效果不太理想。经过改革探索,课题组决定采用总体评分方式。制订具有激励作用的实验评分标准,具体如下:

(1)完成2次挑战级实验任务60分,后续每多完成一次挑战级任务加10分,完成6次以上得满分。

(2)完成2次进阶级实验任务相当于1次挑战级评分。

(3)完成2次基础级实验任务相当于1次进阶级评分。

该评分标准以退为进,为学生设立较低的目标,完成6个挑战级实验就能拿满分(事实上对我校层次的学生来说也很不容易),使学生更容易也更有想法去拿高分;其次挑战级、进阶级和基础级1:2:4的关系,能带给学生强烈的心理冲击,激发学生挑战更高级别实验任务的动力。

数据结构课程共有10次实验,按照该标准,完成10个基础级实验任务也只能折合成2.5个挑战级,也就是及格多一点,要想取得好成绩这是远远不够的,从而确保了在总体上不降低实验教学的要求。

1.5 实现分层实验教学管理

在实施分层实验教学的过程中,实验教学管理作相应改革。

(1)引导学生自主选择实验任务。分层导学要求教师注重分层概念的理解和把握,并不是由教师根据学习成绩简单地把学生分成若干层次,而是让学生根据自己的已有水平和知识技能,结合专业基础和实践能力,选择适合自己层次的实验任务为目标。在这个过程中,学生的能动性得到了很好体现,更容易从差异中找到平衡点,更利于学生的进步和发展。

(2)注重对学生的引导。在实验教学过程,教师应鼓励学生选择适合自己层次的实验任务,同时也强调更高层级的实验任务并不是那么高不可攀,在完成比较低层级的实验任务后,继续做出适时的努力,是有可能完成更高级别的实验任务的。

(3)加强实验结果的考核。对实验情况进行严格考核是一项非常重要的工作,要对实验结果进行严格检查,不能图省事直接予以认可。通过对基础知识、程序本身及算法等进行提问可以比较准确地做出判断,一旦核实基本无误后及时记录,这对学生是个很好的认可。

(4)认可学生前期实验项目的结果。在实验过程中,有学生会请求检查前一两次实验项目的结果,教师应予以首肯,按照正常检查的方式进行核实。学生有这样的请求是上进的表现,应该多多鼓励;另外对很多学生来说进阶级和挑战级的实验任务还是有相当的难度,课内很有可能做不出来,事后愿意继续努力完成实验任务更值得鼓励。

(5)加强分类指导。实施了分层教学后,自选实验任务,学生更容易着手实验,提问题的学生明显增多。在实验中教师应根据学生层次的不同进行差异化的指导,对学有困难的学生经常需要手把手去教,不能只做简单指导;对学能自力的学生则要根据学生特点的不同予以较多的引导;对学有余力的学生则只需点到为止。

(6)给予足够的耐心。特别需要注意的是,不能因为有些知识已经讲过几遍了,就不屑于回答学生提出的“傻”问题,否则,久而久之,学生就会与教师越来越疏远。可能的情况是学生当时根本没有领会,也或者是忘记了,但不管什么原因,现在学生问了,说明他还是不会,并且还是想学,这种积极性应该予以呵护!

2 实施效果分析

在实施分层教学改革后,课题组及时对实施情况进行评估。以合班上课的2013级3个班和2014级两个班为例,其中2013级使用的是普通教学方法,3个班共105人;2014级使用了分层教学方法,2个班共75人。表1是实施分层教学前后实验情况统计数据对照表,由于普通实验教学的每个实验任务都属于挑战级,分层教学的数据是折算成挑战级后的次数,折算时按前述的比例关系四舍五入。

表1 实施分层教学前后实验情况统计数据对照表

统计数据中值得注意的是,实施分层实验教学后超过1/3的学生完成了每次挑战级的实验任务,累计完成挑战级实验6次(按分层教学的评分,实验操作部分成绩为100分)以上的学生普通实验教学占比11.43%,实施分层教学占比66.67%。统计数据表明,实施分层教学后学生普遍能完成更多的实验任务,明显取得了更好的实验效果。

3 结 语

实践证明,通过在数据结构实验教学中引入分层教学方法,学生可自主选择更符合自己层次的实验任务,借助于更多的导学手段,学生更容易上手并完成实验任务,在整个学习过程中能够逐渐积累自信,达到更好的实验效果,因此,实验分层教学是一种有效的教学方法。

[1]常晓娟, 王秀珍. 数据结构课程的分层教学模式[J]. 计算机教育, 2012(20): 50-52.

[2]孟祥林. 分层教学与教学过程最优化: 从中日美对比论我国的策略选择[J]. 湖南师范大学教育科学学报, 2008(7): 60-65.

[3]杨丰玉, 陈英. WEB技术基础课程教学的分层导学模式探讨[J]. 教育教学研究, 2014(1): 42-45.

[4]孙隽, 杨延梅. 高校实验课分层教学的改革探索[J]. 实验技术与管理, 2016(7): 200-204.

猜你喜欢
数据结构分层基础
高中分层走班教学模式探究
数据结构线上线下混合教学模式探讨
重典型应用,明结构关系
有趣的分层现象
为什么会有“数据结构”?
夯实基础,举一反三
夯实基础,举一反三
雨林的分层
“防”“治”并举 筑牢基础
“五抓五促”夯基础