“任务驱动法”在VB教学中的实践初探

2014-04-29 03:06唐思源邢俊凤杨敏
现代企业教育·下半月 2014年4期
关键词:任务驱动法程序设计解决问题

唐思源 邢俊凤 杨敏

摘要:“任务驱动”是一种建立在建构主义学习理论基础上的教学方法,它将再现式教学转变为探究式学习。VB程序设计课程是各院校计算机专业的一门基础的程序设计语言课程,其教学质量的高低直接影响此专业的培养目标能否实现,将任务驱动教学法应用于VB程序设计课程教学中,实现任务驱动与VB程序设计的有效整合,可显著提高教学质量。

关键词:VB任务驱动教学法探究式学习

VisualBasic程序设计被许多高校作为程序设计语言课程已有若干年了,在这些年里,和其他的语言一样,学生们学完了、考完了、等级证书也拿到了,但接下来没多长时间就忘光了。学生普遍的反映是:学过了程序设计,仍然不会设计程序,就像学习外语,记了一大堆的词汇和语法却不能张口表达。究其原因,有多方面,但笔者认为,我国计算机作为一门新兴学科,计算机课堂教学的方方面面尚有许多值得研究和探讨的问题。比如,许多计算机课在用讲说明书的方式给学生上课,教师只是告诉学生那种语言有什么命令,为学生灌输了一大堆生硬的命令和语法,学生只是被动地接受,大量的新概念专业名词把学生搞得昏头转向,渐渐地一些学生认为计算机是那样的深奥那样的可望而不可及,即使有些听话的学生能够死记硬背下了老师告诉的功能和命令,过了一段时间也把所学的知识忘的一干二净了,更谈不上如何去应用它们。

因此,我们传统的教学方法[1]有其固有的弱点,比如,把知识当成定论,当成了死的教条;把学习看作知识由外到内的输入过程;教学中过于呆板不灵活等。所以,我们必须寻找一种新的能够调动学生学习积极性的,和培养学生分析问题和解决问题能力的教学方法。

一、“任务驱动”教学法

“任务驱动”[2]是一种建立在建构主义学习理论基础上的教学方法,它将以往以传授知识为主的传统教学理念,转变为以解决问题、完成任务为主的多维、互动式的教学理念,使学生处于积极的学习状态,每一位学生都能根据自己对当前问题的理解,运用共有的知识和自己特有的经验提出方案,解决问题。“任务驱动”教学全过程中,以若干个具体任务为中心,通过完成任务的过程,介绍和学习基本知识和技能。并通过完成任务的过程,培养学生提出问题、分析问题、解决问题的综合能力。它强调学生要在真实情境的驱使下,在探究完成任务或解决问题的过程中,在自主和协作的环境中,在讨论和会话的氛围中进行学习活动。这样,学生既学到了知识,又培养了动手实践能力,提高了学生的探索创新精神。

VB程序设计语言课程的教学目标是使学生具有使用該语言开发应用程序的基本能力,具体地说就是要使学生掌握该语言的基本规则,常用算法以及使用该语言设计应用程序的基本技巧,能够编写、调试和运行实用、规范、可读性好的程序。针对课程知识量大、学时相对较少的矛盾,为达到上述教学目的,应灵活运用“任务驱动”教学法,充分锻炼学生的分析问题、解决问题和实际开发应用程序的能力,最大限度地调动学生的主观能动性。

二、“任务驱动”教学法的实施步骤

任务驱动教学方法的实施过程通常包括:设计提出任务、分析任务、自主协作完成任务、交流评价四个环节。

1.设计提出任务

“任务驱动”教学法[1],就是让学生在一个个典型的任务驱动下展开教学活动,引导学生由简到繁、由易到难、循序渐进地完成一系列任务,在完成任务的过程中,培养分析问题、解决问题的能力,建构真正属于自己的知识与技能。因此,任务设计的质量直接影响到教学效果。所以要求教师在课前要认真分析教材,在把握教学总体目标的基础上,把总目标细分成一个个的小目标,并把每一个学习模块的内容细化为一个个容易掌握的“任务”,通过这些小的“任务”来体现总的学习目标。同时,在设计任务时教师要掌握学生情况,根据学生现有的文化知识、认知水平、兴趣、年龄等特点和设计任务的原则,设计教学任务,写出任务书和学习进程。

2.创设情境,提出任务

设计好“任务”之后,教师要创设与当前学习主题相关的、尽可能真实的学习情景,引导学生带着真实的“任务”进入学习情境,使学习直观化和形象化。生动直观的形象能有效地激发学生联想,唤起学生原有认知结构中有关的知识、经验及表象,从而使学生利用有关知识与经验去“同化”或“顺应”所学的新知识。

3.分析任务

给出任务之后,教师不要急于讲解,任务分析是必要的过程,教材与教师通过启发和帮助,使学生对该任务进行分析,产生一系列需要分别独立或者依次可以完成的子任务,并找出哪些要用到旧知识,哪些需要新知识,从而使学生明确学习目标,激发学生学习新知识的积极性。由教师指导或组织进行的任务分析是重要的环节,有助于学生用正确思维方式与学习方式来解决问题。一般来说,任务分析的工作包括两方面,一方面是进行任务分解;另一方面则是找出解决问题的关键点(突破口)。

4.自主协作,完成任务

任务驱动法强调学生独立探索、亲自完成任务的全过程,以培养学生用探索式学习方法去获取知识与技能的能力以及与他人合作的能力。因此,教师尽量不要直接告诉学生应当如何去解决面临的问题,可以向学生提供解决问题的有关线索或资源,由学生个人或者分组去独立完成任务。

5.交流评价

交流评价与归纳[2]是总结、反思与巩固的阶段。在学生群体各自完成任务后,要组织交流,相互介绍中间的成果或者最后的作品。交流的目的一方面是通过相互评价,提升学生对作品的评价能力,鼓励学生发挥创新精神,创造有特色的作品,另一方面是总结完成的过程方法,发现和解决倾向性问题,促使学生进行反思,把所学会的知识内化。评价可以采用自评、组内互评、组间互评、点评等多种评价相结合的方法,使评价做到公平、公正。

三、基于任务驱动的教学实践

“任务驱动教学法”设计过程[3]中,要求教师在把握总体教学目标的基础上,把总体目标有机地分解成若干小目标。教学对应总目标设计总任务,对应小目标设计小任务,落实到每节课中,并通过这些任务来实现总的学习目标。我在前几年的教学中对这一点也深有体会,为此,我非常重视每次课引入任务的设计,常常为了设计一个任务而苦思冥想,力争每节课都能为学生带去一个能够满足他们好奇心的任务。

例如,我在讲VB中条件语句的应用时,选用了“计算机与人做猜数游戏”的任务,任务的描述是这样的:计算机随机出一个[0,100]区间上的整数,人通过操作键盘去猜这个数,对于人每次猜测的结果,计算机都要给出“大了”或“小了”的提示,要求人必须在7次以内猜中这个数。这堂课我是这样开始的:

课一开始,我就说,今天我们大家一起来做一个游戏,我在手心里写一个0~100之间的整数,大家来猜,我的提示是“对了”或“大了”或“小了”。这时课堂气氛一下活跃起来,有的同学说“3”,当我提示“小了”之后,又说“70”,就这样一问一答,教学过程开始了。在“大了”、“小了”的提示声中学生最终猜中了我出的数。紧接着,我让一位学生出一个数,我来猜,同样的规则,我在7次之内就猜中了,而且我说,你们任何一位出一个不超出该范围的整数,我都可以在7次以内猜中,你们是否可以做到?为什么?我让学生两两一对去实验,在实践中学生体会到只要采用“二分法”去猜,即第一次猜50,如果“大了”下次就猜25,如果“小了”下次就猜75。这样就可以保证7次以内猜中。这时我把任务提出:编写一个程序让计算机随机出数,我们来猜。由于经过课堂一开始的具体实践,学生对游戏的规则和步骤已经非常清楚,所以,老师带领学生很顺利地就能把编写程序的步骤总结出来:

1.计算机随机出一个[0,100]区间上的整数,并把它放在变量X;

2.计算机在屏幕上显示一句话“请猜猜这个数是几”;

3.計算机从键盘接收人猜的数,并把它放在变量Y里;

4.计算机比较这两个数的大小:

如果Y=X,计算机在屏幕显示“对了,停止游戏。”

如果Y

如果Y>X,计算机在屏幕上提示“大了”。

5.重复3,4。

接下来的事情,就是如何用VB程序设计语言的语句来实现上面的各个步骤了。这样的课学生上得非常投入,表面上在做游戏,实际上已经学到了很多知识。在这堂课上学生不但应用了条件语句、随机函数以及程序的循环结构,同时还学会了“二分法”的使用。这种方法他们可以应用到生活学习的许多地方,如使用二分法在一个有序的数据队列中查找某一个数,在字典中查找某个单词等,都可以节省不少时间。计算机学科的特殊性,为我们教师提供了太多的机会和可能为学生去创造这种生动活泼的课堂气氛和环境,只要教师下功夫去发现、去挖掘。

四、任务驱动教学实践分析

通过实践分析发现,任务驱动教学法糅合了当前两大教学法[3] (探究教学法、问题教学法)的特点:任务驱动教学法采取小组讨论、协作学习的方式,学生学习的过程就是一个探究的过程;任务驱动教学法通过把一个具体任务分析成若干个问题来驱动学生的学习。但是任务驱动教学法又有其自身的特点:“任务驱动”教学法最根本的特点就是“以任务为主线、教师为主导、学生为主体”,改变了以往“教师讲,学生听”,以教定学的被动教学模式,创造了以学定教、学生主动参与、自主协作、探索创新的新型学习模式。同时通过实践发现“任务驱动”法有利于激发学生的学习兴趣,培养学生的分析问题、解决问题的能力,提高学生自主学习及与他人协作的能力,是一种适合于程序设计课程的教学方法。

参考文献:

[1]李龙.教学过程设计[M].呼和浩特:内蒙古人民出版社,1997.

[2]钟柏昌.“任务驱动”教学中的误区及浅析[J].中小学信息技术教育,2003,(10).

[3]王吉庆.关于任务驱动之我见[J].中小学信息技术教育,2003,(7).

猜你喜欢
任务驱动法程序设计解决问题
联系实际 解决问题
助农解决问题增收致富
在解决问题中理解整式
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
化难为易 解决问题
高职高专院校C语言程序设计教学改革探索
胶囊剂的制备课程教学设计
物流运输管理课程教学改革探讨
任务驱动法在土木工程测量教学中的应用