俞洪键
● 引言
1.项目教学法
项目教学法是指在教师的指导下,将一个相对独立的项目交由学生处理的教学方法。信息的收集、方案的设计、项目实施及最终评价,都由学生自己负责,学生通过该项目的进行,了解并把握整个过程及每一个环节中的基本要求。项目教学法以“项目为主线、教师为引导、学生为主体”,注重理论与实践相结合。
2.选择冒泡排序作为项目教学法的实施原因
笔者所在学校的生源相对不好,而且学生的信息技术学科基础差异较大,在讲解算法和程序设计的编程题目时学生不太容易掌握,且经常遗忘。而冒泡排序是属于当前高考中最重要的几个知识点之一。所以,针对这个知识点笔者打算用项目教学法来进行教学。
● “冒泡排序”采用项目教学法的具体实施流程
1.设计项目内容创设情境
首先告诉学生要探究的是排序算法中的冒泡排序,要求了解它的基本思想以及理解程序实现过程中代碼段每一行的含义。
2.选择主题,分组分工
笔者根据班里学生的情况,采用四个小组分工合作的方式来研究冒泡排序的基本思想,理解程序实现代码片段中核心代码比较的含义(如下表)。
3.探究协作,交流成果
冒泡排序的问题笔者共花了三节课来进行项目学习,其中第一节课做项目1和项目2的教学研究,第二节课是根据组别,各组按要求研究理解冒泡排序从后往前由小到大或由大到小,以及冒泡排序从前往后由小到大或由大到小这四种不同的核心代码片段的比较方式,第三节课是每组派一个代表来给全班讲解他们组所研究出来的经验。
(1)第一小组(从后往前由小到大冒泡)
第一小组研究后得出的结论如下。
①冒泡排序是在一列数据中把较小的数据逐次向上推移的一种排序技术。该算法的基本思想是把待排序的n个元素的数组看成是垂直堆放的一列数据,从最下面的一个元素起,自下而上地比较相邻的两个元素中的数据,将较小的数据换到上面的一个元素中。重复这一过程,直到处理完最后两个元素中的数据,称为一趟加工。当第一趟加工完成时,最小的数据已经上升到第一个元素的位置。然后对余下的n-1个元素重复上述处理过程,直至最后余下两个数据的比较和交换。
②冒泡排序示意图如图1~3所示。
③外循环变量i是用于控制总趟次,内循环变量j是用来记录每一趟的比较次数。
⑤每一趟的第一次比較都是从左边第一个数和第二个数开始比较,然后依次慢慢地向右两两比较。
⑥最终的结果都是从左向右看,即最左边放最小的数,最右边放最大的数。
虽然总结出了升序和降序的判断依据,但过于繁琐,学生们经过后续探索,推导出了一种全新的内循环的判断依据,优化方案是:要判断是升序还是降序问题时先画一条水平的线,然后在直线上根据“前面元素大于或小于后面的元素”这句话来画两根垂直方向长短不一的线条。这样,学生就能一目了然地知道最终的结果是升序还是降序了。
● 实施反思
对冒泡排序的内容采用项目教学法之后,笔者认为这种教学方式不适用于所有的课堂教学,如果要采用项目教学法则必须考虑以下几个问题。
1.项目设计要合理
项目教学的关键在于设计的项目活动环节必须围绕教学目标,不要让学生做无谓的劳动。
2.项目内容的完整性
在设计项目时要考虑学生的实际情况,把握教学的难度,要保证学生在一定时间内能够完成任务,让学生在完成项目任务后有一种成就感,这样才能提高学生学习和探究问题的兴趣。
3.教师要做大量的准备工作
在做项目时,教师要花更多的时间来好好备课、设计项目,在学生分组协作时,要时刻关注学生的进展,设计的项目要蕴含一定的启发性,以便能够启发学生往正确的方向思考。
4.教师的角色互换问题
在采用项目教学法时,教师应是“双师型”的教师,教师的角色由传统的教学主导者转变为教学活动的引导者或主持人,在教学过程中,教师以咨询员、伙伴、朋友等角色出现在学生中,教学方法上由注重“教法”转变为注重“学法”。不要急着给学生得出答案或总结,要给学生“留白”,给学生留出充分发挥创造与想象力的空间,让他们一步一步走向成熟。
5.项目成果评价与交流
学生完成一个项目后,希望将作品展示出来,以期待获得同学的认同,所以一定要及时交流、展示讨论,让学生自评和互评。这是学生知识技能提高的重要阶段,会极大地培养学生的自信心和成就感。
● 展望
项目教学法可以培养学生综合应用多门学科知识解决问题的能力,训练学生小组协作和团队精神,让学生在应用中学习,在实践需要时学习,将理论学习和实际应用紧密地结合起来,提高学生对所学知识的内化程度,从而也提高了教学效率。
当今时代是技术大变革的时代,也是教师的教学方式大变革的时代,我们应该努力适应这种变革,为自身发展及学生成长带来新的变化。