任务驱动教学法在程序设计语言教学中的研究与应用

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

任务驱动教学法在程序设计语言教学中的研究与应用

1引言

“C语言程序设计”、“C++程序设计”、“JA V A程序设计”、“程序设计”、“C#程序设计”等课程是软件开发类学生的必修专业课程,此类课程传统的教学采用理论和实践脱节的教学法,老师感觉教学实施很困难,学生感觉不能理解所教内容,没法独立完成简单程序的编码任务。而任务驱动教学法可以把理论教学和实践教学很好地结合起来,将其运用在程序设计语言类课程中,可以改变老师难教,学生难学的现状,使学生成为教学的主体,容易激发学生的学习热情,达到自主学习的目的。程序设计语言作为基本的软件开发工具之一,学生的知识结构、操作技能和分析问题、解决问题的能力是学生专业学习的着重点。本文就任务驱动教学法如何在程序设计语言类课程中的实施谈谈笔者的初浅认识与实践体会。

2任务驱动教学法及其对程序设计语言教学的适应性

任务驱动教学法是基于建构主义学习理论的一种教学方法。它强调学生要在真实情景中的任务驱动下,在探索任务和完成任务的过程中,在自主学习和团队协作的环境下,在讨论和会话的氛围中,进行学习活动。这样学生不仅能学到知识、提高技能,还能培养实践动手能力,提高学生的探索创新精神。学生在完成任务的过程中始终处于主体地位。教师的角色是学习情景和学习任务的设计者、学习资源的提供者、学习活动的组织者和学习方法的指导者。任务驱动教学法给学生提供了充分的自由,使学生成为学习的主体,改变了“教师讲、学生听”的传统的讲授型教学模式,创造了以学定教、学生主动参与、自主学习、团队协作,探索创新的新型的学习方式。

任务驱动教学法对程序设计语言教学的适应性主要表现在一下几方面:

2.1探究教学策略

在实践中笔者发现,学生感觉编程类课程枯燥乏味,又难以理解,许多知识点抽象空洞,不能和实际应用结合起来。学生学习没有兴趣,光凭教师的讲解学生也难于理解。而任务驱动的教学方法能激发学生学习的积极性和主动性,提高课堂教学的效益,帮助学生熟练掌握和运用知识,起到事半功倍之效率。根据任务驱动教学法是基于建构主义教学理论教师以任务链的方式合理的呈现任务并有效地组织学生合作交流,使学生通过自主活动来建构知识和完善自己认知结构的特点,探究有效的教学策略为:任务提出→自主探索、合作交流→引入知识点→任务解决。

2.2设计任务情境,激活学习积极性

如何提高学生学习积极性和主动性?如何将枯燥的编程知识与实际应用及

开发结合起来?笔者通过实践分析发现通过任务驱动的教学方式可以提高学生的学习积极性和思考问题的主动性。在这种任务驱动的教学方法实施下,学生通过自主探索与合作交流,可以提高自身分析问题与解决问题的能力。通过师生互动,在角色平等中共同进步,通过多方互动在多方协助中成长。结合所要讲授的知识点,授课教师可创设相关知识点所对应的任务情境,以某个人物角色贯穿整个任务情境。使学生感觉问题贴近现实生活,能够学以致用。

2.3以项目驱动的方式融合课程所需知识点,形成支撑课程的知识链

通过任务驱动的方式引入知识点的讲授,以项目驱动

的方式融合所讲授的知识点,将分散的知识点串成知识链。在课程的知识点讲授的同时,让学生分组分工完成一综合项目——例如“猜数游戏”、“酒店管理系统”、“航空公司客户管理系统”等的设计与实现,在具体任务的解决过程中,能培养学生的团队协作、沟通能力以及对知识的理解和掌握能力。

3任务驱动教学法教学实施

笔者就以Java程序设计语言中程序控制结构这部分内容的学习为例,阐述任务驱动教学法在程序设计语言类课程中的运用与实践以及与传统教学的区别。

3.1任务驱动教学法在Java程序设计中程序控制结构部分的教学实施

(1) 任务提出

教师创设一问题情境,通过编写游戏的方式,激发学生兴趣,引入需要学生掌握的程序控制结构的知识介绍。

【问题情境】用Java语言编写一个猜数字的游戏,由电脑随机产生一个100以内的整数,让用户去猜,如果用户猜的比电脑大,则输出“大了,再小点!”,反之则输出“小了,再大点!”,用户总共只能猜十次,并根据用户正确猜出答案所用的次数输出相应的信息,如:只用一次就猜对,输出“你是个天才!”,6次以内猜对,则输出“还将就”,八次才猜对,输出“过关了,不过还要努力!”,如果十次还没有猜对,则游戏结束!

(2) 自主探索、合作交流

在该环节,学生被分为了若干小组,分别对已有知识的掌握进行自主探索,分组交流,找出该问题的解决方案。通过学生的分组交流和对知识的自主探索,学生得出需要用到的知识结构如下:

●循环控制结构,用于控制输入的次数不超过10次,每次输入与电脑产生的数进行比较;

●条件判断结构,用于判断输入的数是否与电脑产生的数一致;

●条件判断结构,用于判断输入的次数是否为小于2,大于2同时小于6,大于6同时小于8,大于8同时小于10,以此来显示对游戏者的评语。

(3) 教师点评,并引入知识点

在解决该问题的过程中,需要用到程序控制结构中的循环控制以及条件判断结构,由于游戏者输入的次数只有10次,建议用for循环来实现游戏次数的控制。判断游戏者是否猜对以及对其的游戏评语可以用if-else语句及其嵌套来实现判断操作。

(4) 问题解决

通过学生的自主交流、探索与教师的点评,得出该游戏的如下解决方案:

import java.util.*;

import java.io.*;

public class CaiShu{

public static void main(String[] args) throws IOException{

Random a=new Random();

int num=a.nextInt(100);

System.out.println(“请输入一个100以内的整数:”);

for (int i=0;inum)

System.out.println(“输入的数大了,输小点的!”);

else if (shu

4教学反思

在任务驱动下的教学实施中教师教学方式和学生学习方式都发生了很大变化,笔者感受到任务驱动教学法的设计及实施在“程序控制结构”这讲内容中是有效的、可行的,真正促进了学生自主学习,也让学生深刻理解到所学知识运用于何处,将理论知识与实际生活中的具体问题有效结合起来。

4.1任务驱动下的教学实施中教师教学方式地转变

相关文档
最新文档