您现在的位置: 论文网 >> 教育论文 >> 学科教育论文 >> 基于PIP能力培养的软件开发类课程教学改革与实践论文

基于PIP能力培养的软件开发类课程教学改革与实践

出处:论文网
时间:2018-01-31

基于PIP能力培养的软件开发类课程教学改革与实践

  1 背 景

  在高等教育普及过程中,高等教育面临着非常严峻的挑战,这种挑战来自于各高校培养的人才与企业所需的人才在工作能力方面存在差异,主要表现在以下4方面:①专业基础素养和快速、独立自主学习的能力;②工程应用能力;③沟通能力及团队合作能力;④实践创新能力。为了减少上述差异与不同,各个高校通过工程教育实践,已经构建了多层次、多元化的人才培养体系。然而,目前所做的探索与实践,仍然不能有效解决所有问题。

  在这个问题中,创新精神和动手实践能力是素质教育的重要组成部分之一,也是学生将来顺利走上工作岗位并适应工作的重要条件。一些教育学者和研究者通过探索工程实践类课程的教学工作与过程,提出了自己的观点,都将重点放在以第一课堂为主的教学内容和课程体系改革上;也有部分教育者将CDIO教育理念引入该类课程体系,相应的课程培养大纲将工科毕业生的能力分为工程基础知识、个人能力、团队能力和工程系统能力4个层面,要求以综合培养方式使学生达到这4个层面的预定目标[1]。迄今为止,已有几十所世界知名大学加入CDIO组织,依据该模式培养出来的学生也受到社会企业的普遍欢迎[2]。中国也有部分高校应用了CDIO教育理念和模式[3-4],如汕头大学提出EIP-CDIO培养模式,将讲道德、讲诚信和职业化融入该工程教育理念中;成都信息工程大学确立以需求为导向的培养目标,培养过程中强调将CDIO的4个步骤与课程体系完美融合,并推进工程教育专业认证的发展等。

  2 基于PIP能力培养的教学法在软件开发类课程中的可行性分析

  基于PIP(practice innovation presentation)能力培养的教学法来源于CDIO教学理念,以软件产品研发到软件产品运行的生命周期为载体,让学生以主动实践和合作创新的态度参与课程的进程。课程培养大纲中将学生的能力划分为专业基础知识、个人开发能力和个人团队合作能力,即实践能力、创新能力和表达能力3个方面。围绕这个大纲,可以案例式、小组式、线上线下等多样、综合的培养方式,帮助学生在这3个层面达到预定目标。

  基于PIP能力培养的教学法,首先,其基本教学理念在CDIO教学理念的基础之上做了进一步地明确与细化,容易被教育者所理解与接受;其次,针对案例,即授课对象是计算机专业软件开发类的学生,该教学理念具有更重要的指导意义。据我们对学生与学情的统计与分析,他们从入学以后就逐渐开始接受各种编程语言的训练,但是随着学生所掌握的编程语言不断增多,学生在完整的项目设计、实现及应用方面的能力仍有所欠缺,在知识综合应用能力方面比较薄弱。基于PIP能力培养的教学法正好可以弥补上述教学法的不足,将实践能力、协作能力和创新能力的要求提升到更重要的位置,通过将理论与实际项目有效结合,项目案例的真实模拟既重视理论知识的指导作用,又强调实践对学生专业编程能力的提高作用,这与软件开发类课程的教学特点和要求相一致。综上,基于PIP能力培养的教学法在软件开发类课程中是适用的,也是可行的。

  3 基于PIP能力培养的教学法实现方案设计

  在将基于PIP能力培养的教学法引入软件开发类课程时,需要重点思考及把握的问题包括:①基于PIP能力培养的课程教学模式,其体系结构、核心内容和方法的研究;②基于PIP能力培养的实践教学体系相关基础性问题;③教学评价与考核环节的课程考核问题;④以实际项目开发为目标时,授课过程中,理论教学和实际操作的占比与分配问题如何取舍;⑤将基于PIP能力培养的教学法引入软件开发类课程时,对教师的能力又有什么要求。综上所述,结合我们对CDIO教育理念的研究,可以得出基于PIP能力培养的教学法实现方案,如图1所示。

  4 基于PIP能力培养的教学法在.Net技术与应用开发课程中的具体操作和实践

  依??图1基于PIP能力培养的教学法实现方案思想,可以在具体课程中开展基于PIP能力培养教学法的实践,操作过程分述如下。

  4.1 研究阶段

  1)调研与分析。

  在调研与分析阶段,我们走访相关的兄弟院校及校外的计算机教育机构,主要针对当前高等教育中计算机软件开发类课程的教学现状进行调研,对目前基于CDIO教学理论的相关学术文献进行搜索、查阅与思考,及时了解与之相关的最新研究动态及研究成果如文献[5],并关注其在计算机类课程中的应用与实践研究进展。

  2)理论探索。

  在理论探索阶段,我们主要从理论层面分析和研究基于PIP能力培养的课程教学体系架构建设问题,如教学原理、教学运作、教学评价模型等理论问题,即在CDIO教育理念的研究基础上,通过分析、比对与思考,给出基于PIP能力培养的定义和相关过程的解释,使其更加适应软件开发类课程的教学工作。

  4.2 准备阶段

  1)学情分析。

  ①当前,重庆科技学院正积极从传统本科院校向应用型本科院校转型,而应用型本科院校是以应用作为办学定位,而不是之前的以科研作为办学定位。相应地,与传统的学术科研型本科院校相比,应用型本科院校学生的学习特点与学习能力都有所区别,普遍存在学习目标不明确、自我学习能力较弱、学习的主观性和规划性较弱等不足之处。②依据专业培养方案,专业课程分为两个阶段:前期主要开设计算理论、算法和数据结构、操作系统、计算机网络等计算机专业基础课程;中后期开设偏应用类型的课程,应用之前所学的相关学科知识和综合知识分析问题并解决问题,让学生进行更多的实验和实践探索。   2)课程分析。

  .Net技术与应用开发课程的前导性专业课程有C/C++语言程序设计、操作系统原理、数据结构、数据库技术与应用、网站开发技术、计算机网络等;后续课程有.Net技术与应用开发高级开发技术、面向对象程序设计、设计模式以及相关的课程实践环节。课程共48学时,目前理论课与实践课各占24学时。

  通过对前期研究阶段与准备阶段的分析和调研,可以发现各个学校的课程设置和课程门类众多,培养计划的设计强调软件开发类课程的基础知识、系统性和连续性,这是开展基于PIP能力培养的课程教学改革与实践的有利条件。

  3)课程学习路线图制订。

  依据微软官方认证MCPD认证考试的路线图和.Net软件开发人员的职业发展路线,我们分析总结出该技术体系的学习路线图,如图2所示,并找准该课程在学习路线中所处的位置,制定课程的授课计划及内容,选择合适的项目案例。

  4.3 实施阶段

  1)教学对象情况与选择。

  我们以2013级软件开发类共2个平行教学班学生作为教学对象,并选择其他年级未采用该教学方法的学生作为比对数据。这2个班的学生都至少学习过一门编程语言,部分学生甚至学习过2种编程语言如C++、C或者Java,但只有为数不多的学生可以用所学的技术和语言进行实际项目的设计、开发与实现,绝大部分学生无法单独设计并实现一个小型项目;这是因为他们仅仅局限于熟悉编程语言基本语法,虽然有做实际项目开发的愿望,但是在缺少引导的情况下,还未能将被动学习状态调整为主动学习状态。

  2)教学资源准备。

  通过分析2013―2015年的企业招聘及用人单位,如Microsoft Corporation、北京百度网讯科技有限公司、腾讯科技有限公司等公司的用人需求,针对他们对软件开发工程师岗位职能要求的描述,学生在校时应该培养的职业素养主要包括以下几个方面:①学历要求及计算机专业知识素养;②相关计算机编程语言的编程经验和项目开发经验;③个人能力要求,即分析和解决问题的能力、团队协作精神、良好的沟通和表达能力。其中,第一点要求贯穿于学生4年的求学生涯,是一个完整的学习过程,而后面的两点则需要在专业课程中有意识地引导和强化,这也是基于PIP能力培养的课程教学改革的目标和核心内容。对应到实际的课程教学目标,即不再以基本的知识点和语法点为学习目标,而是以综合的工程实践能力、项目设计与开发能力为培养目标,同时加入对学生团队协作能力和个人表达能力的引导;其次,依据图2中.Net开发技术学习路线图,我们修改该课程的教学大纲并依据修改后的教学大纲,认真制定课程的授课计划,通过选择适合的项目和案例,做到前后首尾相接,争取上一章节的项目可以继续在下一章得到丰富和完善。

  3)教学过程设计。

  教学过程不再以单一的教师讲解为主,也不再针对单独的语法进行代码演示与讲解,而是采用精选的项目以及实际案例贯穿整个学期的学习过程,在让学生掌握基础知识点的同时,注重对学生实践能力与开发能力的培养。

  为了培养学生的团队协作和个人表达能力,可以将班级学生按照5~6人一组的规模进行自由分组;对于每章的项目,在各章节结束后,先在各小组内进行表述和评比,选出各小组的最优实现后,再在全班范围内进行小组公开比赛。这种形式的活动可以培养学生的团队协作意识,代码的分析与讲解还可以让学生自己进行代码的比对,学习别人的编程经验,做到查缺补漏、相互提高、共同进步。

  为了实现以上教学过程,教师在组织教学时,既要点明当前的知识要点,又要将其应用到实际案例中,并在案例中进行知识点的应用与强化;教学过程中,教师始终需要注重学生个人编程能力与解决问题能力的培养;此外,考虑到学生能力在不断变化,项目的难易程度逐渐递增,项目的协作度也应由简到繁,如在课程初期,学生还未曾接触项目开发这一过程,因此,教师可以做出示范,首先给出一个实现思路并向学生完整展示出自己的实现过程,再让学生模仿教师完成该项目的实现,然后对完成的项目代码进行思考和优化;课程中期时,针对项目案例,教师只给出一个主要的分析思路及要点点拨,然后组织学生开展小组讨论,进行项目分析与设计,最后由每位学生独立完成项目的实现;课程进行到后期时,由于内容增多且难度增加,由小组进行项目分析与设计,可以依据组员的特长进行分工协作,最后完成项目的整合。例如,课程的第4讲主要内容为C#中面向?ο蟮淖罨?本概念,包括类、对象、方法和属性,第5讲和第6讲主要内容为C#中的控制语句,这3章的概念属于基础性内容,可以选择一个贯穿这3章的实际项目,即学生成绩管理系统,主要为教师提供服务,包括对学生课程成绩进行相关操作(输入、保存、显示、计算等)以及显示课程、教师相关信息。随着章节的进行,项目内容逐渐丰富,功能的设计与知识点紧密结合。该案例的设计与实现从项目设计、开发与实现的角度,将枯燥的基础内容变得更丰富和更有吸引力,让学生从简单的项目入手,建立良好的编程规范,对项目开发基本流程有一个直观的了解。

  4)课程实施。

  (1)依据CDIO教学理念及教学改革的目标,即基于PIP能力培养的目标,在授课之前可以通过调查与问卷的形式,对学生的学习情况及个人课程学习期望值进行调研与统计分析。统计数据表明,学生从自身出发对该教学方法的理念呈认同态度,他们也希望能通过该课程的学习,提高自己的实践能力、表达能力和协作能力,使自己的综合能力更接近用人单位的实际要求。

  (2)课程教学活动的实施。如何将基于PIP能力培养的教学法引入教学活动中,进而达到最好的教学效果,为了这一目的,我们做了以下尝试:将基于PIP能力培养的教学法引入每个学时的课堂活动中,在组织课堂内容时,通过案例法和项目法,针对特定的知识点进行目的明确的知识学习和应用练习,引导学生以项目开发的方式进行设计与思维,提高学生的实践能力。因此,教学活动的实施须按照3个步骤进行:抛出问题,即本节课需要解决的问题或者实现的案例;分析问题,即用什么技术或者方法可以实现该问题,新技术或者知识点的引入;解决问题,用所学的新知识对问题进行实现。   首先,为了引导学生分析和思考问题,还可以加入其他解法的讨论环节;其次,围绕知识点设计的案例或者项目,需要学生自己动手编程实现其功能要求,再加入分享和讨论环节,对各典型实现方案进行点评,让学生直观地明白什么样的代码实现是合乎规范的;最后,在课程讲授过程中,教师要激发学生的学习主动性,让学生体会到编程的乐趣,并让优秀的学生带动其他学生,而不是让学生独立封闭地进行学习,如对于同样的案例,有些学生可以想到不一样的解决方案,他们解决问题时所使用的知识也具有灵活性,让这些学生带动其他学生,可以以学促学。为了提高学生学习的兴趣,教师在选择项目时可以考虑加入一定的游戏项目元素,如五子棋项目,学生在学习时对有游戏元素项目的兴趣明显高于其他项目。

  (3)依据PIP能力培养的目标,更新考核标准与方式。将该方法引入教学时,考核不再像之前的传统考试模式,而是注重学生综合能力的考核,即考核成绩需要反映学生的知识掌握情况、工程实践能力、专业技能与素质、团队协作能力等,这种评价贯穿于整个教学过程。我们已经改进了评价学生课程成绩的方法与体系,努力做到综合性、阶段化、细致化并客观地评定学生的学业成绩。此外,考核结束之后,为了分析教学效果,我们将自然授课的学生即按照常规教学方案进行授课的学生,与实验授课的学生进行各项数据的比对,可以看出,在对项目开发的认知、编程规范性、解决问题能力、个人表达能力与团队协作能力上,两组学生的表现有很大不同。

  5 实施基于PIP能力培养的教学法时所遇到的问题、问题分析及应注意的事项

  1)问题1:如何才能做到最有效的课时分配。

  通过实践,我们发现为了提高学生的个人表达能力和团队协作能力,需要在课堂内引入小组讨论、小组演示、讲解和竞赛环节,而这些环节都是需要时间的。软件开发类课程的知识点及课程内容较多,加入这些环节后,更恶化了这个问题。那么,有没有其他更好的方式锻炼学生的表达能力和小组协作能力呢?如何合理分配时间,用最短的时间使学习效率最大化呢?这些都是我们在教学实践中遇到的问题。

  2)问题2:将该方法引入教学中时,对教师的能力有哪些要求。

  目前,绝大部分的教师在教学设计和教学方法的应用能力及教学调控方面都做得很好,但是这些教学能力对于转型下的工程应用类课程教学来说还远远不够。因为工程应用类课程的教学还需要教师具备工程教学能力和工程实践能力,所以对于工程实践类课程的教师来说,首先需要探索自己在授课过程中的定位,将讲解、引导、思考和实践结合起来;其次,教师还需要提高自身的工程实践能力与项目开发能力[6],只有这方面的专业技能有所提高,才能选择出适合的项目,设计教学案例,推动课程的整个实施环节。

  3)问题3:如何更专业、更细致地评价学生的该课程综合实践能力。

  虽然我们已经更新了学生的考核标准并将之细化到整个学习过程,但是还没有形成一个完整的、专业的且体系化的评价标准,这也是后续研究中需要关注的问题。

  6 结 语

  通过实践与分析,我们得出以下结论:对于不同层次的计算机软件开发类学习者,教师可以依??学生自身的编程水平、开发能力与个人技术特点,适当地制订并引入该教学法,较好地提高学生的编程能力、解决问题能力、表达能力及团队协作能力,这对于目前正在转型的应用型本科软件开发类专业来说有一定的借鉴意义。在后续工作中,还存在一些需要研究的问题:①基于PIP能力培养的课程教学如何从点走向面;②开设以应用技能为基础的相关课程,课时的设置与比例问题;③基于PIP能力培养的教学法如何建设,才能成为一种较完善的学习体系并在实际中做到效果更加显著。

基于PIP能力培养的软件开发类课程教学改革与实践

论文搜索
关键字:教学改革 软件开发 基于 实践 能力 改革
最新学科教育论文
软件工程专业“计算机网络”课程实验教学研
“赛教学训”四位一体化的物联网工程专业人
浅议幼儿美术趣味教学及创新能力的培养
如何利用奥尔夫音乐教学法培养幼儿的创造力
解读体育游戏在初中体育教学中的应用及影响
如何在美术教学中营造快乐的氛围
微积分慕课教学资源与应对策略探究
浅析在德育课教学中如何灌输团队观念
MOOC引领下中学历史课程多元化教学模式研究
“情感过滤”假设对大学英语听力教学探讨
热门学科教育论文
浅谈语文教学中学生创造力的培养
变“教师教,学生学”为“教师教学生学”
素质教育与小学语文教学
小学“语文综合性学习”实践初探
素质教育和小学语文教学改革
现代体育课堂教学重在创新
浅谈《体育课程标准》与体育教师观念的转变
电教手段优化体育教学
陶行知健身思想研究
简论现代游泳技术与训练的发展方向