祁瑞丽,孟军英,滑斌杰
(石家庄学院 计算机科学与工程学院,河北 石家庄 050035)
随着互联网技术的飞速发展,智能终端设备发生了日新月异的变化,Android 系统随之受到了越来越多人的青睐[1]. 因其开放性和包容性,Android 系统具有非常广泛的应用场景,例如学习、工作、社交、娱乐、购物及健身等. 随着各种应用软件需求量的增大,各大互联网公司顺应市场潮流,逐步加大对Android 平台相关应用软件的开发和支持力度,随之,与Android 开发相关的就业岗位也变得越来越多[2-4].
就高校而言,由于Android 课程综合性和实践性较强,知识体系更新快,知识结构庞杂,学生往往只能掌握基本知识点和基础应用,无法融会贯通,无法开发出满足实际需求的软件. 为了适应市场需求,开展了Android 开发技术应用型课程建设的相关工作,对传统教学内容和教学方法进行改革,同时改革教学评价方式,更侧重过程性评价和实践性评价,以培养学生的Android 开发和综合应用能力.
Android 开发技术课程综合性很强,要求学生掌握一定的专业基础知识之后才能学习,其前导课包括:面向对象程序设计、数据库原理和网站设计等,通常作为专业方向的课程,一般开设在四年制本科的第三学年. 课程建设本着以“培养应用能力为核心”的原则[5-8],把培养学生的专业应用能力和软件综合素养作为核心要素. 从课程内容、教学方式、课程考核方式和教师团队建设等方面进行分析与研究,以案例教学为主线,以项目开发为引导,以学生动手实践为主体,通过精心设计的案例与实验,把设计与开发、能力与素质有机地结合起来,使学生在实践中锻炼动手能力、积累开发经验,最终达到提升学生专业应用能力和综合素养的目的.
在课程内容的选取过程中,以注重实践环节、增强应用能力、提升学生技能为原则,以“教学案例+阶段项目”的形式精心组织教学内容.
2.1.1 教学案例
传统教学方式以知识讲解为主、学生练习为辅,忽视了学生知识体系的整体性和连贯性,学习效果不太理想. 本课程采取以项目案例为主线、各个知识点为支撑的组织方式,兼顾了学生的认知特点和知识体系的完整性,通过紧贴现实的案例激发学生的学习兴趣. 该课程的主要知识点包括:搭建开发环境、创建项目框架、设计用户界面、数据存储与访问、访问网络、多媒体技术、测试与发布等. 以实际的项目案例为载体,按照由浅入深、由易到难的顺序构建分层次的教学案例,在保证知识体系的系统性和完备性的前提下,突出实用性. 教学案例及教学目标见表1.
表1 教学案例及教学目标
2.1.2 阶段项目
通常,大部分软件的开发都是由项目团队集体合作完成的,阶段项目与这种开发模式相呼应. 教学案例主要针对某几个知识点,阶段项目则是围绕多个知识点设计的综合性项目,通常在一个教学阶段完成后进行,主要锻炼学生的动手实践能力和综合运用能力,培养学生专业技能与工程思维能力. 本课程的阶段项目及教学目标见表2,表中的教学时间以每周4 个学时,共18 个教学周为例进行说明. 时间安排上,案例教学贯穿整个教学过程中,把各个分散的知识点串联起来,使课堂变得生动有趣;阶段项目由于涉及的知识点比较多,知识和技能要求更高,属于综合类项目,一般在学生实践并掌握了各个分散知识点后进行,引导学生将理论与实践相结合,提高综合分析和应用能力.
表2 阶段项目及教学目标
教学方法和手段与教学内容相适应,才能使改革达到最佳效果. 通过对教学方法的研究得出:课程实施环节采取案例教学法和项目教学法,加强实践育人能力,采取多种方式发挥学生的主体作用,鼓励学生自主学习和合作学习,培养学生的学习能力、独立思考能力和科学思维能力.
2.2.1 案例教学法
围绕课程知识点精选教学内容,在Android 开发技术课程中引入了大量生动、鲜活的案例. 每次上课时,教师首先介绍案例任务,由一个个案例进行课程导入和任务设置,激发学生兴趣和好奇心. 然后带领学生按照软件工程流程对需求进行分析讨论、设计解决方案,在此过程中,注意采用启发式教学,积极引导学生,鼓励学生大胆尝试和实践. 接下来,带着对目标结果的强烈好奇心,引出与案例对应知识点的讲解,加强学生学习的内驱力和积极性. 最后,让学生独立完成编码和测试工作,从而巩固所学知识,锻炼软件开发能力. 整个课堂以案例为主线贯穿各个知识点,以案例教学法开展教、学、做,让学生在“做中学”,在“学中做”.
2.2.2 项目驱动教学法
项目教学法主要针对课程内容中的阶段项目实施,具体做法如下:在Android 开发技术课堂教学之后的阶段项目环节,将学生分为若干项目小组,通常3~4 人一组,由学生根据自己特长自由结组. 每组学生对设定的问题都积极地进行分析,分组协作完成相关的阶段项目任务. 各组学生根据自己感兴趣的方向,结合知识掌握程度和动手实践能力团结协作,共同完成. 每组选取一个组长充当项目经理,监控整个项目开发过程,其余学生则扮演需求分析人员、设计人员、开发和测试人员等,通过分工协作的形式,按照软件开发流程,完成项目的需求分析、系统设计、系统编码和初步测试工作[9],并根据实验过程撰写相关的项目设计报告. 通过这种方式,培养学生的团队协作意识、科学思维、科学工作方法和软件职业素养.
2.2.3 线上线下混合教学
教学中充分发挥学生主体作用,鼓励学生有效利用网络资源开展自主学习,拓展学习渠道,促进学生课上课下、线上线下的融合学习. 例如,课前通过教学辅助网站发布预习视频和学习任务,要求学生提前了解下次课程知识点,上课时学生带着疑问听课,目的性更强,学习效率明显提高.
Android 开发技术课程实践性很强,为了达到良好的教学效果,要求学生边学边做,因此整个课程都是在实验室进行的,这就为案例教学法、项目教学方法的实施以及学生动手实践创造了良好的外界环境.
考核方式是检测学生课程学习效果的重要手段,根据该课程案例教学和项目教学的特点,考核注重强化过程性考核和实践考核,考查学生能否利用所学知识解决实际问题.
过程考核与实践考核方式相结合,通过报告、项目答辩等多元化考核方式综合评定成绩. 依据教学内容和教学方式的改革,课程考核方式注重学生的自主学习能力、项目设计和开发能力、团队合作能力的培养.考核项包括出勤及课堂表现、课题案例完成情况、阶段项目完成情况以及个人在小组中所起作用等. 每个项目的成绩考核方式也多元化,采取组内自评、小组互评、教师综合评价相结合的方式,充分体现评价标准的科学性和公平性. 阶段项目考核评分依据及权重分配如表3 所示. 通过学生分组,在团队合作的情况下,按照项目的设计、实施、调试、文档撰写的流程,完成项目实训. 阶段末采取项目答辩的方式,从界面设计、功能设计、团队合作、文档撰写、自述与答辩等方面考查学生的综合能力.
表3 阶段项目考核评分依据及分值
在教学过程中,灵活、动态运用考核办法,根据教学模式和特点的变化做出适时调整,例如,因疫情在线教学期间,结合课程的性质和特点,加大过程考核比例,将平时成绩在课程综合成绩的占比由原来的30%调整为40%,采取多种办法真实、客观评价学生学习效果.
1)努力践行师德. 课题组教师认真学习党的教育方针和政策,努力践行高尚师德,涵养教育情怀,增强自身的理论自信和文化自信[10],提升团队的思想道德修养和课程思政建设能力,努力成为“四有”好老师.
2)提升专业知识和技能. 由于Android 技术更新很快、知识面广、实践性强,仅靠理论知识往往达不到实际项目的需求. 课题组老师不定期进行教学研讨活动,交流Android 新技术和教学经验,并主动参加技术培训,提升专业技能,积累教学经验,为教学注入新的活力.
3)以赛促学,以赛促教. 为了提高学生的学习兴趣和主动性,鼓励学生积极参加多种形式的创新创业竞赛项目,例如“互联网+”比赛、微信小程序大赛、程序设计大赛等,并取得了较好的成绩. 通过这种形式,帮助学生开拓视野,激发创新思维和创新意识,以赛促学,以赛促教,在实践中锻炼了老师和学生的问题分析能力和解决能力.
通过教学内容重组、教学方法和考核方式改革以及教学团队建设,学生学习积极性和主动性明显提高了. 在毕业设计阶段,Android 开发相关的课题越来越多;在实习和就业阶段,学生因为具备Android 开发相关理论基础,岗位选择权利和机会更多了. 未来,还需要在课程内容和评价体系方面开展深入研究和探讨:课程内容上,强化与物联网等应用性课程之间的交叉融合,有效激发学生创新动力;评价体系上,在学校工程教育认证背景下,建立课程目标与毕业要求指标点之间的对应关系,做好课程的试卷分析、达成度评价分析和持续改进,切实提高教学质量,为培养满足市场需求的Android 应用型人才贡献力量.