面向智慧农业的Android 应用开发课程教学案例设计与实践
作者: 魏玉震 赵敏 胡文军
摘要:文章以农业智能化进程中的移动终端应用软件开发为切入点,首先阐述了农业智能化的基本内涵,继而介绍了Android应用开发课程的核心内容及其在计算机专业教学体系中的重要地位。文章进一步探讨了Android应用开发在推进农业智能化进程中的功能作用,以及当前该课程在教学实践中普遍存在的问题。基于此,提出了融合理论知识、行业实践和探索创新于一体的案例式、启发式、探索式教学模式,旨在优化Android应用开发课程中理论讲授与项目实践的配比,创设适应农业智能化新场景的教学案例。通过实施本教改方案组织具体教学活动,旨在全面提升学生运用系统工程思维解决农业智能化实际问题的能力。
关键词:智慧农业;Android应用开发;案例教学;协同创新;产学融合
中图分类号:TP391 文献标识码:A
文章编号:1009-3044(2024)10-0168-04
0 引言
中共中央连续发布的“一号文件”始终强调农业农村优先发展的战略,坚持城乡融合发展,并注重科技创新与制度创新的双重驱动[1]。智慧农业作为信息化、数字化、智能化时代背景下的必然趋势,其本质是集成应用最新的计算机科学技术、现代通信技术、生物工程技术以及相关前沿科技,依靠数字信息技术实现农业生产全过程的科学决策[2]。
信息化与智能化是未来社会发展的重要趋势,也是我国农业现代化转型升级的关键路径。在日常生活中,人们最为直观地感受到信息化与智能化的载体便是移动终端的各种应用程序,例如通过智能手机应用进行导航、购物、通讯、娱乐等。鉴于社会对移动应用开发的巨大需求,高等院校在制定计算机类专业培养方案时,普遍将移动应用开发课程纳入课程体系之中,然而实际教学效果并不理想,突出表现为学生在实践与创新能力方面的欠缺,不能有效地将所学知识转化为实际应用能力[3]。问题产生的主要原因有两点:首先,传统的教学方式通常按照教材的知识结构线性推进教学进度,导致学生难以将理论知识与实际应用情境相结合,对课程内容难以形成深入理解和灵活运用[4]。其次,移动应用开发课程普遍存在教学案例系统性不足的问题,尽管多数案例覆盖了界面设计、后台代码设计、数据库设计等多个知识点,但对于具体行业需求分析、业务逻辑设计等方面的讲解不够深入,导致学生在参与过程中难以找到强烈的代入感,进而难以形成系统性工程思维[5]。这一点显然与教育部倡导的,旨在培养具备实践能力、创新能力和国际竞争力的高素质复合型新工科人才的理念不符[6]。
系统性工程思维是成长为高素质复合型新工科人才的必备素质,因为在解决复杂工程问题时,往往需要将底层理论方法、行业实际需求以及反复实践结合起来,而这三者间是可以互相促进的[7]。农业问题本身就具有很强的系统性,在智慧农业的大背景下,对计算机工程与农业工程交叉领域的复合型人才需求尤为迫切。智慧农业的实际应用场景有助于提升学生对农业问题的系统性认知,激发他们解决具体行业问题的代入感与成就感,从而促进计算机专业人才培养的质量提升[8]。当前,农产品的透明销售与流通是农业智能化的重要体现,例如利用AI模型预测农产品在不同时段的销售情况[9],借助区块链技术实现农产品质量、产地的可靠追溯以及流通环节的智能化管理[10],这些都为计算机工程与农业工程交叉领域的复合型人才培养提供了理想的切入点。
1 教学案例设计
在设计教学案例时,应当综合考量课程特点、教学目标、学生水平以及相关产业的实际应用情况[11]。因此,首先需明确教学案例设计的原则,如本教学改革研究以智慧农业应用场景为导向,运用Android应用开发课程知识解决本地特色农业问题。其次,制定适宜的教学内容与教学计划,如根据教学案例特点安排基础教学与实践教学的比例。然后,根据既往教学经验及类似教学案例对教学重点和难点进行分析解读。
1.1 教学案例设计原则
智慧农业涵盖众多领域,部分领域因其复杂性和专业性较高,不宜作为初学Android应用开发课程的教学案例。例如,由中国水稻研究所开发的“知稻”App,囊括了肥料、农药、种子、气象、土壤湿度、病虫害防治等全方位信息,且对水稻生长周期进行了专业化细分管理,此类复杂应用对于初学者来说难度偏高[12]。在设计教学案例时,不仅要确保学生掌握相关技术方法,还要结合本地产业特色,便于学生在开发过程中产生共鸣和代入感,从而提升教学效果。以湖州为例,茶叶为其特色农产品,同时也是我国茶文化的重要发源地,当地盛产安吉白茶、长兴紫笋、莫干山黄芽等多种知名茶叶品种,深受广大师生熟悉[13]。然而,我国茶叶市场存在诸如产地造假、价格混乱、缺乏量化评价标准等诸多问题,阻碍了茶叶市场的健康发展[13]。因此,本研究以推广本地特色茶叶、规范茶叶市场为目标,设计了Android 应用开发课程的教学案例。
按照Android应用开发的一般流程与应用场景,首先引导学生对移动应用的系统功能结构进行规划。针对推广本地特色茶叶和解决茶叶市场混乱问题的需求,指导学生对问题进行梳理和拆解,构思应用程序的功能结构(如图1所示)。教学设计的整体原则遵循“问题导向”→“理论框架建构”→“实际案例分析”→“延伸思考与拓展”→“互动交流讨论”。
1.2 教学内容设计
面向智慧农业应用场景的Android 应用开发课程,旨在借助启发式案例增强教学效果,并非忽视基础知识与技术技能的教学,而是要合理编排教学内容,确保学生能够构建起知识系统的整体框架,避免将多个知识点混杂堆砌进行机械化、灌输式的教学[12]。首要任务是对教学案例所需开发规模及其所涉知识点进行具体分析,以便合理设定基础教学与实践教学的比例。对于基础的UI界面设计、常用组件(如Activity、Service、Content Provider、Broadcast Re⁃ceiver、Intent等Android基础知识),要做到详略得当,避免对过于晦涩的知识点进行过度阐述;而对于XML 基础语法、Java基础语法以及常规使用的包和类等知识点,则应重点传授其学习和运用方法,使学生能够在项目开发过程中自行解决代码相关问题。
在开展针对具体应用案例的项目开发前,除讲解开发背景和基本理论框架外,本研究在初期增设了体验环节,即介绍与项目相近的优秀App产品,如“云上智农”“一亩田”“慧种田”等,让学生亲身体验,感受优质App在UI界面布局、业务逻辑设计上的独特之处,为学生独立开发App提供优质的参照基准。教师引导学生思考这些App背后采用了哪些关键技术,例如UI界面运用了哪些组件、这些组件是如何在后台进行管理和交互的、不同界面间的Activity如何实现场景切换和数据传递、组件怎样与Service建立绑定与解绑关系、客户端数据采取何种机制存储、如何搭建服务端等技术细节,促使学生自我审视在技术层面上存在的短板,并思考采取何种策略解决技术难题。
1.3 重点与难点分析
教学过程中的重点与难点是学生技术能力突破的关键节点,故而在教学中须重视对两者进行解析。Android应用开发课程的特色在于强调实践能力,即运用所学知识体系构建高质量App产品,然而现实中,很多学生虽能熟记课程知识点,但在运用所学解决实际产业问题时却显得力不从心。在引入智慧农业场景进行启发式案例教学时,并非仅提出案例和要求,而不关注对学生开发过程的分析和指导,教师应适时跟进学生在开发过程中遇到的难题,整理归纳学生反映的问题[14]。
在案例开发实践中,大多数学生面临的难点大致可分为业务层面和技术层面。业务层面具体表现为需求分析不准确、系统设计欠佳。如需求分析文档书写不规范乃至缺失,导致后续原型图与UI设计工作受阻;案例中牵涉茶叶消费者、生产者、销售者、检测机构等多个角色,多数学生对不同角色需求之间的关联分析不够精细,影响App 整体功能的实现;系统设计缺乏创新性且功能模块不够完整,业务流程图绘制不准确,存在逻辑缺陷。技术层面主要体现为布局管理器设计不合理,未充分考虑界面在不同屏幕尺寸设备上的适配问题;客户端数据库创建操作不熟练,在设计数据表和实体类封装时常出现错误;大部分学生选用Spring Boot搭建App服务端,但对于Spring Boot核心技术和运行流程理解不足,一旦遇到问题,不易找到解决方案。针对业务难点,引导学生遵循标准化商业App开发流程,做好茶叶市场的深度调研、撰写规范的需求分析文档、绘制精准的原型图和系统设计图,以此培养学生的商业化App项目开发实践能力。针对技术难点,则进一步深化UI界面设计的细节讲解、SQLite数据库的创建与使用教程、Spring Boot核心技术原理以及相关文档查询方法的教学,以巩固学生的专业技术基础并提升自主解决问题的能力。
2 教学案例实践
“纸上得来终觉浅,绝知此事要躬行”,计算机专业教育尤其需要深入产业实践,这样才能促进理论与实践的有机结合,并全面培养学生解决系统性工程问题的能力[15]。从项目推进角度看,实训通常可以划分为三个阶段:项目分析与可行性验证、基础功能实现与优化、项目成果展示。考虑到实际商业App开发中常采用团队协作模式,并且本案例中若要在基础功能基础上实现创新,可能需要多名学生组成小组共同完成较大规模的开发,故在此基础上增设第四个实训阶段——协同创新实训,以提升学生的团队协作能力。
2.1 行业分析与方案设计实践
本App开发项目旨在整合茶叶生产、销售、消费者以及检测认证机构等多方资源,提升茶叶生产者的市场竞争优势,为茶叶销售者和消费者搭建安全可信的交易渠道,提高检测认证机构的检测资源利用率,进而实现经济效益和社会效益的共享。要求学生通过实地调研、咨询业内专家和从业者、查阅相关资料等方式,深入了解茶叶产业链的现状和瓶颈问题,结合实际情况制定出满足各方利益诉求、切实可行的项目总体开发方案。接着,指导学生从自身技术实力、时间条件和其他相关支持条件出发,合理评估项目完成的可能性,如面临较大挑战,可适度降低开发难度。通过这一阶段实训,可以增强学生的行业调研能力、项目策划与管理能力、项目分析与决策能力,以及撰写相关文档的专业素养。
该实训阶段的产出成果应包括书面形式的项目需求分析报告、系统架构功能图、系统业务流程图、项目可行性分析报告以及项目开发时间计划表,根据学生提交材料的完整性、规范性、合理性对该阶段成效进行量化评价。
2.2 代码实施与优化实践
实现基础功能的基础是熟练掌握编程语法知识并熟练运用集成开发环境。为此,需指导学生选择恰当的开发工具。对于Android应用项目客户端开发,谷歌公司推出的Android Studio是最常用的选择,相比IntelliJ IDEA和Eclipse,Android Studio的配置更为便捷,建议学生采用Android Studio进行客户端开发[16]。考虑到Java语言在服务器端开发中具有稳定、跨平台、安全、API丰富等优势,建议学生基于Java选择相应的应用框架和IDE,如在安装Spring插件的IntelliJIDEA 或Eclipse 中进行Android 应用项目的后端开发[17]。对于初次接触全栈开发的计算机专业本科生,推荐使用易于学习、开源免费的MySQL作为后端数据库。在项目前后端基础功能实现后,进行项目编译、测试、优化及部署。此阶段将理论设计方案转化为实际软件产品,因此是整个实训过程的核心。要求学生根据系统架构功能图设计App UI界面,依照系统业务流程图编写App逻辑代码,并在安卓模拟器(AVD) 上进行初步调试,确保UI界面在不同Android版本和屏幕尺寸下都能正常显示,确保客户端业务逻辑符合茶叶生产者、销售者、消费者、检测者等各方预期。此外,还需学生根据客户端用户需求,设计相应数据库表结构,编写能实现用户注册、登录、下单、查询、删除、新增、编辑等功能的后端代码,并将后端代码部署至云端或服务器上进行测试与优化。通过该阶段实训,将进一步巩固学生对编程基础语法的理解和掌握程度、提高使用常见IDE的熟练程度,以及提升学生对农业领域Android应用项目全栈开发的综合技能。