任务驱动教学法在程序设计语言教学中的研究与应用5页
- 格式:doc
- 大小:16.00 KB
- 文档页数:5
任务驱动法在程序设计教学中的运用作者:曹丽萍来源:《职业·中旬》2011年第11期《Visual Basic程序设计》是中等职业学校计算机专业学生必修的专业基础课程,对于提高学生的专业水平,形成专业领域中的实际工作能力,具有举足轻重的作用。
经过多年的教学实践,笔者发现,要指导学生学好这门课程,两个“差距”的问题必须解决。
一是教材与学情之间的差距。
虽然《Visual Basic程序设计》功能强大,其方便快捷的可视化编程手段,使得程序设计变得容易,但是,Visual Basic语言内容丰富,知识又涉及许多抽象的术语,如类、对象、过程、语句、控件等,而我们的中职学生,虽有学好本课程的良好愿望,但学习底子较弱,英语基础较差,畏难情绪严重。
这种教材与学情之间的脱节,直接影响学生的学习效果。
二是学生与学生之间的差距。
中职学生的知识水平、思维能力、自学能力参差不齐,在采用传统方法教学的过程中,笔者发现学生中“吃不了”与“吃不饱”的问题十分突出,这一“剪刀差”现象如不加以科学化解,势必对学生的学习效果产生极大的消极影响。
如何依据教材特点,立足学生实际,合理解决上述问题,是笔者多年来教改探索的核心。
经过多种教学方法的尝试与比较,笔者认为,任务驱动教学法既能充分发掘《Visual Basic程序设计》操作性较强、可分解成小“任务”教学的优势,从而降低学习难度,衔接学情,又有利于激发学生的学习热情、培养学生的合作精神,尤其是可以科学化解学生中的“剪刀差”问题,十分适合这一课程的教学。
本文以实际教学为例,谈谈笔者近年来在《Visual Basic程序设计》教学中实施任务驱动教学法的实践与体会。
一、教材内容化整为零,以小任务达成总目标《Visual Basic程序设计》是一门知识性和技能性高度结合的课程,要求学生既要学好理论知识,又要掌握实际操作技能。
然而现行教材在内容编排上多以线性方式展开,如果在教学中仍按传统的章节分类讲授,势必降低课程的实用性,也缺乏趣味性,不但难以培养学生的学习兴趣,容易使教学双方都陷入困境,而且,学生也不知道如何在真实的情境中灵活地运用知识和技巧。
任务驱动教学法在程序设计语言教学中的研究与应用
文献标识码:B
1引言
“C语言程序设计”、“C++程序设计”、“JAVA程序设计”、“VB 程序设计”、“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 System.out.println("还将就,你过关了!");
else if (i
希望以上资料对你有所帮助,附励志名言3条:
1、理想的路总是为有信心的人预备着。
2、最可怕的敌人,就是没有坚强的信念。
——罗曼·罗兰
3、人生就像爬坡,要一步一步来。
——丁玲。