CDIO模式下的Android应用程序开发教学实践*
2016-02-05闫新宝
闫新宝
广西民族师范学院数学与计算机科学系,广西 崇左 532200
CDIO模式下的Android应用程序开发教学实践*
闫新宝*
广西民族师范学院数学与计算机科学系,广西崇左532200
摘要:CDIO工程教育理念以产品的开发为主要内容,以培养学生的产品开发能力为主要目的。在Android应用程序开发教学中引入CDIO理念,就是在教师的引导和辅助下,让学生完成产品的构思、设计、实现、运作。使实践步骤从抽象到具体,使学生的开发能力得到有效提高。
关键词:CDIO理念;Android;教学改革
一、引言
Android操作系统不断得到普及,互联网技术也随之得到不断发展。针对这样的情况,很多的高校重视开设Android应用开发课程。这是一门新兴的课程,具体的教学思想和方法还在不断的探索。Android应用程序开发的教学目标,除了要构建学生的知识系统外,更重要的是培养学生开发android应用程序的能力,为了达成这样的教学目标,本文将CDIO教育理念引入课堂,通过让学生动手开发几个实际的项目[1],使学生的开发能力得到有效提高。
二、CDIO工程教育模式的概述
CDIO[2]是一个国际性的、广泛的、全面的工程教育改革模式。CDIO主要是由构思(Conceive)、设计(Design)、实施(Implement)、运作(Operate)四个单词的英文首字母组成。构思,就是对客户的具体需求进行分析,综合考虑技术和非技术因素,使相关的概念、技术以及商业计划得到不断的改进;而设计就是针对需求开发产品系统,在开发的过程中,确定所需要的各种相关的计划、图纸以及算法;而实施指的就是将设计变成具体的产品,主要包括硬件的制造、软件的编程等;运作指对产品的维护等。CDIO教育模式的主要载体就是产品,通过对产品进行系统的设计和实施,使学生专业知识得到增长,个人能力以及职业能力等各个方面得到有效的提高。
三、Android课程体系
以市场对学生的能力要求为基础,需要将学校的自身的特点进行有效的结合,针对Android人才培养,建立出具体的专业课程体系。首先要将学生的基础编程技能进行有效的完善。以计算机公共基础课为基础,开设具体的C语言课程,使学生可以对软件开发的思想和方法具有初步的了解。开设JAVA程序设计和数据结构课程,让学生学习JAVA等高级编程,与此同时,还要开设数据库课程。针对android这门课程,主要让学生掌握Android的基础内容。可以适当的尝试一些有关Android复杂和高级的编程,例如Android组件开发和Android应用程序框架的内部机制等。
四、CDIO理念在Android应用程序开发教学中组织和实施
教学组织和实施的总体思路是让学生动手开发若干个由教师精心选择的项目,以项目为载体,使学生在开发过程中逐渐构建起较完整的知识系统,同时,使学生的软件开发能力得到有效提升[3]。教学组织和实施包括教学项目选择和教学实施两个阶段。
(一)教学项目选择
教师要选择适合的教学项目,选择教学项目的思路和原则有以下两点:
1、设置的教学项目数量要合理。很难找到一个能涵盖android所有知识点的项目,为了使学生能掌握较系统、较全面的知识,要设置多个项目,然而项目的数量也不能太多,项目太多课时不允许,也会使得学生感到疲劳,建议设置2个项目。
2、选择项目要遵循以下原则。首先,项目要既实用性又新颖,这样才能激发学生的热情。其次,所选择的项目规模要适度,难度从易到难,且项目的顺序要和android知识脉络保持一致,从基础项目到高级项目,选择的2个项目要涵盖教学大纲的主要知识点。然后,项目各个模块的逻辑耦合度要比较低,每个模块针对一个知识点,即让每个模块变成可以独立教学的子项目,针对子项目要可以找到相似的案例,对教学和实践具有积极的作用。最后,项目要具备一定的扩展性,这样一来,学生的才会将功能进行拓展,使技术知识进行有效的创新。
结合以上选择项目的两点思路,我们选择了手机通讯录管理软件和腾讯微博客户端软件作为教学项目。手机通讯录管理软件以android数据库编程为中心,涵盖了android数据库编程、android布局设计、android多线程和android中的常用组件等知识。腾讯微博客户端软件以android网络编程为中心,涵盖了android网络编程、android多线程以及android中的常用组件等知识。这两个项目从基础到高级,从易到难,基本涵盖了android的主要知识点,并且项目模块的耦合度较低。
(二)教学实施
遵循CDIO理念,教学实施包括以下三个步骤。
1、构思。教师对学生形成积极的引导,让学生对项目进行需求分析。确定项目有哪些功能需求和非功能需求。教师要引导学生主动查找资料,确定项目难度,制定开发计划。
2、设计。教师对学生进行有效的引导,使学生解决项目的设计思路和模块划分等需要解决的关键性问题。
3、实施。实施阶段的主要工作就是编程实现各个模块功能,这是最重要的步骤。在让学生编程实现模块功能之前,老师要先讲解每个模块涉及到的重要知识点。教师要搜集资料找到与该模块相似的案例,通过案例法来讲解知识点,让学生通过案例对知识点进行消化。教师讲解完该模块涉及到的重要知识点之后,再让学生自己去编程实现该模块。例如,手机通讯录软件主要模块包括联系人信息的查询和显示模块,联系人信息的添加、修改、删除模块以及拨打电话模块,在让学生完成查询联系人信息模块之前,教师首先对通讯录主界面所用到的listview控件和菜单组件进行讲解,然后对查询数据库的知识进行讲解,讲解完这些知识之后让学生完成联系人信息的查询和显示。
学生在编写和调试的过程中,教师要提供一系列的辅助性的工作,使学生可以完成自主开发。这些辅助性的工作主要包括辅助学生调试程序,这也是非常重要的。在我们教学实践的过程中,发现很多学生能够按思路把代码写出来,但是在程序运行出现问题时不知道如何解决,教师就要及时的传授学生调试技巧。学生将功能进行实现之后,可以体会到在软件开发的过程中,最重要的就是思维方向和调试技巧。
4、运行。运用迭代开发的思想,学生每完成一个功能,都要有一个可以运行的演示版本。这样既遵循了软件开发的思想,也便于老师了解学生的进度。
五、考核方式
学生的总成绩由平时成绩和期末考试成绩组成,平时成绩占60%,期末考试成绩占40%。我们以手机通讯录管理软件和腾讯微博客户端软件的完成情况对平时成绩进行评分。每完成一个软件,我们安排每位学生到讲台上演示软件的功能并讲解项目完成的思路,老师和其它同学对项目的有关问题进行提问,以此判定项目完成的好坏。期末考试方式是让学生完成课程设计作品和设计报告,以对学生的实际开发能力和重点知识的掌握情况进行考核。在确定课程设计题目时,老师先提供一些中等难度的题目让学生选择,基础一般的同学在这些题目中进行选择,基础比较好的学生可以自己寻找其它题目,但要经老师审核后方可作为课程设计题目。对于学生的考核作品,我们以课程设计答辩的形式对题目的难度、功能的完成情况以及创新性方面进行考核,答辩组由4位以上的老师组成。对于设计报告,我们重点考核书写的内容的完整性和书写格式的规范性。
六、结束语
通过以上综合的论述,对基于CDIO的Android应用程序开发教学改革进行系统的论述,主要就是为了提高学生的主动性和积极性,提高学生的动手能力和综合素质。
[参考文献]
[1]姜大志,孙浩军.基于CDIO的主动式项目驱动学习方法研究——以Java类课程教学改革为例[J].高等工程教育研究,2012,04:159-164.
[2]胡文龙.基于CDIO的工科探究式教学改革研究[J].高等工程教育研究,2014,1:163-168.
[3]彭伟.CDIO模式下嵌入式技术专业数据结构与算法设计教学思考[J].软件导刊(教育技术),2012,02:90-95.
作者简介:闫新宝(1986-),男,硕士研究生,研究方向:模式识别,数据挖掘,粗糙集。
中图分类号:G642;TP311.1-4
文献标识码:A
文章编号:1006-0049-(2016)07-0029-02
本文受广西重点培育学科(应用数学)建设项目(SXYB2015004)资助。