应—用型本科软件开发类课程分析
——以“Android移动开发技术”为例
2018-12-21朱艳平
朱艳平
(信阳农林学院 信息工程学院,河南 信阳 464000)
所谓应用型本科是指以应用型为办学定位,是本科层次的职业技术教育,是职业教育的高级化[1]。其人才培养的定位是在具有一定理论基础的前提下,具有较强的动手实践能力、创新能力、职业拓展能力和继续深造能力[2]。在应用型本科院校计算机类的相关专业中,软件开发类课程占了很大的比重。这类课程具有较强的实践性、工程性,更强调提高动手能力,解决实际问题[3]。随着智能手机和平板的普及,移动应用开发也已成为热门[4-5]。作为主流移动端操作系统的Android,人才出现了较大的缺口,人才培养显得尤为重要[6]。
软件开发类课程具有共同的特点,即要求学生的动手实践能力强。而现阶段该类课程也存在着共性的问题,就是难以在“理论”和“实践”之间做出平衡,很难达到理想的教学效果。本文以“Android移动开发技术”为例,对软件开发类的课程进行研究,提出改革方案。
1 “Android移动开发技术”课程现状分析
以信阳农林学院网络工程专业为例,对其课程体系进行分析。“Android移动开发技术”在第4学期开设,“Java Web软件开发”和“软件工程”在第6学期,并在第7学期开设了“Android高级应用”。学习Android开发,需要具备Java Web的相关知识。而从上述课程体系中可以看出,“Java Web软件开发”是在“Android移动开发技术”之后开设,不利于Android知识的学习。另外,作为软件开发类课程,倡导项目教学,可作为项目管理的“软件工程”却在第6学期才开设,不利于项目教学的展开。最后,“Android高级应用”开设在第7学期,不利于知识的连续性。
对于“Android移动开发技术”课程也存在着下述问题:讲授内容很难在“理论”和“实践”之间做出平衡;上课时间不集中,学生往往学完之后没能及时复习,再上课时就把前面所学的知识全忘记了;虽然采用案例教学,但案例的选择并不科学;现有教材并不能满足教学的需要。另外,学生对学习软件开发类课程的兴趣不高,当在学习过程中遇到困难时,容易产生放弃的念头。
2 “Android移动开发技术”课程改革
根据“Android移动开发技术”教学存在的问题,提出如下改革策略。
2.1 优化课程体系
作为前导课程的“Java Web软件开发”和项目管理的“软件工程”,应在“Android移动开发技术”之前开设;“Android高级应用”作为“Android移动开发技术”的后续课程,应紧跟其后进行开设,中间不要间隔学期。
2.2 精心组织教学内容
首先要研究学生的学习曲线,学生在学习软件开发类课程时要经历3个阶段,即单词阶段、语句阶段和逻辑阶段。单词阶段是记不住代码中关键字的拼写,语句阶段是记不住代码中语句的语法,逻辑阶段是弄不清完成项目需求的业务逻辑。因此,学生在写程序时就存在着两大瓶颈:(1)处于单词阶段和语句阶段的学生过不了编译这一关;(2)处于逻辑阶段的学生如何从抄代码过渡到自己写代码。
根据学生的上述特点,可将讲授内容分为3个阶段。(1)Android知识讲解,采用案例教学,演示示例代码,学生抄代码。(2)做小项目,要求学生按流程抄代码。(3)做一个大项目,综合使用前面所学内容。案例和项目的选择要符合以下要求:要覆盖若干个核心知识点,具有分层性;要贴近生活实际、生动有趣;规模适当;难度适中。
2.3 调整授课时间
与信阳农林学院有合作关系的企业,他们会用4个月的时间集中培训学员,使其具备Android应用开发的能力,其总学时可达到618学时。而在学校一般情况下,“Android移动开发技术”的总学时为72学时,再加上后续开设的“Android高级应用”的72学时,总学时才为144学时,且每周只有4学时。为了提高教学效果,可采用集中授课的方式,将该门课的授课时间集中在学期的前几周或是后几周进行。
2.4 教学方法改革
(1)画分析图:为了使学生对如何实现项目需求有整体的认知,需要分模块画出项目的业务流程图和数据流图,以及各个类之间的关系图。
(2)做笔记:为了便于学生的复习,教师在讲授过程中需要做笔记,将讲授的知识点、画的分析图以及关键操作步骤的截图放在笔记中。学生在课后复习的时候,有哪里不清楚,看一下笔记就一目了然了。
(3)代码中做注释:教师在讲授过程中,要坚持自己写代码,不提倡复制粘贴代码,以提高自身的代码能力。并要求严格遵守代码规范,做好注释。这样学生再看教师写的代码,才知道是什么意思。
(4)版本教学:由于所选案例和项目具有分层性,故可按项目功能的多少进行版本教学,后一版本是在前一版本上增加了新的功能。结合版本比较软件Beyond Compare的使用,使学生更容易理解和掌握。
(5)教与练相结合:为了实现教与练相结合,可采用教学做一体化,实践教学层次化的方法。教学采用模块教学,案例教学,项目教学;学生组建项目团队,采取帮扶策略,1个团队由1名优秀生,2~3名中等生和1名差生构成;鼓励并指导学生参加各种竞赛;加强校企合作,使其成为学校教学的有力补充。
(6)提供给学生自学资料:可提供给学生一些技术论坛、博客,网络视频课,教学资源库等自学资源,教会学生利用这些资源扩展自己的知识面,解决遇到的实际困难。
(7)语言的艺术:软件开发类的课程专业词汇多,开展项目的过程复杂,学生不容易理解。如何把授课内容讲得通俗易懂,且具有幽默感,让学生乐于与教师互动,这是每一个计算机教师都应该修炼的语言艺术。
2.5 考核方式改革
大多数院校一门课的成绩往往由期末考试来衡量,这种考核方式并不能显示出学生实际开发能力的强弱。因此取消期末考试,成绩的评定由以下几个部分构成:平时出勤率占20%、案例和小项目的实现情况占30%、课程设计成绩占50%,另外还要考虑学生的实训情况和参加竞赛情况。考核方式变得多元化,才能综合评定学生对该门课的掌握情况。
2.6 配套教材的编写
教师在多年的教学过程中,积累了丰富的经验。选择教学案例和小项目的时候,更是费尽心血。有些案例是来源于学生,并不断加以精炼的。故教师可将这些案例和小项目作为基础,编写该类课程的配套教材,这将成为此类课程能够取得良好教学效果的有力保障。
3 结语
本文分析了应用型本科软件开发类课程的共同特点,并以“Android移动开发技术”为例,阐述目前该类课程教学存在的问题,以及如何从课程体系、授课内容、授课时间、教学方法、考核方式以及教材编写等几个方面进行改革。这对激发学生的学习兴趣、提高其动手实践能力、项目研发能力和自学能力起着积极的促进作用。