论文部分内容阅读
《Visual Basic程序设计》是中等职业学校计算机专业学生必修的专业基础课程,对于提高学生的专业水平,形成专业领域中的实际工作能力,具有举足轻重的作用。经过多年的教学实践,笔者发现,要指导学生学好这门课程,两个“差距”的问题必须解决。一是教材与学情之间的差距。虽然《Visual Basic程序设计》功能强大,其方便快捷的可视化编程手段,使得程序设计变得容易,但是,Visual Basic语言内容丰富,知识又涉及许多抽象的术语,如类、对象、过程、语句、控件等,而我们的中职学生,虽有学好本课程的良好愿望,但学习底子较弱,英语基础较差,畏难情绪严重。这种教材与学情之间的脱节,直接影响学生的学习效果。二是学生与学生之间的差距。中职学生的知识水平、思维能力、自学能力参差不齐,在采用传统方法教学的过程中,笔者发现学生中“吃不了”与“吃不饱”的问题十分突出,这一“剪刀差”现象如不加以科学化解,势必对学生的学习效果产生极大的消极影响。
如何依据教材特点,立足学生实际,合理解决上述问题,是笔者多年来教改探索的核心。经过多种教学方法的尝试与比较,笔者认为,任务驱动教学法既能充分发掘《Visual Basic程序设计》操作性较强、可分解成小“任务”教学的优势,从而降低学习难度,衔接学情,又有利于激发学生的学习热情、培养学生的合作精神,尤其是可以科学化解学生中的“剪刀差”问题,十分适合这一课程的教学。本文以实际教学为例,谈谈笔者近年来在《Visual Basic程序设计》教学中实施任务驱动教学法的实践与体会。
一、教材内容化整为零,以小任务达成总目标
《Visual Basic程序设计》是一门知识性和技能性高度结合的课程,要求学生既要学好理论知识,又要掌握实际操作技能。然而现行教材在内容编排上多以线性方式展开,如果在教学中仍按传统的章节分类讲授,势必降低课程的实用性,也缺乏趣味性,不但难以培养学生的学习兴趣,容易使教学双方都陷入困境,而且,学生也不知道如何在真实的情境中灵活地运用知识和技巧。如果教师能把教学内容中的关键知识点分成若干个小模块,针对学生的实际水平,设计出一个个小任务,把所要学习的知识巧妙地隐含在这些任务当中,让学生逐个完成,那么,学生就会在具有明确目标的任务驱动下,在“跳一跳”能“摘到桃子”的意识指导下,自发地学习教材中的相关知识和技能,唤醒学习热情,从而使整个学习过程逐渐步入良性循环。
例如,在学习Visual Basic语言基础知识时,笔者将概念性知识、函数、变量分解到各个章节和任务中学习,让学生在解决问题的过程中自己去探究和体验。如将时间函数放在记时器任务中学习,将随机函数(RND)放在抽取幸运数字任务中学习等。又如,将变量的类型——整型、单精度型、双精度型调整到程序结构的循环语句中合并学习,让学生既学习循环语句又感受三个变量数据保存范围的不同。笔者设计了求阶乘的任务:首先让学生在命令按钮的Click事件中编写一段程序,求5!,通过调试,学生写好如下程序:Dim I As Integer:Dim X As Integer:X=1:for I=1 to 5:X=X*I:Next I:Print“X=”;X,运行得出正确结果。然后让学生把程序稍微修改一下,求10!。这时很多学生会迅速将程序中For I=1 to 5语句的5改为10,运行后却发现屏幕上并没有如预期想象的那样给出正确结果,而是显示出一个“数据溢出”的错误提示对话框。这时学生纷纷自发地运用教材中的相关知识,探讨出现问题的原因,试着将变量的数据类型进行修改,把变量X定义为单精度浮点型,终于得出了正确结果。通过亲身实践,学生已基本明白了不同数据类型对取值范围的影响。举一反三,再要求学生修改程序,求100!时,学生就会自觉联想到应该将数据类型定义为双精度型。这样,通过这些具体任务的解决,本部分内容的教学得以圆满完成。
二、教学形式化整为零,以小群体教学实现共同提高
这里所说的教学形式,特指课堂组织形式。所谓“教学形式化整为零”,是指课堂组织形式由原来的面向班级整体教学转变为成立小组合作学习。
笔者在教学实践中发现,中职学生的知识水平、自学能力、实践经验等存在较大差异,学习同样一个内容,常常会出现这样的情况:有的学生早已掌握,有的学生却还云里雾里。采用面向全体学生的传统教学法,往往会有一些学生因已经掌握而无事可干,而另一些学生却因听不懂而放弃学习,这严重影响了教学效果,造成极大的资源浪费。
“任务驱动”是一种建立在建构主义理论基础上的教学法,在整个教学过程中,教师以完成一个个具体的任务为线索,让学生以分组的方式领会学习的核心内容,变整体教学为小组合作探究。这种教学方法的最大好处,在于可有效解决上述因学生个体差异而带来的教学困扰,提高整体学习效果。
例如:在窗体和基本控件一章的命令按钮控件和文本框控件教学中,笔者分别在两个班级以面向全体学生和分组的方式进行教学比较。在面向整班教学中,笔者按传统的教学方法具体讲授了两个控件的属性和事件,还运用示例作了演示,结果发现学生的学习状态差异很大:有的已经在探索控件的事件过程中的程序代码,而有的还只停留在控件属性的设置上,有的就干脆坐在那里发呆。而在另一个班级,笔者将“设计简单计算器”作为任务,充分考虑学生的学习基础、个性特点、性别差异等因素,按“先进”生与“后进”生搭配、内向生与外向生搭配、男生与女生搭配的原则,成立四人小组,课上将任务交给各个小组去完成。各小组在完成任务的过程中,相互讨论、相互交流、相互合作,很多问题在相互交流的过程中得到解决。因此,最后各小组提出的都是相对集中的层次较高的问题,笔者用了不到2个课时的时间就完成了对学生的指导。更令人欣喜的是,在课后测试中,笔者发现几乎所有的学生都已经基本掌握了这部分内容。因此,笔者认为这种小组合作探究的形式,可以消除学生学习中“剪刀差”所带来的负面影响,既提高了学生的整体学习效率,又培养了他们的合作精神,实现了共同提高的教学愿望。
三、运用“任务驱动”教学法需注意的几个问题
虽然,在本课程的教学中,“任务驱动”教学法的优势十分明显,但与其他众多的教学法一样,它不会、也不可能完美无缺。如果运用不当,或许其优势也会成为劣势。因此,在采用“任务驱动”教学法进行教学时,要注意以下几个问题:
1.任务设置适度
教师要充分把握学生在本课程学习中的最近发展区,在课程总体目标的框架上,把总目标细分成一个个小模块,再把每一个学习模块的内容,细化为一个个小“任务”,做到任务大小适度。同时,要注意分散教材内容中的重点、难点,做到任务难易适度。
2.小组搭配适当
在成立小组时,一定要充分考虑小组成员的互补性,特别是“先进”生与“后进”生的搭配。只有这样,才能充分发挥同伴作用,通过组内讨论交流,以“先会”带“后会”,使“后会”者在“先会”者的指点下及时获知解决问题的方法。同时,使“先会”者在帮助同学的过程中既巩固知识、加深理解,又充分享受学习带来的成就感,激发更大的学习热情,从而真正实现“先进”“后进”共同提高。
3.评价反馈适时
评价反馈是促进学生不断深入学习的“清醒剂”与“催化剂”。在采用“任务驱动”教学法进行教学时,评价活动要贯穿课堂教学的全过程。教师应随时捕捉学生的进步,并给予及时的肯定和鼓励,让学生充分体验成功的喜悦和合作的快乐。
(作者单位:浙江省嘉兴市高级技工学校)
如何依据教材特点,立足学生实际,合理解决上述问题,是笔者多年来教改探索的核心。经过多种教学方法的尝试与比较,笔者认为,任务驱动教学法既能充分发掘《Visual Basic程序设计》操作性较强、可分解成小“任务”教学的优势,从而降低学习难度,衔接学情,又有利于激发学生的学习热情、培养学生的合作精神,尤其是可以科学化解学生中的“剪刀差”问题,十分适合这一课程的教学。本文以实际教学为例,谈谈笔者近年来在《Visual Basic程序设计》教学中实施任务驱动教学法的实践与体会。
一、教材内容化整为零,以小任务达成总目标
《Visual Basic程序设计》是一门知识性和技能性高度结合的课程,要求学生既要学好理论知识,又要掌握实际操作技能。然而现行教材在内容编排上多以线性方式展开,如果在教学中仍按传统的章节分类讲授,势必降低课程的实用性,也缺乏趣味性,不但难以培养学生的学习兴趣,容易使教学双方都陷入困境,而且,学生也不知道如何在真实的情境中灵活地运用知识和技巧。如果教师能把教学内容中的关键知识点分成若干个小模块,针对学生的实际水平,设计出一个个小任务,把所要学习的知识巧妙地隐含在这些任务当中,让学生逐个完成,那么,学生就会在具有明确目标的任务驱动下,在“跳一跳”能“摘到桃子”的意识指导下,自发地学习教材中的相关知识和技能,唤醒学习热情,从而使整个学习过程逐渐步入良性循环。
例如,在学习Visual Basic语言基础知识时,笔者将概念性知识、函数、变量分解到各个章节和任务中学习,让学生在解决问题的过程中自己去探究和体验。如将时间函数放在记时器任务中学习,将随机函数(RND)放在抽取幸运数字任务中学习等。又如,将变量的类型——整型、单精度型、双精度型调整到程序结构的循环语句中合并学习,让学生既学习循环语句又感受三个变量数据保存范围的不同。笔者设计了求阶乘的任务:首先让学生在命令按钮的Click事件中编写一段程序,求5!,通过调试,学生写好如下程序:Dim I As Integer:Dim X As Integer:X=1:for I=1 to 5:X=X*I:Next I:Print“X=”;X,运行得出正确结果。然后让学生把程序稍微修改一下,求10!。这时很多学生会迅速将程序中For I=1 to 5语句的5改为10,运行后却发现屏幕上并没有如预期想象的那样给出正确结果,而是显示出一个“数据溢出”的错误提示对话框。这时学生纷纷自发地运用教材中的相关知识,探讨出现问题的原因,试着将变量的数据类型进行修改,把变量X定义为单精度浮点型,终于得出了正确结果。通过亲身实践,学生已基本明白了不同数据类型对取值范围的影响。举一反三,再要求学生修改程序,求100!时,学生就会自觉联想到应该将数据类型定义为双精度型。这样,通过这些具体任务的解决,本部分内容的教学得以圆满完成。
二、教学形式化整为零,以小群体教学实现共同提高
这里所说的教学形式,特指课堂组织形式。所谓“教学形式化整为零”,是指课堂组织形式由原来的面向班级整体教学转变为成立小组合作学习。
笔者在教学实践中发现,中职学生的知识水平、自学能力、实践经验等存在较大差异,学习同样一个内容,常常会出现这样的情况:有的学生早已掌握,有的学生却还云里雾里。采用面向全体学生的传统教学法,往往会有一些学生因已经掌握而无事可干,而另一些学生却因听不懂而放弃学习,这严重影响了教学效果,造成极大的资源浪费。
“任务驱动”是一种建立在建构主义理论基础上的教学法,在整个教学过程中,教师以完成一个个具体的任务为线索,让学生以分组的方式领会学习的核心内容,变整体教学为小组合作探究。这种教学方法的最大好处,在于可有效解决上述因学生个体差异而带来的教学困扰,提高整体学习效果。
例如:在窗体和基本控件一章的命令按钮控件和文本框控件教学中,笔者分别在两个班级以面向全体学生和分组的方式进行教学比较。在面向整班教学中,笔者按传统的教学方法具体讲授了两个控件的属性和事件,还运用示例作了演示,结果发现学生的学习状态差异很大:有的已经在探索控件的事件过程中的程序代码,而有的还只停留在控件属性的设置上,有的就干脆坐在那里发呆。而在另一个班级,笔者将“设计简单计算器”作为任务,充分考虑学生的学习基础、个性特点、性别差异等因素,按“先进”生与“后进”生搭配、内向生与外向生搭配、男生与女生搭配的原则,成立四人小组,课上将任务交给各个小组去完成。各小组在完成任务的过程中,相互讨论、相互交流、相互合作,很多问题在相互交流的过程中得到解决。因此,最后各小组提出的都是相对集中的层次较高的问题,笔者用了不到2个课时的时间就完成了对学生的指导。更令人欣喜的是,在课后测试中,笔者发现几乎所有的学生都已经基本掌握了这部分内容。因此,笔者认为这种小组合作探究的形式,可以消除学生学习中“剪刀差”所带来的负面影响,既提高了学生的整体学习效率,又培养了他们的合作精神,实现了共同提高的教学愿望。
三、运用“任务驱动”教学法需注意的几个问题
虽然,在本课程的教学中,“任务驱动”教学法的优势十分明显,但与其他众多的教学法一样,它不会、也不可能完美无缺。如果运用不当,或许其优势也会成为劣势。因此,在采用“任务驱动”教学法进行教学时,要注意以下几个问题:
1.任务设置适度
教师要充分把握学生在本课程学习中的最近发展区,在课程总体目标的框架上,把总目标细分成一个个小模块,再把每一个学习模块的内容,细化为一个个小“任务”,做到任务大小适度。同时,要注意分散教材内容中的重点、难点,做到任务难易适度。
2.小组搭配适当
在成立小组时,一定要充分考虑小组成员的互补性,特别是“先进”生与“后进”生的搭配。只有这样,才能充分发挥同伴作用,通过组内讨论交流,以“先会”带“后会”,使“后会”者在“先会”者的指点下及时获知解决问题的方法。同时,使“先会”者在帮助同学的过程中既巩固知识、加深理解,又充分享受学习带来的成就感,激发更大的学习热情,从而真正实现“先进”“后进”共同提高。
3.评价反馈适时
评价反馈是促进学生不断深入学习的“清醒剂”与“催化剂”。在采用“任务驱动”教学法进行教学时,评价活动要贯穿课堂教学的全过程。教师应随时捕捉学生的进步,并给予及时的肯定和鼓励,让学生充分体验成功的喜悦和合作的快乐。
(作者单位:浙江省嘉兴市高级技工学校)