摘要:本文以“任务驱动”教学法在程序设计教学过程中的具体运用为例,叙述了在“以学生自主学习为主,教师导学为辅”的“教与学”模式下,培养学生自主学习能力、解决问题能力和完成学习任务的作用。
关键词:远程开放教育;任务驱动;程序设计
1.“任务驱动”的概念
“人才培养模式改革和开放教育试点”核心的问题是“教与学”模式的确定。教学模式改革的总体要求是:“以学生自主学习为主,教师导学为辅,以网络和现代教育技术为依托,多种教学媒体综合运用”[1]。而所谓“任务驱动”教学模式,是一种建立在建构主义教学理论基础上的教学法[2],其原理是:学生的学习活动与大的任务或问题相结合,以探索问题来引导和维持学习者的学习兴趣和动机,创建真实的教学环境,让学生带着真实的任务去学习。也是教师把教学内容设计成一个或多个具体的任务,让学生通过完成一个个具体的任务,从而掌握教学内容,达到教学目标。
2.“任务驱动”教学模式
由于各种原因,多数远程开放教育学生工作与学习矛盾、家庭生活与学习矛盾相对突出,加之教师与学生相对分离等问题,学习的困难相对加大。然而“任务驱动”教学法提出了一种由表及里、逐层深入的学习途径,便于学生循序渐进地学习,让学生在一个个典型“任务”的驱动下自己安排时间学习,引导学生由简到繁、由易到难、循序渐进地完成一系列“任务”。在这个过程中,学生拥有学习的主动权,加之教师不断地激励学生前进,学生还会不断获得成就感,可以更大地激发他们的求知欲望,逐步形成一种感知心智活动的良性循环,从而培养出独立探索、勇于开拓进取的自学能力。另外学生可在学习小组中互相学习、互相探讨,增强其协作能力;学生在网络环境中能更多,更好地获得解决问题所需的资料,从而学习到更多的知识,并通过此任务举一反三,获得更好的学习效果。“任务驱动”教学模式设计已经形成了以“任务为主线、教师为主导、学生为主体的基本模式特征”,它与开放教育教学模式改革的总体要求是一致的。
3.教学实例
程序设计语言类课程教学中,传统的教学过程是[3]:
而任务驱动法一般的教学过程是[3]:
“任务驱动”教学法的教学过程归纳起来一般分为三个阶段:一是任务的设计阶段,包含创设情境和确定问题两个环节;二是任务的实施阶段,包含学生自主学习和协作学习的活动;三是效果评价的教师活动。我们在教学中注重遵循这三个阶段实施。
根据远程开放教育的特点,首先进行教学平台中资源的整合与补充。学生根据居住地域、计算机基础知识掌握程度、个人拥有计算机情况组成3-5人的学习小组。引导制定学习小组的学习、活动规划。让学生结合自己工作特点、生活状况对课程作出合理的学习安排,确定阶段性的学习目标与任务,制订切实的学习进程计划,规划自己的学习,以便克服学习的随意性。
学生在校园网教学平台的讨论区中提问最多的问题就是C++语言程序设计难学吗?如何学习C++语言程序设计?等。如果要很好的回答此类问题,并非易事。针对此类问题我们在校园网教学平台上提出如下小任务,操作程序如下:
A. 安装Visual C++6.0在你的计算机中(如果没有此软件、不会安装此软件以及要进一步了解Visual C++6.0使用的同学,请与指导教师联系,Email:lijh@qhrtvu.edu.cn);
B. 阅读C++语言程序设计实验指导Page1-Page6,将Page5中的程序编辑、编译、运行,无论成功与否,将其编译界面截取(如果编译有错误提示,请拷贝),用Email发给指导教师(注:应及时地用Email回复,如果有问题应帮助分析其原因);
C. 完成B后,请阅读C++语言程序设计主教材Page22-Page23,并做练习2.4-2与2.4-3。完成练习后将两个练习合并成一个程序上机验证。下面的程序为合并后的练习;
#include<iostream.h>
enum WEEKDAY {Sun,Mon,Tue,Wed,Thu,Fri,Sat};
WEEKDAY yesterdayOf(WEEKDAY today) {
if(today= =Sun) return ______ ; //请填写内容
return __________; //请填写内容
}
void main( )
{
WEEKDAY d;
cout<<endl<<"请输入一个数:";
cin>>d;
cout<<endl<<d<<endl;
}
编译后有错误提示,将其编译界面截取(请拷贝错误提示),用Email发给指导教师(注:应及时地根据学生出现的问题给于适当指导,对于正常出现编译错误提示的要鼓励学生进一步思考、探索,但要避免学生钻牛角尖);
D. 请阅读C++语言程序设计主教材Page32-Page33后,试一下能否解决上面出现的错误,将修改的程序运行,无论成功与否,将其编译界面截取,用Email发给指导教师。请在网上搜索关于“学习C++的忠告”等内容,思考一下应该如何学习C++语言程序设计?将想法用Email发给指导教师及同学。
指导教师要参与学习小组活动,引导学习小组分析解决问题的方法。利用面授辅导和上机实验,根据学生完成任务情况进行总结,解答出现问题的原因,介绍学习程序设计的方法,并将解答在教学平台上公布。提出下一个小任务:
A. 请阅读程序组(程序清单略),写出运行结果,并上机验证;
B. 改写程序,实现相同功能(例如:用switch语句替换if语句、for语句替换while语句等);
C. 按自己的想法,试着扩展程序功能;
D. ……
完成上述两个小任务,课程本单元知识点的学习就基本完成。当然随着课程的进行应加大任务的综合性及难度。
4.几点注意
4.1把握好任务设计[4]
在课程教学过程中,任务的设计非常关键,它设计的好坏直接影响教学效果。因此在任务设计时,教师必须认真地分析教学目标,然后将教学目标巧妙地蕴涵到任务中,通过教师的引导,使学生把课程的知识点有机的联系起来,构建课程的知识框架,并举一反三,触类旁通。其次,任务设计要符合远程开放教育学生的特点,从学生的实际出发设计出合适的任务(对基础知识掌握较差的学生应当指明需要补充学习的内容,并提供必要的学习资料,以免接受任务后感到茫然,从而失去学习的信心)。此外,结合任务设计,教师要提供相应的学习资源,以便学生参考,还必须仔细分析任务中的重点、难点或可能有问题的地方,以便教学过程中能给学生恰当的指导。
4.2把握好教学方式
在任务给出后,要求学生在小组中进行分析讨论,使学生尽快进入自主学习状态。指导教师应及时检查学生完成任务的情况,督促学生在规定的时间之内完成任务。教师尤其要认识到学生的知识不是靠教师的灌输被动接受的,而是在教师的指导下,由学生主动建构起来的。在任务实施过程中,教师在必要时要有示范抛砖引玉,教师还要引导学生对所学的新知识进行归纳总结,建立新旧知识间的联系,以加深学生对知识的理解。
4.3把握好考核标准
对最终成果进行总结、考核是任务驱动式教学法的重要环节。教师要制定一个考核标
准,标准应符合教学的具体情况,突出考核主要知识点的掌握。应让学生在校园网教学平台上公布自己的成果,由同学评价,并且解答其他同学提出的问题,这样可以营造一种集体学习的氛围。教师要对整个过程中学生的新思路应加以表扬,对不够完善的方面进行纠正、补充。值得注意的是,教师应对每位学生进行评价,然后提出下一个新任务。至此,整个过程自然流畅,有内涵,有延伸。
5.结束语
本人在担任计算机应用、通讯工程两个专业,合并开设的C++语言程序设计课中,由于采用了“任务驱动”教学法,在教学中得到了学生的配合,统考及格率达96%,取得了较好的效果。实践证明,“任务驱动”教学法有效地调动了学生学习的积极性,培养了学生自主学习能力,体现了学生自主探索和创新精神,可以促进学生能在自己原有的基础上得到提高。
参考文献
[1]青海广播电视大学“人才培养模式改革和开放教育试点”项目总结性评估自评报告
[2]何克抗,建构主义学习环境下的教学设计[M],北京师范大学出版社,1998
[3]王越超、周启永、姚娱,驱动式教学法在程序设计语言类课程教学中的应用,广州市财贸管理干部学院学报,2004.3
[4] 刘义红,“任务驱动”法在《编译原理》教学中的实践与探索,淮南师范学院学报,2005.3 |