您好, 访客   登录/注册

基于CDIO理念的Android应用程序开发教学改革

来源:用户上传      作者:

  摘要:针对Android应用程序开发课程中存在的问题,以“听得懂、学得活、做得出”为教学目标,遵循CDIO理念,提出基于多个小案例和一个综合项目驱动的Android课程教学改革方法 介绍选择项目的基本原则,项目的迭代开发方法以及对学生作品进行差别化考核等具体的教学实施过程
  关键词:CDIO;项目驱动;迭代开发;Android
  0.引言
  随着移动互联网技术的快速发展以及Android操作系统在智能终端市场的日益兴盛,越来越多的高校和培训机构开设了与Android系统相关的课程,这对该技术在我国的快速普及发挥了重要作用、同时有效填补了Android技术人才市场目前存在的巨大缺口。
  Android应用程序开发作为一门新兴课程,其教学方法的研究和实践还处于探索阶段。由于立足于“应用程序开发”,教学目标主要是讲授调用Android操作系统应用框架层提供的API及相关Java类库的方法,培养学生开发Android应用程序和实际工程项目的能力。从授课的内容来讲,难度不是很大,但是问题在于学生“听得懂”只是教学目标的“第1步”,Android作为一门极其注重动手实践能力的课程,如何“学得活、做得出”才是难点所在。传统的“老师讲,学生听”的教学方法能够较好地达到“第1步”,但是在加深学生对知识的理解,灵活应用方面则效果较差,即使配合实验课,也因为学时限制和教学进度安排等因素,导致学生只能完成一些简单的原理验证性实验,这对提高学生动手实践能力的作用不是很大。为达到“学得会、学得活、做得出”的教学目标,我们引入了CDIO工程教育理念,以众多小案例和一个综合性较强的任务为项目进行授课,让学生以一种主动的、实践的、课程之间有机联系的方式来学习工程
  1、CDIO工程教育模式概述
  CDIO工程教育模式是由麻省理工学院、瑞典查尔摩斯工业大学、林雪平大学、瑞典皇家工学院共同创立的,是一个国际性的、广泛、较全面和系统的工程教育改革模式,最早在2005年由汕头大学、清华大学等引入国内,并迅速引起强烈反响。
  CDIO是构思(Conceive)、设计(Design)、实施( Implement)、运作(Operate)4个英文单词的缩写。其中,“构思”指明确客户需求,考虑技术、企业战略和制度等因素,不断改进概念、技术和商业计划;“设计”值指定开发的产品系统所需要的各种计划、图纸和算法;“实施”指把设计转变为产品的过程,包括硬件制造、软件编程、测试、检查和验证;“运行”指对产品系统的维护和淘汰等。CDIO模式以产品、生产流程和系统从研发到运行的生命周期为载体,通过系统的产品设计培养学生专业技术知识、个人能力、职业能力和态度、团队工作和交流能力,培养在企业和社会环境下对产品系统进行构思、设计、实施、运行的能力等综合素质。
  2、课程改革
  2.1总体思路
  遵循CDIO教育理念,以众多小案例和一个综合性较强的工程项目为主线,将学生应该掌握的专业知识、技能和职业素质融入到整个教学过程中,课程改革的总体思路如下。
  1)选择合适的项目。
  选择项目遵循以下原则:(1)项目来源要实时、实际,以此来保证所学技术的先进性和实用性;(2)项目规模大小要适度,所涉及的知识点要与教学大纲的内容尽量吻合;(3)项目中涉及的各功能逻辑耦合度要低,便于按照各知识点进行子项目划分,子项目以容易找到相似案例为宜,以利于教学和实践;(4)项目应具有扩展性,便于学生进行功能扩展和技术知识创新。
  2)选取合适的教材。
  鉴于Android应用开发过程中会涉及大量知识,如多媒体、数据库、网络编程等,显然任何一本Android相关教材都无法完整覆盖全部知识。因此,建议选择王向辉等编著的《Android应用程序开发》(第2版)作为课程教材,由于该教材讲解的内容相对集中和精简,适合作为课程知识的提示线索,便于学生梳理思路。同时,对该书中没有讲彻底的知识,可以使用参考图书,以便于学生进一步深入学习。
  3)采用差别化的考核方式。
  以CDIO理念为导向,通过课程设计作品以及撰写设计报告的方式对学生的学习效果进行考核。在考核过程中,进行差别化对待:对于基础较好的同学,允许自主选择课程设计的研究内容,考核时重点考核作品的实现难度和创新性;对于其他同学,则要完成教师指定的题目,重点考核功能的完整性和报告撰写的规范性。当然也要鼓励学生分组完成课程设计,以此培养学生的团队协作能力。
  2.2具体实施
  遵循CDIO教育理念,通过项目让学生进行“做中学”,进而达到“学得活,做得出”,教师主要充当“顾问”,当学生遇到困难或者疑惑时给予帮助和指导。按照构思、设计、实施、运作的流程,具体实施过程如下。
  1)构思。
  该阶段主要引导学生发现问题,确定合适项目,明显用户需求并制定开发计划。鉴于采用差别化的考核方式,对于基础较好的学生,主要引导他们依据前面所述的项目选取原则进行自主选题,对于其他学生则完成教师给定的题目,我们给定的项目题目是“天气预报软件的开发”,项目功能需求主要参考了王向辉等编著的《Android应用程序开发》(第2版)的第12章节内容,包括设计界面、天气信息显示、通过接收短信响应用户请求、向用户推送天气短信等基本内容。同时,为了鼓励学生深入学习,我们还进一步以一些商业天气预报软件作为案例,引导学生自主分析,提取其他功能需求,如基于GPS定位当前城市,添加生活助手和健康提示,更换壁纸等。
  2)设计
  设计过程主要引导学生找到项目的设计思路、功能模块划分、实现步骤、实施过程中需要解决的关键问题等。我们还借鉴了敏捷开发的基本原则,要求学生在设汁时“以人为本”,将整个开发过程划分为几个阶段,每个阶段都完成一个可以直接运行的DEMO版本,后一阶段的DEMO版小功能需要在前一阶段版本基础上进行功能增添,删改,优化等。通过这样的迭代开发,会让学生深刻体会到在设计阶段的模块划分,接口设计等在软件开发过程中的重要地位。同时也方便教师对学生的工作进度进行记录和管理。
  3)实施。
  实施是项目的具体实现阶段。对于项目实现过程中需要用到的知识点,我们也是通过案例,并且以迭代的方式向学生讲述。如首先实现的界面设计阶段,我们通过一个自己设计的简单天气预报界面进行讲解,其中只包括“当前天气,当前湿度,当前天气的图片”3个元素。初次讲述时,只要求学生使用简单的属性值进行设置,如TcxtView的text属性等,然后我们介绍Android的网络数据通信方法,并通过这些方法获得由服务器返回的天气信息,通常为XML或者JSON格式,进而介绍XML和JSON的解析方法,最后利用解析出的数据对前面设计的界面内容进行填充。通过这个方式学生可以轻松完成项目迭代开发的第一阶段,建立起学习兴趣和完成后续其他功能的信心。
  4)运作。
  迭代开发的好处是教师可以在项目的任意阶段对学生工作进度进行检查,因此学生必须确保在每个不同的开发阶段都具有一个可以运行的Demo版本,Demo视情况可以在真机或者AVD上运行演示。最终提交的内容包括项目工程源代码,可以直接安装运行的APK文件,功能演示视频以及课程设计报告。在课程报告中,主要介绍项目产品功能模块设计,以及项目开发过程中遇到的主要困难和解决方法,还有尚需扩展和改善的功能等。
  3、结语
  通过在Android应用开发程中引入CDIO理念,显著提高了学生学习的主动性和积极性,学生的动手能力和综合素质都得到了很好的锻炼同时,将CDIO理念和项目迭代开发结合在一起,一方面可以有效地跟踪学生的项目开进度,便于教师及时发现和帮助学生解决问题,因此受到了学生的广泛欢迎;另一方面也有利于教师观察学生的平时表现,能够对学生的作品和学习态度给出更加客观的评价。在教学实践中我们发现,目前这种做法对培养学生团队协作开发以及自学能力方面仍不明显,需要进一步改进和提高。
转载注明来源:https://www.xzbu.com/8/view-11800357.htm