项目驱动下围绕知识点模块的安卓教学

2017-04-12 02:02郑灵华周珂珂琚小明
计算机教育 2017年3期
关键词:小型化安卓梯度

郑灵华,周珂珂,琚小明

(1. 华东师范大学 计算机科学与软件工程学院,上海 200062;2. 广州工程技术职业学院 外语与商贸系,广东 广州 510925)

项目驱动下围绕知识点模块的安卓教学

郑灵华,周珂珂,琚小明

(1. 华东师范大学 计算机科学与软件工程学院,上海 200062;2. 广州工程技术职业学院 外语与商贸系,广东 广州 510925)

随着移动互联网技术的快速发展,高校开设Android移动技术开发课程以适应社会对人才的要求。文章首先说明Android课程知识点和教学设计的主要思想,然后基于项目驱动的安卓模块化教学,提出以实际项目为背景和围绕模块化知识点展开安卓教学的方法,详细阐述这种教学模式的具体实践过程。

项目驱动;模块化知识点;安卓教学

0 引 言

随着安卓手机市场占有率提升,用人单位对安卓开发人才的需求也急速上升,为了适应社会需求,高校纷纷开设安卓课程,为学生讲授安卓开发的相关知识。然而,由于安卓知识繁多且杂乱,学生常常无从下手; 同时,安卓知识之间紧密依赖,学生往往在综合运用场景时会感到迷惑[1]。

为了解决上述问题,我们提出以安卓知识点模块为单位的特色教学,并将每一个模块整合映射到一个具体项目中。这种以模块为中心的教学,能让学生快速明确地掌握安卓知识点;同时,将知识点模块整合映射到具体项目中,又能帮助学生把握全局,有利于理清知识点模块之间的关系。

1 Android课程的知识点

安卓知识繁杂,不易理解。安卓课程往往章节多、内容多且项目大,为了达到培养安卓开发人才的目的,如果只是按部就班地教授安卓知识,并不能被学生完美地接纳理解。我们提出摒弃现有的安卓教学模式,采用以知识点模块为单位的教学,即提炼整合繁杂的学习内容,形成一个个功能性模块,模块内部包含完成这个小功能所需的安卓知识点[2]。教师可以模块进行教学,同时在每个模块的教学内容结束后,引入小型项目练习,让学生将模块应用到项目中,从而解决项目问题。这一教学步骤旨在帮助学生巩固所学知识点模块,并做到理论联系实际[3]。

通过分析现实环境中的安卓项目,首先总结现实项目的共有功能(如页面的显示),作为安卓教学的基础知识;其次在课后以小型化项目的形式,让学生实现这个功能。随着课程的深入,小型化项目是递进的,这要求学生能举一反三,不断总结创新。然后,对现实环境中的安卓项目进行分类,找出某一类APP所需的必要功能,如点餐系统和导航系统,前者的订购下单功能,后者的定位功能;将这些功能提取出来并找到其包含的知识点,整理归纳形成模块;以期末大项目的形式体现这些模块,让学生逐渐实现一个商业安卓系统,真正掌握一整套安卓课程知识并熟悉自底向上的开发形式。知识点模块和对应的小型化项目见表1。

表1 知识点模块和对应的小型化项目

2 教学设计的主要思想

为了避免出现学生主动性不高、动手能力缺乏等问题,改变教条式教学,培养学生的综合实践和创新能力就显得非常重要。我们提出项目驱动、围绕模块化知识点开展教学的原则,流程如图1所示。

图1 项目驱动下围绕模块化知识点的教学流程

模块化教学法是指将课程知识以模块方式进行分解转化,中间辅以梯度练习;强调模块之间的关联性和互补性,着眼于让学生理解掌握每一个模块并且能举一反三,在最后的项目实训中,能用合适的模块实现最优的程序设计。基于项目驱动是指以生产实际项目为教学背景,分解项目中的各个功能,在安卓模块知识之间找到关联点并进行划分归纳,达到以一个实际功能带动知识点学习的目的。

模块化教学方法的优点在于摒弃安卓知识体系原有的繁多琐碎,通过总结归纳,从实际项目出发,分解实际项目中每个组件各个功能所用到的知识,抽离成模块进行教学,让学生学到一个实际功能,直观地感受当前控件是什么和能做什么,因此在实际项目背景下,将课程知识点分成模块,以项目包含的部分功能和知识点模块一一对应的形式,讲解每个安卓功能开发涉及的知识点,中间辅以对应的阶段性和梯度练习,最后以完成一个简化的实际工程项目作为检验学生学习效果的方法。这种教学方法下,不再是传统的教条式教学,而是围绕实际项目进行教学,且涉及的知识点以模块形式呈现,具备整体性和代表性,更容易引起学生的兴趣。通过这种方式,可以有效地培养出理论基础牢固且动手解决问题能力强的软件开发人才,而这正是高校和社会所期望的。

3 教学模式与实践

基于模块化知识点的教学,强调教学前的科学整理分析以及如何有效地串接知识点和技能点,避免学生进入大量编写代码的困境,迷失在杂乱的教学任务中,因此以项目为驱动、围绕模块知识点的教学模式,依赖于教师在课程伊始就做好项目设计和知识网络梳理。

3.1 课程准备

课程前期的准备工作尤为重要,是教学模式能否达到期望效果的奠基石。首先,项目驱动所选择的项目要考虑到实际教学环境,不能超出实验室的设备负载;其次,项目应该贴近学生生活,让学生产生亲近感,便于下手,而不会产生畏难退缩情绪;第三,项目要分解成一个个单独的功能,尽量细化以贴近每个知识点模块;最后,教学方式的灵魂——知识点的模块化需要教师统筹Android体系全局,根据每个知识点在实际生产运用中的联系,抽离、总结并整合在一起,形成一个模块,而这个模块要恰好能和项目剥离出的小功能贴合。此外,每个模块之间不能相互独立,应该相互依存、相互联系甚至形成递进和梯度性,便于后续的梯度化练习,让学生的学习曲线呈现螺旋向上状态。

3.2 课程导入和讲授

项目选定后,如何在课堂上导入新知识点也是教师的必修课。对待这种技术类的学习,一定要激发学生的兴趣,帮助学生消除畏难情绪。我们建议采用启发式教学[4],正所谓“不愤不启,不悱不发,举一隅,不以三隅反,则不复也。”先贤孔子已经对启发式教学作了最好的解释。在知识导入和教授过程中,教师要充分调动学生的主观能动性,引导他们独立思考,找出解决方法,从而加深对知识的理解。

未来的技术工程师除了要具备实际编程能力和分析解决问题能力,培养团队协作能力和交流沟通能力也同样重要[5],因此在实际授课过程中,教师要鼓励学生互相讨论、互相协作,培养团队合作意识,营造积极主动的学习氛围。

3.3 梯度练习巩固

随着课程的深入,学生是否掌握知识点并且做到融会贯通是检验教学成功与否的衡量标准。总的来说,练习要做到承上启下,每一次小练习不仅要贴合当前知识点模块的重点,还要考虑加入前期所学知识点,时刻强调知识点之间的关联和比较。梯度练习的大致流程如图2所示。具体而言,梯度练习是指注重项目的小型化和典型化[6],从小到大加深难度,分解项目的功能以契合知识模块,让学生自己实现。

小型化是指每一个知识点模块教授完毕后布置一个小作业,如讲授完具体的页面布局和控件后,让学生实现登录界面的布局和设计。这种纯页面只涉及基础的文本控件,难度不高,花费时间少,较容易完成且容易检验学生的完成效果,但小型化项目存在知识面窄和分散的缺点,学生难以从小型化项目中认识到整个项目的框架结构。教师需要设计多个小而精的项目,在各项目之间考虑知识点的关联性,模块间要有承接和复用,在讲授后续项目时,要对前面的模块知识进行巩固,强调举一反三。

图2 梯度练习流程

梯度练习是在每一次小型化项目中适当增加难度,难度的控制应该介于学生无法通过课堂所讲内容解决,但可以通过思考或者查阅资料解决。例如,在学习布局内容时布置的小型化作业是实现页面;紧接着在学习监听器时,让学生考虑在前期所做的页面上监听控件变化,实现知识点之间的连贯性,做到温故知新。此外,还可以提升难度,如表单的监听和提交如何考虑安全问题、如何避免多次重复提交等,这些问题都在课堂知识点讲授范围外,但又符合实际项目的真实需求。教师要启发学生进行创新思考,最后对学生的想法给予点评和建议,这样既不会影响学生的积极性,又能增加学生自己解决问题后的成就感和喜悦感,进而激发他们的学习乐趣同时又提高动手实践能力[7]。

项目典型化是结合当前比较主流的Android操作系统应用软件为原型进行提炼,组成若干个实战案例,要求学生掌握几个典型案例,如进销存软件、点餐软件、移动APP考试软件等,为今后的求职做好准备。项目典型化内容和特点如图3所示。

项目典型化就是每一次小型化项目的深化和总结提炼,在小型化项目的基础上,结合每一个模块知识,举一反三、统筹归纳、优化完善,进而完成一个完整的安卓平台软件。在这个阶段,教师要重点培养学生的团队意识和合作能力,重点关注学生的技术难点和原型建立过程,对学生遇到的问题进行及时疏导。

图3 项目典型化内容和特点

3.4 实训反思考核

技术的学习和提高在于学生每一次解决问题时能有所收获。在完成独立项目后,应该开展考核交流研讨会。会上,各组分别介绍自己的项目,教师要引导他们对初期确立主题、建模、代码实现、测试等一系列过程进行讲述,鼓励他们提出各自项目的技术难点和所解决的问题;让学生详细讲述他们遇到什么问题、怎么解决这个问题以及从中学到什么;充分引导学生进行自我反思,再一次深度认识所完成的项目。好的想法便是产品成功的一半,教师应该更多地关注学生在这段学习中学到什么、进步多少,鼓励学生发扬创新实践精神。

4 结 语

随着社会对安卓人才的需求增大,高校开设优质的Android课程显得尤为重要,而详尽的课程案例设计是课程的灵魂。采用以知识点模块化为核心的教学方式,能让学生贴近实际生活,了解知识点之间的内在关系,学会举一反三,对知识点融会贯通,最后的实训项目也能为学生以后的求职作好准备;在学习过程中加入的梯度练习,能让学生的动手实践能力和分析设计能力得到提升;在项目典型化中,通过一个完整的项目又能让学生体会软件工程思想,培养团队协作沟通能力并在解决问题中提倡和培养创新精神。如何更好地推进Android教学,优化考核制度,更好地让学生和社会接轨,是我们下一步要探讨和研究的方向。

[1] 刘成明, 李玮玮. Android手机开发课程的案例教学法[J]. 计算机教育, 2014(14): 37-40.

[2] 覃遵跃, 钟键. 典型案例教学在“Android 开发技术”课程中的应用[J]. 现代计算机, 2014(11): 24-26.

[3] 利莉. Android系统平台案例教学——以手机电视应用为例[J]. 景德镇高专学报, 2014, 29(2): 99-100.

[4] 周红波. 案例教学在“Android应用开发”课程中的应用研究[J]. 计算机光盘软件与应用, 2012(9): 213-214.

[5] 姚培娟, 张志利. 基于案例教学的“Android应用程序设计”的课程教学研究与实践[J]. 软件导刊·教育技术, 2015, 14(5): 6-7.

[6] 张虎, 李学军. 高职院校android教学与人才培养模式的研究[J]. 农业网络信息, 2013(5): 121-123.

[7] 沈海荣. 高职院校Android教学与培养模式的研究[J]. 福建电脑, 2015(11): 152-154.

(编辑:宋文婷)

1672-5913(2017)03-0129-04

G642

郑灵华,女,软件工程专业在读本科生,380304153@qq.com;

琚小明(通信作者),男,副教授,研究方向为嵌入式系统、信息安全等, xmju@sei.ecnu.edu.cn。

猜你喜欢
小型化安卓梯度
磁共振梯度伪影及常见故障排除探讨
iPhone不卡的秘密曝光:安卓也能享受
文物表情包
一个具梯度项的p-Laplace 方程弱解的存在性
安卓系统或成智能汽车标配
基于AMR的梯度磁传感器在磁异常检测中的研究
基于数字虚拟飞行的民机复飞爬升梯度评估
安卓机器人
小型化发动机用新型罗茨增压器
未来汽油机的小型化