APP下载

基于任务激励的程序设计类课程教学模式

2011-01-01刘启玉于欣范良忠

计算机教育 2011年4期

  摘要:本文针对独立学院学生特点,采用“任务驱动+考核激励”的思想,建立了一种适合于程序设计类课程的任务激励教学模式,并通过在Java程序设计课程中的应用与实践阐述了该模式的实施方法。这种模式能充分发挥考核的引导、激励和反馈功能,有效激发学生的学习兴趣和动力。
  关键词:任务激励;课程考核;教学模式;程序设计
  
  1 程序设计类课程教学现状
  
  作为信息类专业的重要课程,程序设计类课程担负着讲授软件编程技术和方法、培养软件编程和设计能力的任务。随着软件开发技术日新月异的快速发展,需要不断更新和扩充程序设计类课程的教学内容,如何更好地发挥该类课程实践性强的特点,逐步培养学生较强的编程实践能力、程序开发技巧和开发经验,从而胜任企业需要,是亟待研究解决的问题。这对于提升学生在软件行业的就业能力具有很重要的作用。
  但真正适应企业需要的实践能力的培养需要大量的实践项目的训练,这对课程教学提出了挑战。目前在教学中主要存在以下问题。
  1)软件开发技术往往体系庞大复杂,在学习过程中容易失去信心。业界流行且在学生就业中有竞争力的软件开发技术,往往体系庞大、学习周期长。例如Java技术包含的技术规范极其庞大,而实际应用中使用的各种框架技术也非常之多,学生需要付出的学习成本较高,学生感觉有很多技术需要学习,但真正需要开发d3ZjA7l87Zh8nRSzg0VCtg==一个实际应用系统时,又总是感觉能力上还远远不够,致使他们逐渐失去信心。
  2)教学方法与考核机制单一,学生缺乏学习兴趣和主动性。独立学院的学生由于学习自主性和自控力较差,对于常见的教学方式大多是老师用PPT说的多,学生做的少,学生往往觉得枯燥,因而缺乏动力。同时,教学内容多、知识量大,难以取舍,所以难免在教学过程中变得面面俱到,重点、难点不突出,学生理解困难。而传统的考核方式也使得学生容易应付课程考试,抹杀了学生主动发现问题的探索精神,导致学生学习不主动。
  3)实践教学中内容单一,且缺乏有效的过程控制。目前的实践教学,面临两难局面。如果基础验证性实验较多,设计性、综合性实验较少,不利于学生动手能力的培养;但增加设计性、综合性实验内容时,由于难度增加,学生在实践中遇到大量问题,增加了挫折感,很容易失去学习的信心和兴趣。
  4)考试没有发挥应有的激励、反馈和引导功能,反而成为学生的负担,难以合理评判学生的学习效果,激发学习动力。由于程序设计类课程实践实践性强的特点,在考核方式上,难以通过试卷在短时间内检验学生的程序设计能力和软件设计思想。目前我们主要通过大作业或课程项目的方式进行考核。由于很多作业都需要在课外完成,有的学生互相抄袭甚至拷贝作业,但要详细检查每一个人的作业将要花费很大的工作量,比如J2EE课程作业往往包含很多个文件,教师需要逐个检查但还是难以避免,这些都造成教师对整个实践环节的过程监控不易实施。
  
  2 任务激励法的概念及其特点
  
  2.1 任务激励法的概念
  程序设计类课程具有实践性强,紧密结合企业应用等特点,教学目标在于培养学生的技术应用能力和设计思想,而这些难以在试题中体现或通过一般的方法进行考察。同时,由于独立学院的学生具有基础较弱,学习主动性、自觉性较差等特点,如何通过改革课程教学模式和考核机制,导向于培养学生的技术综合应用能力,从源头入手,着力于提高学生的学习兴趣、动力和主动性,成为一个亟待研究的问题。
  任务激励法是在教学活动中,以实践任务为载体,并结合激励考核机制,开展实践性教学的方法。学生在教师组织、引导下,通过教师的指导和自主的任务探究,达到对所学知识点的把握和操作技能的培养。它强调学生在考核达标任务的驱使下,在探究完成任务或解决问题的过程中,在自主和协作的环境中,在讨论和会话的氛围中进行学习活动。这样,学生既学到了知识,又培养了动手实践能力,提高了学生的探索创新精神。
  任务激励法是一种将任务驱动式教学和考核机制有机融合的教学模式。任务激励法采用基于积分制的激励考核方式,课程成绩建立在实践任务的累积记分之上,借助于游戏中的“冲关”和“积分排名”,来激发学生的学习动力和自主性。这种方法应用于程序类课程教学,可以较好的解决上述在程序设计类课程教学中存在的问题。
  目前,在程序设计类课程中如何应用任务激励法,并针对独立学院的学生特点,设计有效的考核激励机制,以及将考核与课程教学有机融合,这方面的研究成果较少,还有很多工作需要去做。
  
  2.2 任务激励法的特点
  任务激励法把教学目标分解成一些小目标,并把各个知识模块的内容细化为一个个容易把握的“任务”,通过这些小“任务”的有机组合来体现总的学习目标。这些小任务有内在的联系性,它们相对独立而又分层次推进,前驱小任务的完成为后继小任务的探索提供支持,让学生在完成任务的过程中对知识的理解、熟悉、运用有一个逐步深入的“螺旋式”上升过程。
  在具体知识点的教学过程中,主要应结合案例教学法等教学方法来开展,通过设计一些有代表性的案例,通过案例开发来完成知识点的学习,也让学生体会到软件设计开发的思路和过程:同时课程案例应该能对实践任务的完成提供参考,对完成实践任务中的“基础任务”和“达标项目”起到模板作用。这是借答书法学习中的“临摹”来达到对基本技能和方法的掌握。
  激励作用主要体现在,学生在完成任务的过程中,每个任务的完成都会贡献综合成绩上的积分,学生可以随时掌握成绩状况,并根据自主性的学习和任务完成来进行改善“积分”。通过这种考核制度的激励,学生可以多次获得“冲关”的成功感,体验到满足需要的乐趣,逐渐巩固最初的求知欲,从而形成一种比较稳固的学习动机。这种动机指向学习任务本身,是一种求知的欲望,完成任务激励产生的内驱力与学习的目的性有关。当一个人清楚地意识到自己的学习活动所要达到的目标与意义,就有可能以它来推动自己的学习。
  任务激励法需要结合案例教学和考核机制才能有效实施,其具有实践性、趣味性、互动性强的特点,可以有效解决独立学院学生学习主动性和兴趣缺乏问题,并且改善学习过程,能够更好的培养学生的自主学习能力和相对独立的分析问题、解决问题的能力,适应企业对软件人才的需求。
  
  3 基于任务激励的实践教学模式
  
  3.1 任务激励教学模式的实施
  任务激励法把学习目标转化为一系列的实践任务,在任务中体现知识点的专项训练和综合应用,在任务考核的激励下开展案例或项目教学,为案例式学习提供动力,反之又促进任务的完成,增加综合成绩积分,从而增加新的学习动力。
  针对程序设计类课程的任务激励教学模式,其实施过程主要包含以下几个步骤。
  首先,根据课程目标、教学要求和知识点设计建立一系列分层次的“实践任务集”。实践任务集中的任务需要体现知识点的融合和综合应用,并且分层次满足不同学习能力的学生需要。在此基础上,设计各个任务在考核中所占的分值比重以及考核要求。
  其次,设计分层次的教学内容,并在教学过程中采取适应于“实践任务集”的实践性强的教学手段。例如选取具有代表性的任务作为程序开发实例进行案例教学;在实践任务开展过程中采用项目化教学法;在实践技巧训练过程中采用启发式教学法。多种教学方法的运用将大大提高任务激励法的效果。
  然后,建立适应于这种任务激励教学模式的考核机制,设计相应的考核形式和评分标准。这是本教学模式发挥激励作用的基础。这种考核机制结合程序设计类课程的教学,突出实践教学环节的开展和评估,把学生从理论知识学习,到实践编程、课程考核、教学反馈的整个过程有机的组织在一起,旨在提高学生学习兴趣和学习主动性,促进教学效果。
  此外,充分利用信息化手段,建立课程网络平台,满足互动交流、信息共享的需要。任务激励的作用必须通过在任务开展过程中不断的“成绩发布←→反馈”的循环过程才能体现出来。
  最后,还要建立考核评价结果和教学方法之间的反馈机制以及和教学内容的引导机制,在这种机制下根据考核评价结果来对教学方法和内容进行灵活调整。这种教学模式如图1所示。
  
  
  3.2 任务激励教学模式的重点和难点
  任务激励教学模式实施的难点在于,需要建立一种适合学生特点的程序设计类课程考核机制,这种考核机制采用一系列设计合理的任务,与课程中基于任务的案例教学、项目教学相融合,其综合成绩的评定是通过任务积分累加,使得学生学习目标明确,同时也通过这种灵活有趣的考核方式来激发学生的学习兴趣和动力。
  在实施过程中,主要应着重注意以下几个方面的问题。
  1)建立实现课程目标、应用型与趣味性结合、设计合理的课程实践任务集。任务激励法的关键在于课程实践任务集,任务应该设计合理,逐层推进,体现创新性、综合性和实践性和趣味性。该任务集同时也是课程考核的主要内容。任务集设计的好坏直接影响教学效果和考核效果。
  2)设计适应于这种任务激励教学模式的考核机制,设计相应的考核方法和评分标准。
  3)研究考核评价结果和教学方法之间的反馈机制以及和教学内容的引导机制,通过机制来有效发挥考核课程考核的反馈功能和导向功能。
  4)任务激励法并不适用于所有课程,对于像“Java程序设计”实践性较强的课程有较好的应用效果。
  
  4 任务激励法在Java程序设计课程中的实践
  
  Java是一门应用性较强、在软件开发中广泛使用的技术,对于提升学生在软件行业的就业能力具有很重要的作用。Java程序设计课程旨在通过对Java技术的学习,培养学生的面向对象的设计思想和项目开发能力,因而具有很强的实践性。我们主要从以下几个方面来开展任务激励的实践教学。
  1)建立课程的“实践任务集”。
  运用“任务激励法”之前需要创建一个实践任务集。其中任务分为几大类:基础任务(必做)、达标项目(选做)、综合项目(选做)和自选项目(选做)。基础任务注重知识点的专项训练,分值较小;达标项目为某些知识模块综合应用的项目:综合项目侧重于体现课程知识与能力的综合性应用或创新性,满足较高学习程度的学生需要;自选项目是学生根据个人爱好,经与老师协商后立项的任务,主要用于体现个性化的学习需求。每个项目中根据任务的不同,其分值也不同,学生可以根据自身情况选择难易、数量、分值大小不同的项目来完成,而且其完成的越多,得分也会越多,从而激发学生学习的兴趣和信心。
  任务集的设计需要注意以下几点:
  首先必须围绕课程重点,将各个教学重点蕴涵到项目中,项目任务尽量是学生感兴趣的内容,通过教师的点拨指导学生把书上的理论变成活的应用,并举一反三触类旁通。
  其次,项目任务设计要符合学生特点。不同学生存在个体差异,他们接受知识的能力也不一样。因此在设计项目任务时,要充分考虑学生现有的知识、认识能力、兴趣等,设计难度适中、内容容易被学生接受的任务。
  再者,对于达标项目的设计,考虑学生对某些技术的偏向性,应使得各个技术模块相对均衡,或者能推荐一些达标项目组合给学生。例如,在Java程序设计课程达标任务中可以设计数据库编程类、网络编程类、GUI编程类、多线程类、人工智能算法类、游戏类项目,各个项目训练的侧重点有所不同,各类项目不可过于单一,提供选择的灵活性,但各个项目之间仍然具有互补性。
  此外,综合项目侧重于体现课程知识与能力的综合性应用或创新性,并且具有较高的分值,这样就相当于在成绩结构中引入了创新能力因素,有创新能力和综合运用知识能力的学生才能得到很高成绩分数。
  2)建立案例化实践指导手册。
  开展任务激励法实践需要结合“实践任务集”设计有代表性的案例和项目开展教学,同时必须配套一个案例式的实践指导手册,以手把手的方式帮助学生提高实践效果,培养实践动手能力。
  3)制定完整的课程考核方式与考核规则。
  在考核形式上采取“作业报告+答辩验收”的方式,学生每次作业的完成将直接增加综合成绩上的积分,并且可以通过网上作业系统随时查看综合成绩的分值和排名。这样不仅可以激发学生的学习潜能和主观能动性,考核学生的设计能力,同时也可以通过报告和答辩的评分方式来预防作弊现象。
  4)在教学过程中加强考核评定的反馈和引导。
  在任务考核的过程中,对考核结果和积分排名实时公布,对报告和答辩中存在的问题及时讲解,并在教学中有针对性的进行相应调整。
  通过Java程序设计课程进行的任务激励教学实践,我们积累了一些经验,目前已推广到其他相关课程中,如J2EE企业级应用开发、网络程序设计等,均取得了较好的效果。
  
  5 结语
  
  本文根据独立学院学生特点,基于任务激励法开展程序设计类课程教学模式的研究与改革,通过在Java程序设计课程中的应用与实践,建立了一种符合独立学院学生特点、适应软件行业需求的程序设计类课程教学模式。该模式将任务驱动教学和激励考核机制有机融合,利用多样化和积分制的考核来激励学生的学习兴趣和动力,能有效发挥考核的信息反馈、调节功能,从而探索出一条有效激发学生主动性和积极性、开展应用型实践性人才教育的途径。
  
  
  (编辑:白