“互联网+”背景下软件工程课程有效性探讨
2022-06-08赵秀梅郭咏梅
赵秀梅,郭咏梅
(长治学院 计算机系,山西 长治 046011)
引言
国务院总理李克强在2015 年政府工作报告中提出制定“互联网+”行动计划,使得“互联网+”成为国家经济发展的重要战略,纳入了顶层设计[1]。2018 年4 月教育部发布的《教育信息化2.0 行动计划》中指出:“到2022 年建成“互联网+教育”大平台,构建“互联网+”背景下的人才培养新模式。”互联网服务公司亟需大量的IT 人才[2]。特别是具有高级技能的软件工程人才的需求量更大。基于社会行业需求,教学必须着眼于培养具有较强实践创新型能力的应用型人才。因此软件工程课程必须适应时代需求进行教学模式改革。
1 软件工程课程的应然目标
软件工程课程从知识目标、素质目标、能力目标三位一体的人才培养体系着手,需要学生在创新实践能力、科学和人文素养及个性发展等方面加以提升[3]。根据软件工程课程的特点并结合本校学生自身的实际情况,基于互联网上时空自由、应用便捷的教育环境和慕课教学资源,灵活选择适合本身的学习方式和进程,着重培养学生以下几方面能力:学习能力、思维能力、实践能力、创新能力。要求学生课前通过视频自主预习,找出问题以便提高课堂效率;课中以解决生活中常见问题的软件项目开发案例作为实践教学内容,对学生实践中的各环节进行精准定位,并且精准控制学生完成项目进度的实施,对学生在学习过程中遇到的棘手问题及时解决。根据每个学生的不同基础,进行案例设计的裁剪和提炼,充分体现软件工程课程教学的本质,同时也要体现项目的工程特色。
2 软件工程课程的实然样态
软件工程作为计算机专业的核心课程,在课程体系中本应占据着举足轻重的地位。但传统教学过程却存在着课时少、内容多且抽象以及教师授课重理论轻实践等问题。课上师生交流互动有限,学生只是机械的接受教师灌输的枯燥内容,学生的参与性很差,教学效果一般。实践操作能力不足,对软件开发技术、开发规范、开发文档书写等缺乏了解。按照行业发展的需求,这些均不利于培养学生设计开发软件的能力,因此,在“互联网+”背景下的软件工程课程改革势在必行。
3 “互联网+”背景下软件工程课程的教学改革措施
首先应该明白抽象思维、理论知识与设计实践的关系。抽象是从众多事物与现象中抽取出共同与本质的特征,理论与设计如果没有抽象作为前提,二者是无法达到目的的。若理论不能指导设计,那么很难体现其价值。项目的重要手段在于设计,如果设计没有理论的指导,那么很难保证设计的正确性、可靠性和完整性。设计是软件的核心,理论是软件的基础,抽象是思维的一种基本方式。以教促学,以学促教,教师在实践指导的过程中提高教学的质量和效果。实现“学—练—研—用”贯通,主要围绕图1 所示的软件工程教学四维度进行讨论。
图1 软件工程教学四维度
3.1 抓住MOOC 教育机遇,高效习得知识
MOOC(Massive Open Online Course,大规模开放在线课程)作为网络化智慧教育的一种形式,其提供的在线课程资源具有开放、免费的特点,学生可以通过MOOC 选择适合本身特点的优质教育资源。
软件工程课程理论涉及知识面广,具有多学科交叉的特点,但课时有限。怎样才能在有限的时间、有限的项目难度基础上使得不同程度的学生达到实践需求是值得深思的。课前充分利用尔雅平台组织教学活动,及时了解学生学习过程中遇到的疑惑,随时交流讨论沟通,进行个别辅导。课堂教学打破以往教师在讲台上讲、学生被动接受知识的传统教学模式。只有在教学中以学生为中心,师生双向进行互动对话,让学生动起来,给予一定难度的挑战性任务,让学生形成从认知、情感、行为到亲身设计的多元化体验;让学生置身于现实问题或任务情境中学习知识和技能;模仿成熟的项目从而学习所需要的知识技能;应用新的知识技能来解决给定任务;通过讨论、辩解、反思等方式优化所获得的知识和技能,以此促进学生学习。教师的主要工作就是案例研讨,解决学生在自学的过程中出现的各种问题,组织引导、讨论,激发学生对知识学习的积极性;课后开展高阶性的项目设计实践,上传过程性学习资料、讨论评价,教师监控答疑。具体开展形式如图2课程教学形式所示。
图2 课程教学形式
3.2 学思结合,由浅层教学走向深度教学
软件工程是多学科交叉的课程,不仅蕴含哲学思想,还涉及数学、管理科学、工程科学和计算机科学等学科领域,这就需要教师在实际教学过程中致力于学生多种能力的培养,如培养学生通过数据分析、算法设计以及计算机编程解决给定问题的能力;培养学生在软件开发和设计过程中借助软件工具进行创新思维的能力;培养学生在项目管理过程中应具备的协调能力等。所有这些能力的形成,仅仅通过单向的知识的传递是很难实现的。而思维作为较高层次的理性认识过程,则可以使课堂教学走向深入。因此,引导学生在对表象、概念充分理解的基础上经由分析、综合、判断、推理来形成自己的高阶思维,提升自己的各种能力才是教学的理想状态,这也正是高品质课堂应追求的五种境界:沉默、问答、对话、质疑和辩论。学生在课堂上不再只是习得一些事实性知识,而是经由自己的深度理解去体验、探索和建构知识。所以,营造良好的课堂教学氛围,鼓励学生积极思考,改变学生课堂上的被动地位,变句号教学为问号教学,努力使学生在习得知识的基础上提高能力、生成智慧。
3.3 “知行合一”,提高学生实践经验和实践能力
了解学生的学习状态,增强学生的思维活跃性,及时获取学生在课前、课中、课后的学习反馈情况,提高学生自主学习的能力。在实训过程中注重培养“知行合一”,鼓励学生学以致用,用批判性思维、创新意识培养其正确的科学观,形成责任和担当意识。以学生为中心,持续改进OBE(Outcome-based Education)成果导向教育。在模拟成熟的项目开发全过程中,有效培养学生的抽象思维能力、问题理解和求解能力、系统建模与设计能力,体验和思考所用的工具及技术的优劣,实现现实生活中实际需求知识的广泛迁移,从而使学生获得一定的成就感,进而在项目实践中提高实践经验和实践能力。
创造各种学习条件,引导学生在实践过程中学会思考问题与知识迁移,培养其创新意识与合作与竞争的意识。在教师指导下通过小组交流讨论提高学生分析探究问题的能力,从而增强问题解决的能力。
积极鼓励学生参加全国大中型“互联网+创新创业”赛事,以大赛为背景,选取高质量的项目题材;明确项目目标,根据组员间的个人特点,进行任务分配与时间规划。运用软件工程理论知识分析项目中的各种技术问题,找到相应的解决方案,达到现学现用,挑战更高技术知识,为今后的就业创业打下良好的基础。
3.4 立足各种能力,致力于“整全人”的培养
通过软件工程的学习,培养学生对软件工程课程基本原理的理解和基本的实践操作能力、软件的开发与实现能力、软件编程与调试能力、项目的组织能力、持续学习与改进能力、创新创业意识及团队协作精神。通过课程掌握相关知识,提升分析、设计、实现及测试等相关能力,以培养软件方面的高精尖人才。
能力培养的思路:通过项目分析,将任务分解为算法、编程语言、数据库、网络等知识点,揉碎、打通知识脉络。通过理论知识的学习以培养学生的理论分析能力;通过体系结构的学习以培养学生的系统设计能力;通过软件工具的使用以提高学生的软件开发能力;通过项目实验以培养学生的实践动手能力;通过项目管理以培养学生的经营管理能力;通过小组合作培养学生的协作、交流沟通能力。
此外,在培养学生各种能力的同时,应高度重视思政教育进课堂,把课程思政融入到教学的每个环节中,或在一个教学活动中融合多种思政元素,形成自身新的“信息能源”。从身心素质角度培养学生的乐观生活态度、抗挫折能力;从个人角度培养学生独立的人格、持续自主学习、独立工作、独立思考、理性批判改进能力;从社会角度培养学生的世界观、人生观、团队合作能力、社会职业道德和诚信意识;从工程角度培养学生系统的工程观念、理论分析与解决实际问题的能力、实践动手能力、工程项目训练和企业实习经验;从研究角度培养学生科学抽象思维、建立强烈的好奇心和研究兴趣。
结语
运用目标导学、MOOC 助学、合作互学,结合课堂教学内容,基于项目与案例分析进行调查研究,以帮助学生将理论知识转化为实践能力,进而加深学生对所学理论知识的理解,从而培养其灵活运用的能力。