谈软件开发技术教学中的渐进式案例驱动教学法

来源 :教书育人·高教论坛 | 被引量 : 0次 | 上传用户:xulee_jj
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  在移动平台软件开发技术课程教学中,我们总结出了“渐进式案例驱动教学法”,以案例驱动教学,由浅入深,由易到难,循环渐进,逐步深入,既直观又有目的性,并结合“启发式”和“互动式”教学方法,使学生积极思考问题,从而提高学生独立分析问题、解决问题和主动探索知识的能力,也极大地激发了学生的学习热情。
  一引言
  随着IT产业的发展,国内大中专院校普遍都开设了计算机相关专业,近几年出现了需求市场暂时性的饱和,特别是刚刚毕业的,没有工作经验或仅具备入门级能力水平的IT人才略显过剩。我学院属于“三本”学校,生源质量相对较差,面对存在巨大潜力的IT产业,并没有开设传统的计算机专业,而是把其中的一个教学重点放在移动平台技术应用上,实施特色教学,针对就业市场的盲点有的放矢地培养人才。
  然而要想达到理想的教学目的也并非易事,除社会上存在的培训班外,几乎没有正规院校开设这门课程,教学资源稀少,缺乏借鉴性经验。但在这种情况下,我们经过两年的尝试基本取得了预期效果,经课程组探索总结出这样的教学方法,即渐进式案例驱动教学法。
  移动平台软件开发技术这门课程主要目的是使学生掌握一门具体软件技术(如Android或者IOS平台),达到熟练应用的程度,最终以独立开发一个完整的应用程序或者游戏娱乐软件为考核标准,但是理论上仍然属于程序设计课程范畴。程序设计的常规教学法是从基本语法、语句开始介绍,讲解每条语句时都会有相应的举例说明,随着语句的增多,逐渐引入一些简单的程序段。这种方法的好处是在概念上对程序设计语句有较清晰的认识,容易掌握每条语句的语法规则,便于教师讲解各种概念。但是这种传统的教学模式有一个明显的不足,即学生在学习过程中,只是被动地去理解和记忆教师介绍的各种语法知识和基本的语句概念,无法从综合应用的整体角度去理解每条语句的作用及应用范围,学生只见树木、不见森林,课程最后编应用程序时,学生往往无从下手。所以我们在教学中采用渐进式案例驱动教学法,以案例驱动教学,有意识地举一些综合性的例子,由浅入深,由易到难,循环渐进,逐步深入,综合比较,既直观又有目的性,做到有的放矢,并结合“启发式”和“互动式”教学方法,使学生积极思考问题,从而提高学生独立分析问题、解决问题和主动探索知识的能力,也极大地激发了学生的学习热情。
  二教学案例
  第一步,为了进一步吸引学生,用动画模拟粒子效果实现一个烟花的效果,五彩纷纷,绚丽夺目。当学生看到这个案例的运行效果后品头论足的同时,会对这个燃放烟花的效果是用什么技术实现的、如何实现的等问题产生浓厚的兴趣,将学生的好奇心和求知欲调动起来后,让学生大胆想象和假设应该是如何实现的。
  第二步,给出这个案例需要的技术知识,画布、画笔、形状绘制、线程技术、双缓冲视图类、简单碰撞检测等。简单回顾已经学习过的线程技术,画布、画笔、多边形形状绘制等知识在本案例中的使用方式。引出本次课程需要掌握新内容:认识双缓冲视图类的使用和如何应用线程技术和碰撞检测实现一个动画效果。
  第三步,分解案例,对一个粒子动画过程进行分析,并演示效果。
  第四步,应用动画实现原理,通过动画连环册演示并讲解在现实中动画是如何在视觉中产生的,以及帧频及速度对动画效果的影响。把这个动画产生的现实过程与技术实现过程对应,介绍技术使用方法和经验技巧。
  第五步,代码开发过程演示,让学生亲眼看着老师如何具体地应用相关技术点协同实现这个动画过程,并进一步说明,同时考虑编码规范、代码设计等需要注意的问题。代码如下(篇幅有限,仅列出关键代码):
  1应用程序启动类(代码略)
  Android程序的入口类,继承自Activity类,设置要
  2绘制线程
  //绘制线程类或者叫刷屏线程类,继承自Thread线程类
  public class DrawThread extends Thread {
  ……
  //方法:线程的执行方法,用于绘制屏幕和计算帧速率,主要功能是当循环标志位为真时
  //反复执行画布的绘制工作,同时为保证线程同步应用了加锁和解锁功能。
  public void run() {
  Canvas canvas = null;//声明一个Canvas对象
  while (flag) {
  canvas = surfaceHolder.lockCanvas(null);//通过为画布加锁获取BallView的画布对象
  bv.doDraw(canvas); //调用BallView的doDraw方法进行绘制
  if (canvas != null) { //如果canvas不为空
  surfaceHolder.unlockCanvasAndPost(canvas);//解锁并将画布对象传回
  }
  }
  Thread.sleep(sleepSpan); //线程休眠一段时间,这里的休眠时间是固定的,后期进//行代码优化时,应该使用动态的休眠时间。
  }
  }
  }
  3小球视图类(代码略)
  小球视图类,创建小球对象初始化小球图片资源和绘制自己的功能
  4小球运动逻辑
  / /逻辑线程类或者叫计算线程类,继承自Thread线程类
  public class BallThread extends Thread {
  ……
  public void run() {//方法:线程的执行方法,负责根据物理公式计算小球的位置坐标并修改//小球对象的相关属性
  while (flag) {
  current = System.nanoTime();//获取当前时间,单位为纳秒
  //获取从玩家开始到现在水平方向走过的时间
  double timeSpanX =(double) ((current - father. timeX) / 1000 / 1000 / 1000);
  //处理水平方向上的运动
  ball.x = (int) (ball.startX + ball.v_x * timeSpanX);
  //处理竖直方向上的运动
  if (ball.bFall) {//判断球是否已经移出挡板
  ……
  第六步,布置课堂练习一,模仿刚刚老师写的一个粒子的动画案例,自己实现一遍。练习二,实现一个小球的从高处落下运动动画。练习三,实现燃放烟花的效果。对于练习二和练习三,在老师的引导下(老师不做代码示范)完成,同时老师需要随时解答学生的提问,并在大多数学生完成的时候,给出老师的代码示例,并根据辅导情况进行总结。
  在巡回辅导的过程中,将制作的既快又比较有新意的程序,通过多媒体教学网络,播放给全班同学观看。
  三教学体会
  大量的事实证明,如果一个人对某个事物没有丝毫兴趣,是很难全身心地去学习和探究该事物的。渐进式案例驱动教学法采用“先实例,后语法”的教学方式,在备课时结合教学内容设计一些有趣的程序,上课首先让学生观看有趣的程序运行效果,有效地激发了学生的好奇心和求知欲,使学生产生强烈的学习欲望,然后分析案例的实现方法,进而引出案例中用到的技术及功能。
  在渐进式案例驱动教学法这种教学尝试中有如下体会:
  第一,有助于培养学生的观察、思维等能力。案例教学方法在充分调动学生主动学习积极性的前提下,引入并讲授新知识、新方法,这有助于培养学生的思维能力、观察力、想象力及创新意识。
  第二,案例的设计是关键。案例要有趣,又要与教学内容结合,可以结合学生已学习过的内容准备小综合案例,还能起到温故而知新的作用。
  第三,本教学方法可以更好地适应不同程度的学生。在传统的程序设计语言教学中,在讲过语句规则之后,给出一个一般只含有课本上已学过的简单语句的简单实例,仅仅是说明其语法及功能,程序本身往往没有多大的实用性及有趣性,而在本教学方法中,为了程序有趣,用到了一些教材外的知识,使得学习能力较强的并且对此感兴趣的同学可以学到更多的知识。
  第四,本教学方法可以使学生更快、更深入地掌握整个技术框架。只学得一个个孤立的知识,很难达到综合应用的能力,必须在实践环境中更快、更好地掌握技术并获得解决实际问题的能力。
  第五,案例教学法可以大大提高课堂教学效率。首先,由于这种教学方法是以激发学生的学习兴趣为起点。其次,由于每个实例中不仅有要讲的新的技术知识,还含有丰富的各种实用案例的基本设计思想,这使得在宝贵的课堂教学时间里,使学生学到更多的有实用价值的知识与设计方法,提高学生的设计能力。
  在教学过程中,采用渐进式案例驱动教学法具有很强的引导性和扩展性,将理论与实践有机地结合起来,有意识地激发学生的学习兴趣,增强学生学习的主动性,通过综合比较,学生可以很容易地、全面地掌握所学知识,提高解决实际问题的能力。教师在本教学方法中由知识的传授者、灌输者转变为学生主动学习的帮助者、促进者,我们使用此种方法取得了很好的教学效果,深受学生的欢迎。
  参考文献
  [1]李宁.Android应用开发实践[M].机械工业出版社,2012,1.
  [2]余志龙.GoogleAndroidSDK开发范例大全(第三版)[M].人民邮电出版社,2011.11.
  [3]郝玉龙..Android程序设计基础[M].清华大学出版社,2011.10.
其他文献
假日活动对学生的成长成才、全面发展有着重要的促进作用,假日活动和课程学习一样,能够促进学生增强能力和提高素质。据不完全统计,目前大学生一年的假日时间约为180天,占全年总天数的49.3%,大学生一年中几乎一半的时间处于假日之中,大学生怎样对待假日生活、假日活动状况如何,值得关注,值得研究。开展大学生假日活动调查研究,了解学生假日生活状况,引导学生积极参与高质量、高品位、健康向上的假日活动,是当前高
期刊
一社会主义核心价值观与多元价值观  1社会主义核心价值观  爱国主义是社会主义核心价值观的基础。爱国主义既是一种社会意识,也是一种在国家和公民之间不断发挥调节作用的道德规范和基本政治规范。在中华民族五千多年的历史进程中,这种社会意识始终作为国家统一和民族团结的精神桥梁和纽带,影响着一代又一代人,这种社会意识不仅是中华民族唯有的特性,也是所有国民的价值取向和共同信念。因此,虽然时至今日,时代不同,但
期刊
我国自古就有“滴水之恩,当涌泉相报”、“投我以桃,报之以李”等古训,也有“谁言寸草心,报得三春晖”等充满感恩情怀的佳句。感恩是中华民族的传统美德,对一代又一代的国人产生着深远影响。但是关于感恩的研究却始于国外,直到感恩心理学的盛行,感恩才逐渐成为我国心理学研究的热点。  一对感恩的认识  1感恩的涵义  感恩一词用“gratitude”来表示,它源于拉丁字根“gratia”,意思是恩惠、令人愉快的
期刊
高等职业教育的教学框架应该是一个以过程逻辑为中心、以实践情境为主要内容构成的框架,因此,职业教育教学的方法应由传统的演绎、归纳、综合、分析等向案例教学法、项目教学法、角色扮演法、任务驱动法、大脑风暴法和引导文教学法等新方法转换;高等职业教育教学的传授方式应由基于平行顺序的学科系列体系,即形式或数量层面的阐述,向基于串行顺序的工作过程体系,即内化或质量层面的反思转换。前者是对学科和专业知识施行水平方
期刊
项目教学法就是以现代企业的行为为目标,通过组织学生真实地参加项目设计、履行和管理的全过程,以完成教学任务的教学方式。在教学活动中,以学生为中心,以培养学生的综合能力为目标,把整个学习过程分解为一些具体的项目或事件,设计出有实际应用价值的项目教学方案,让学生独立制定行动计划,分组进行讨论,协作学习与实际操作,最后师生共同评价项目工作成果。由于项目驱动式教学强调项目的现场性、知识的综合性和学生全面能力
期刊
一、目标规划的提出目标规划是运筹学中规划论的一个分支,是在线性规划的基础上发展起来的。线性规划所能解决的问题可分两大类:一类是任务已定,如何统筹安排,才能以最少资
移动学习作为一种全新的可以广泛使用的学习方式,其针对性研究起步于2000年,在这一年,美国加州大学成立移动教育研究组(Mobile Education Group),针对一些中学生使用手机的教育实验,并讨论在虚拟大学中移动教育的应用。所以,目前关于移动学习MobileLearning(简称M-Learning)还没有统一的、明确的定义[1]。国内学者普遍认为移动学习是指依托移动通信技术或无线网络技
期刊
摘要目的判断低剂量胸部 CT 平扫在肺癌筛查中对主动脉瓣钙化(AVC)和二尖瓣环钙化(MC)的观察者间及检查间的差异性。方法收集了 578 例参加肺癌筛查临床实验的 Abstract Obj
高校是社会文化重要的集结地和发散地,建设好校园文化对于高校全面贯彻党的教育方针,促进学生德智体美劳的全面发展,培养中国特色社会主义的合格接班人和建设者意义重大,对促进高校及社会和谐的发展也具有重要意义。大学校园文化是社会主义先进文化的重要组成部分,是一所学校的灵魂,也是学校建设的重要内容。徐州工程学院作为一所地方高校,以培育特色校园文化建设为载体,以学校的可持续发展为目标,围绕应用型人才培养目标,
期刊
【摘要】儿童绘画是基础美术教育的重要环节。儿童在绘画过程中是自主地传达其纯真心态。教师在指导儿童绘画活动中具有引导的作用,既要了解儿童绘画的心理,又要抓住儿童绘画的动机。同时,教师在引导儿童绘画时要善于激发孩子对绘画的兴趣,认识到儿童绘画的自然表达的重要性,增强他们的认知。  【关键词】儿童绘画;绘画心理;自然表达  儿童绘画在美术教学中处于起始阶段,也是基础美术教育的关键。儿童绘画的自然表达是指