基于ldquo两性一度rdquo

1“金课”建设背景

年8月27日,教育部印发了《关于狠抓新时代全国高等学校本科教育工作会议精神落实的通知》,提出[1]“各高校要全面梳理各门课程的教学内容,淘汰‘水课’、打造‘金课’,合理提升学业挑战度、增加课程难度、拓展课程深度,切实提高课程教学质量”。教育部高等教育司司长吴岩系统阐述了“金课”,并将其归结为“两性一度”:高阶性、创新性和挑战度[2]。在“金课”提出的短短几个月时间里,全国有多所高校积极响应,掀起了一股建设“金课”的热潮。同时,随着4G网络的大规模铺开,移动互联网进入全面发展阶段。移动互联网的快速发展,大众创新、万众创业的快速推进,使其成为社会发展的新动力之一,这些都对相关专业人才产生了巨大需求[3]。国内很多高校都将移动开发人才培养作为计算机类相关专业的培养特色[4]。

2“金课”建设思路

目前,程序设计公共课的主要教学语言C、VisualBasic等只能讲授基本的编程方法,无法直接求解复杂专业问题,课程知识与学生应用需求脱节,学生对课程的满意度低[5]。“淘汰水课,打造金课”[1]是开设课程的基本要求。

Swift程序设计实践是一门实践性很强的课程,为课程实验环节设计一系列具备高阶性、创新性和挑战度的综合实验,是进行“金课”建设的关键环节。那么应该如何设计基于“两性一度”的综合实验呢?

移动应用开发是当前软件开发的主流和热点。在AppStore中涌现出了大量优秀的创新App。这些成熟的产品为课程提供了大量优秀素材,但是这些App的工程开发量较大,系统设计也较为复杂,大部分会综合运用多个成熟技术。要将这些App搬进课堂并非易事。需要根据课程的具体教学目的,适当地裁剪和修改App的功能,减少重复性的工程开发量。对于复杂系统,还需要重新设计,简化系统架构,从而适合课堂教学。另外,对于App涉及的课程以外的理论或技术,需要编写补充材料,帮助学生快速扫除障碍。

3综合实验实例:iOSApp“”设计与实现

本实验要求学生综合运用所学知识来解决实际的工程实现问题,实验中融合了以下知识点:本课程讲授的Swift程序设计语言和iOS可视化开发技术、软件工程类课程讲授的基于UML的系统功能分析和详细设计方法以及单元测试和功能测试技术、课前要求预习的补充材料中的MVC系统架构、CocoaTouch开发框架和相关的可复用软件设计模式。

3.1实验内容

本实验以开发实现AppStore中经典App“”为目标,学生根据实验任务要求,在功能分析、系统详细设计、编码实现、系统测试与App发布的整个App工程实现流程中,熟悉并掌握iOSApp的设计开发方法和技术,开拓创新思维,加强知识在实际工程实现中的分析和运用能力,提升复杂工程项目的实现能力。实验内容主要分为以下4个阶段任务。

(1)App功能分析。根据项目的设计要求,详细分析App功能,并通过统一建模语言UML分析和定义App功能。

(2)App详细设计。在功能分析的基础上,设计系统架构,确定数据结构、视图组合以及逻辑执行流程和相关算法,并通过UML类图详细刻画系统。

(3)App编程实现。根据App详细设计,在Xcode开发环境下,通过Storyboard可视化技术搭建用户交互界面,用Swift语言编写模型层、视图层以及控制层的相关代码。对App进行单元测试和全面的系统测试,修复系统中存在的bug,完成App的全部功能。

(4)App发布上线。完成App的项目收尾工作,包括App的国际化,使App至少支持中英两种语言的显示;制作App的图标和App启动页。完成App发布的相关流程,包括申请开发者证书、创建描述文件、设置产品的标识和部署信息、提交App。

3.2实验过程

本实验过程大致分为4个阶段,包括课前预习(课余时间)、理论课精讲(2学时)、上机实验(8学时)、课后提交验收(课余时间)。

课前预习环节,教师在线发布实验相关的教学资料(设计模式相关理论讲义、UML2.0规范相关文档和手册、CocoaTouch参考手册等),学生利用课余时间学习并掌握相关理论知识、开发技术,能够熟练使用相关工具软件。

理论课精讲环节,教师讲解本项目开发中的要点和难点,并扫除学生在预习过程中遇到的障碍。

上机实验环节,学生在教师的指导下完成项目的需求分析、系统设计,确保项目朝着正确的方向开展。学生独立完成架构设计、MVC详细设计、编码实现、系统单元测试与功能测试、App发布上线。具体来讲,上机实验环节由4个实验组成。

实验1为App功能分析,要求学生对App“”进行详细的系统功能设计,并绘制App主界面草图;再通过UML活动图描述系统的主要功能及功能之间的约束关系。根据游戏规则的特点,仅通过活动图就可以将其定义清楚,并不需要用例图、顺序图、状态图等描述。活动图是UML中一种重要的用于表达系统动态特性的图,用来描述一系列具体动态过程的执行逻辑,展现活动和活动之间转移的控制流。App“”的UML活动图如图1所示,对App“”系统执行的动态过程进行描述。

实验2为App系统设计,要求学生基于MVC模式,完成App“”的系统架构设计以及MVC中每一层的详细设计。在模型层,要将App中的相关对象抽象成具体的模型类,并通过UML类图对模型类进行建模。在视图层,要根据设计的App界面草图,将其分解为若干子视图部件,并通过UML类图对子视图类进行建模。在控制层,要根据模型层和视图层的设计,定义相应的控制层逻辑,并通过UML类图对视图控制类进行建模。

App“”模型层的UML类图如图2所示,给出了模型层类图的完整定义。在实验指导过程中,不需要提供完整的类图定义,可以根据学生的实际水平,给出模型层的类图框架和部分关键接口定义(例如:模型层主要的类及其约束关系,类中主要属性和方法),其余部分由学生根据自己的设计参考完成。

实验3为App编程实现,要求基于App架构设计,根据MVC各层的类图详细定义,在Xcode中用Swift语言编码实现所有类,实现前面定义的全部App功能。通过Simulator进行单元测试和功能测试。对于发现的错误,通过Xcode调试技术定位,并完成修复。

实验4为App发布上线,要求完成App“”的项目收尾工作,包括App国际化,实现App至少支持中英两种语言显示;制作App图标和App启动页,提升用户体验。完成App发布的相关流程,包括:申请开发者证书、创建描述文件、设置产品的标识和部署信息、提交App。课后提交验收环节,学生利用课余时间整理项目相关文档、总结工程开发经验,提交实验报告和源代码。教师在线评阅实验报告,线下验收项目,最后组织优秀作业完成者演示作品和分享经验。

3.3实验报告

实验报告主要分为预习报告和实验报告两部分。

预习报告由一套根据预习资料编写的测试题构成,用来检验学生的预习成效,为顺利开展后续工作做好准备。课前预习环节,教师在线发布实验相关的教学资料(UML统一建模语言、MVC系统架构、CocoaTouch框架等),学生利用课余时间学习并掌握相关的理论知识、开发技术,能够熟练使用相关工具软件。

实验报告由实验过程中产生的文档组成,包括:App功能分析阶段的App界面设计草图和UML活动图模型;App详细设计阶段的模型层、视图层以及控制层的UML类图等。除了需提交预习报告和实验报告以外,还要提交实验中的原型系统建模文件和项目工程代码。优秀作业还需要提交作品分享与总结的PPT(含真机演示的视频)。

3.4实验考核

本实验分为3个考核节点。

(1)课前:自学预习资料,并完成实验预习报告。

(2)课中:完成实验4个阶段的任务,包括:App功能分析、App详细设计、App编程实现以及App发布上线。其中,App功能分析阶段,要求提交界面设计草图和UML活动图模型;App详细设计阶段,要求提交MVC各层的UML类图;App编程实现阶段,要求提交工程源代码;App发布上线阶段,要求提交真机演示视频。

(3)课后:整理和完善课堂上完成的文档,汇总实验过程中遇到的问题和采取的解决方案,总结实验中获取的宝贵经验,一并编写到实验报告中,并与源代码一起提交。

另外,申请优秀的作品还需要制作PPT介绍设计方案,并线下进行作品分享和现场演示。

3.5实验设计

本实验是围绕“两性一度”标准设计的。

1)高阶性。

实验有机融合了软件开发中的软件系统建模、软件设计模式、移动应用开发、软件测试等理论知识和技术。学生需要综合运用这些知识才能顺利解决实验中的复杂工程问题。实验教学过程有利于培养学生解决复杂问题的综合能力和高级思维。

2)创新性。

iOSApp“”本身就是苹果应用商店的一款非常成功的创新产品,设计开发具有较大难度。为了引导学生顺利地完成复杂度高、难度大的工业级app,开发过程被分解为四个阶段。每个阶段通过运用特定的工程化方法来解决相对简单和容易的问题,从而大幅度提升了实验教学效果、鼓舞了学生独立从事创新性开发的信心。在实验设计上也具有一定的创新性。

3)挑战度。

实验取材于AppStore的工业级产品,具有较大的实现难度。实验过程中,对学生进行有针对性的工程化方法指导,并提供必要的配套教学资料。最终,通过教师和学生在课上课下的共同努力,几乎每个学生都能完成实验的基本内容。实验既有一定的挑战度,学生跳一跳又能够得到。

4教学效果

从年开始,综合实验iOSApp“”已经应用于—年2轮教学实践中。统计、、这3年的教学数据并提取出4个关键指标,汇总数据后如图3所示。

从选课人数可以发现,年开始增加了综合实验iOSApp“”后,学生对这门课程的兴趣不断升温。理论考试平均分和总成绩平均分逐年提升,而理论知识点和考试难度变化很小,这就说明融合了大量知识点的综合实验对于巩固和加强理论知识点的掌握具有较大的贡献。课程大作业是学生自主命题设计iOSApp,难度要高于综合实验。优秀大作业的数量从年开始逐年提升,说明在经过综合实验的充分工程化训练后,越来越多的学生已经初步掌握了复杂系统的设计方法和流程,能够熟练运用相关方法和技术来自主设计和实现系统,具备了解决技术难题的自信和强烈的创新意识。

5结语

自从年苹果推出Swift1.0以来,经历了大大小小几十次的版本更新,目前最新版为Swift5.5。Swift语言在如此高速迭代过程中不断完善和发展,已经成为iOSApp的主流开发语言,但是这一点对于讲授移动应用开发类课程的教师来说,则是极富挑战性的,不仅要盯紧科技发展动态并及时更新已有教学内容,还要结合新技术设计出更多达到“金课”建设要求的综合实验。只有开拓思路、持续探索、迭代改进,才能不断提高教学质量、丰富教学内容,才能确保课程达到“两性一度”标准,真正将“立德树人”这个根本任务落到实处。

参考文献:

[1]中华人民共和国教育部.教育部关于狠抓新时代全国高等学校本科教育工作会议精神落实的通知[EB/OL].[-08-27].


转载请注明:http://www.aierlanlan.com/rzfs/6.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了