江颉
摘要:本文分析了在传统课程中进行创新教育的紧迫性和必要性,总结了为培养创新能力在传统课程中对已有课程知识体系所作的改造,然后以软件工程课程为例,介绍作者所在学校如何在软件工程专业开设的软件工程课程中进行创新教育的主要改革内容,并以此为例,提出了在实施过程中应该注意的教学方法、教学过程管理以及教学评价等问题。
关键词:创新教育;软件工程;课程改革
中图分类号:G434 文献标识码:A 论文编号:1674-2117(2019)08-0110-03
传统课程中进行创新教育的必要性
创新创业教育是目前高校本科教学改革中的一项重要内容。一些高校建立创业学院开展创新思维、创业能力培养和实践课程,极大地促进了创新创业教育的发展。对于是否需要在传统课程中进行创新创业教育以及如何进行改革,目前国内还处于积极的探索阶段。已经有不少的学者认为创新创业教育与传统的人才培养密不可分。[1-4]2015年国务院办公厅下发的《关于深化高等学校创新创业教育改革的实施意见》中明确了两者之间关系,要求“促进专业教育与创新创业教育有机融合,调整专业课程设置,挖掘和充实各类专业课程的创新创业教育资源,在传授专业知识过程中加强创新创业教育”。与此同时,我国工程教育认证标准中明确了专业制定的毕业要求应完全覆盖以下内容:“设计/开发解决方案:能够设计针对复杂工程问题的解决方案,设计满足特定需求的系统、单元(部件)或工艺流程,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素”,并且在专业课程设置中要有“完善的实践教学体系,并与企业合作,开展实习、实训,培养学生的实践能力和创新能力”。因此,创新意识和创新能力培养是毕业要求内容,需要专业课程体系支撑[5],并且与培养目标、毕业要求等构成一个闭环,在不断的教学实践中进行持续改进。[6-7]
改造传统课程中知识授予目的,适应创新能力培养
在传统课程中融入创新教育,需要重新梳理并改革现有课程教学内容[8],笔者认为可以从以下几个方面进行。
1.专业课程中技术的发展蕴含着创新
在给学生建立一门传统专业课程知识体系时,教师通常会用1~2节的课堂时间介绍课程由来。授课目的仅仅是让学生知悉过去一段专业发展历史,而往往忽视这门课程发展历史中所包含的创新因素。当前,很多高校的本科教学改革已经从单一的知识讲授转变为对学生产出的能力培养。让学生批判性地分析一段真实专业技术的过去,从中找到引起技术革新的变化因素,是专业技术发展真正带给学生的启迪,也与创新教育在传统课程中的融合要求相吻合。[9-10]分析一段已经被证实的技术发展史,有助于学生理性地接受并领悟到创新引起的技术革命带来的强大力量。
2.专业技术现状和市场综合应用带来创新
工程类课程中,教师向学生讲授最多的是课程的主要技术要点、方法及过程,并要求学生掌握该项技术,培养使用该项技术分析和解决问题的能力。而在工程教育中,一个复杂工程问题的解决需要在讲授中突破一门课程的独立知识点,追求问题的综合求解能力。因此关注利用本课程中与其他课程中的技术共同解决问题的能力,并考虑这个问题在市场上综合应用时所涉及的社会、环境等多个问题的综合解决过程,是学习和建立创新意识、培养创新实践能力的过程。
为了培养分析、设计、解决复杂工程问题能力,在专业课程授课中引入项目驱动式或者数据驱动式等教学方法,将一个可以扩展、带有创新意识的综合案例引入课堂是培养创新意识的一条有效而必要的途径。
3.前沿技术带来的社会变革
分析清楚前沿技术带来的创新和创业机会是传统专业课程培养创新能力的另外一个适用场合,也是培养学生自我学习和终身学习意识的一个机会。因而,在学生面临毕业、就业压力之前,在专业课程课堂上做好未来技术探索能力的培养,无疑将对学生的未来就业和创业起到护航和领航的作用。
“软件工程”课程中引入创新教育示例
软件工程是软件工程专业培养方案课程体系中的一门专业核心课程。在基于OBE理念建立的培养方案中,该课程往往承担着培养学生具有复杂软件系统的分析、设计、开发、维护和管理能力以及在团队合作中培养协作精神的教学目标。以下笔者以自己的教学实践为例,谈谈如何在软件工程课程中融入创新意识和创新能力的教育。
1.软件工程史是一部创新的历史
从1958年贝尔实验室的数学家和统计学家图集(John Wilder Tukey)在论文中用到软件(Software)一词至今,软件已经有60年的历史。从1968年在NATO会议上提出软件工程概念至今,软件工程也已经有50年的历史。50年的软件工程史就是一部人类不断发明创造的历史。教师可以从多个角度指导学生来分析这段历史中所出现的重大变革。
笔者设立了如下几个递增的问题引导学生对软件工程史进行分析:
(1)研究软件工程史发展中的哪一类(个)问题?这类(个)问题可以包含哪些方面?
(2)这类问题在软件发展的不同阶段是如何解决的?有哪些成功的案例或者失败的案例?
(3)问题产生的社会条件和技术环境是什么?问题获得成功解决或者失败的主要原因是什么?
(4)你如何看待这类问题中的创新对软件工程的作用?它起到的社会效益和经济效益是什么?
……
通过对软件工程史的分析,学生在第一课就得到了“软件改变世界,创新改变未来”的结论,对软件的创新也有三个层面理解:现代技术构造的软件代替已有的物理存在;用现代技术创造现在世界未存在的应用;现代技术将推动未来技术的变革。
2.“软件工程”課程案例分析中引入创新维度
在讲授“软件工程”课程时,一般会通过“项目”案例将理论知识和实践技能有机结合起来,以达到培养学生实际动手能力,分析、解决问题能力以及创造能力的目的。在设计案例教案时选取的案例可以遵循三个要点:首先是以学生的兴趣为中心,以项目激发起学生的学习兴趣,让学生有探索项目的欲望和激情;其次是解决实际问题,即以现实为中心,项目要与企业的实际生产过程或现实的商业运营活动有直接关系;最后是有所创新,即问题解决有其独特视角,能够引起讨论和研究,并能实施到课内学生自选项目中。
3.课内自选项目中实施创新能力培养
在“软件工程”课程的教学中,在学生掌握了一定的理论知识,并且初步具备了工程能力之后,选取一个复杂的软件工程项目进行练习是很多高校采用的常规手段。在学生选择自选命题的时候,教师需要从创新角度加以引导,让学生对自选项目的范围、技术、运营模式、经济效益等多因素综合考虑。可以尽量选用课外科技竞赛题目和横向工程类项目作为选题之一,并且把创新作为一项考核要求来指导学生开展自选项目的建设。同时,要权衡实用性和创新性之间的关系,采用迭代、增量模式来组织项目的实施。
4.前沿技术发展产生创新的动力
互联网思维模式、开源软件开发方式等都带来软件工程方法及过程管理的变革。我们需要将这些前沿技术引入,并分析对工程管理的影响,引导学生自己去寻找一个不确定的答案从而接受“世界不断变化,需要不断创新”的思路。例如,引导学生去听取前沿的技术报告,然后在课堂上讨论。在传统专业课程学习中就让学生正视创新带来的变革,可以让学生今后能较为从容地应对新的情况,迎接新技术的挑战和新经济形式的来临。
课程实施创新教育时应注意的问题
在传统课程中实施创新教育,首先要以OBE理念为指导,服务于课程对学生毕业的要求,以对复杂问题的分析、设计和解决能力及解决过程中的创新能力的培养为目标展开课堂改革,反向设计教案。然后,改革传统的授课方式,借助MOOC、微课等信息技术,做好前期知识储备,课堂上以案例式教学为主,将由教师单一讲解改变为主讲教师引导、提示和评价,学生参与知识点的迁移和能力转化。最后,要改变课程评判的依据和结果。强调在现有成绩评定机制中引入进程式考核机制,以对学生能力的量化评价为依据,逐步调整案例研讨授课过程中学时分配、教学内容和教学方案,形成一套闭合式学生能力反馈机制。
总结
创新教育是目前本科教育改革中的一项重要内容,本文在讨论了在传统课程中进行创新教育的必要性后,对工程类传统课程可引入创新教育的主要内容进行讨论,接着以软件工程专业的软件工程核心課程为例,详细介绍了本专业实际授课中引入创新意识和创新能的过程和注意的问题,为创新教育在传统专业课程中融合做了一次有益的尝试。
参考文献:
[1]朱卫平.创新创业教育促进计算机智能科学课程的教学[J].计算机教育,2018(10):8-11.
[2]李剑波.创新创业教育与计算机专业教育有机融合探析[J].科技风,2018(30):18-19.
[3]寇月,鲍玉斌,于戈,等.创新创业教育与计算机专业教育的四位一体融合模式研究[J].计算机教育, 2018(6):36-40.
[4]柯钢.基于创新创业教育的计算机专业人才培养研究[J].教育现代化,2018(16):22-23.
[5]赖绍聪.创新教育教学理念提升人才培养质量[J].中国大学教学, 2016(3):27-31.
[6]曾志高,易胜秋,刘强,等.计算机专业的创新教育及创新思维能力培养[J].计算机教育,2015,242(14):90-92.
[7]曲大鹏,宋宝燕.计算机专业创新创业教育模式的研究与实践[J].计算机教育,2015,241(13):57-59.
[8]许智宏,董永峰,刘晶,等.工程技术人才创新创业教育实践探索——以计算机科学与技术专业为例[J].教育教学论坛,2018(30):144-145.
[9]宿翠香.计算机技术在创新教育课程中的应用[J].电子技术与软件工程,2017(5):166-166.
[10]李娇.新媒体时代下计算机信息技术教育创新思考[J].中国报业,2018(18):106-107.