群智软件理念在计算机程序设计课程中的应用探讨
摘 要:本文以理念发展的规律为启发,讨论了对群智软件理念的认识,进一步结合目前高校中计算机程序设计课程实施现状,分别从教师的教学活动以及学生的学习实践两个方面,探讨了群智软件理念如何以高校教育活动为载体,融入到具体的课程教学与学习过程中,以使得群智软件理念的内涵得到完善和拓展,并让这一理念体现出更具体的现实意义。
一种理念的出现和更新,对于事物的发展而言总会潜藏着一些不容忽视的转机,可以帮助人们从不同的视角去审视社会活动中出现的某些问题和困惑,并在参与人的潜意识中构建起更加完善的思维方式,进而从多个方面影响或帮助人们改善正在进行的一系列相关的实践活动。与软件领域相关的知识完善过程似乎也印证了理念所能够给实践活动带来深刻变化的这一发展规律。这些变化不论从工程实践和教育活动,还是从经济行为和政法体系等多个方面来看,都有着具体的体现。对于一名高校教育工作者而言,会更密切关注和思考的是,软件理念的变革将可能会给教育教学活动产生怎样的转变呢?现如今,随着群智软件理念的出现和不断被接受,越来越多的高校教育者认为,有必要探讨群智软件理念将如何对我们的高校计算机程序设计课程产生影响,以及探讨如何顺应这些影响以乐观积极的态度去把群智软件理念融入到具体的教育教学与学习实践应用中。
1 探识群智软件
大量软件系统的源码及其文档在互联网上早已经历了长期的积累和沉淀,伴随着计算机软件开放化和开源化的日益深化,逐渐形成了凝聚无数软件人智慧的软件成长大数据。如何利用这些大数据指导新软件的设计及实现,形成良性的软件系统新生态,已然成为软件人共同探讨的热题[1]。有部分观点认为,在程序代码设计中加入人工智能算法理念,便可以得到普遍认可和适用的群智软件系统。这样的观点突出了群智软件系统一部分应该具有的特征,就是利用人工智能的方法和思维,去挖掘出已有源程序中的设计智慧。但是光做到这一点,离我们理想中的群智软件系统还是有很大差距。
群智软件的编码设计应该可以从大量的代码自学习中找到与需求问题相匹配的最优程序片段或模块,并能够将这些片段或模块在明确的目标指数下进行恰当的融合,以适应复杂软件系统的设计、应用及演化需求[2]。为达成这一目标,就需要在群智软件设计中,通过代码搜索引擎,利用数据挖掘的技术,从开源开放的代码资源库中找到与搜索目标匹配度最高的代码片段,并将这些代码片段移植于适当的代码执行部件中,进行相应的验证,包括进行逻辑正确性验证、资源利用性能验证、非功能属性验证和环境交互能力验证等。对于规模较大的群智软件系统而言,还需要利用模型验证、形式化验证等技术对程序的执行过程和结果进行更加精确的验证和推演,保障整体功能和性能,进而形成具有可持续良性演化的群智软件系统生态。
2 计算机程序设计课程现状
我们仔细回顾众多系统的设计实现过程,其实可以深刻体会到群智软件设计理念已经不知不觉贯穿到了整个软件系统的生命周期中。例如作为一名软件编码人员,已经自然而然的想到先从历史代码库中去参照成熟的软件代码模块来完成新的代码设计需求目标[3]。这样的设计实现方式我们可以理解为群智软件设计理念的局部应用。由此可以看出,在群智软件设计理念不断被丰富完善和推广普及应用的背景下,随着更进一步的软件设计研发工程化智能化趋势,对软件从业人员的群智思维素养也产生了更高标准的、更广泛多元的要求。而软件从业人员主要依靠高校教育中与计算机相关的专业课程来培养,尤其是通过相应的程序设计课程的学习,更能够对学生的群智思维意识进行启发,进而有针对性的掌握群智软件设计方法学和工具的应用方法。
目前,在众多高校的计算机程序设计课程体系中,还未明确设立涉及到群智软件设计思维模式的培养目标及课程学习计划,仍然停留在传统软件程序设计实现方法学培养的目标体系中,并以目前行业对软件从业人员的传统要求为导向,开设对应的学习课程和设定学习训练任务。特别在基础的计算机程序设计课程体系建设中,依然主要以编程语言认知及算法理解与应用为主干,开设相关理论基础课程与实验实践创新课程。虽然已有部分院校在专业进阶提升的系列课程中,会以团队协作的模式,通过项目驱动、任务使能等形式的高级程序设计实践课程,帮助学生构建群智思维模式,在群智理念下寻求解决实际问题的软件设计思路和实现方案,但并没有形成系统的培养路径和授课体系。在这样的学科课程体系背景下,学生无法全面了解到群智软件设计理念的内涵和实际意义,也无法掌握在理念指引下所应涉及到的设计方法学原理及辅助实现的平台和工具。这样一来,必然造成学生软件设计思维培养的盲区,并将可能使得学生对群智软件设计理念形成理解的误区,给以后的从业研发设计活动带来新的瓶颈,以致难以适应新形成的软件业态,使得高校对计算机专业技术人才培养的社会和经济效应大打折扣。
因而,需要在高校计算机程序设计课程体系建设过程中,进一步提升对培养目标的定位,将群智软件设计理念融入到基础课程的认知教学活动中。在学生的知识实践中,设立群智软件设计理念的应用目标,并帮助学生合理分解目标体系,循序渐进式的掌握相关的设计方法及工具的应用,以教育指导学生形成优良的设计理念并达成较高层次的学习目标。
3 教学中的应用
想要让群智软件设计理念在高校计算机程序设计课程的教学活动过程中得到推广和应用,就要要求教师能够从理念的基本理解出发,结合教学活动的规律,将理念融入到教学过程中的各个环节,把群智软件理念和专业知识点进行多角度深层次的密切结合[4]。
3.1 树立合理的理念培养目标
多维目标具有一定的系统性和层次性。对于高校中的课程设计培养目标也是如此。要将群智软件理念向程序设计课程体系引入,首先要能够清晰剖析和认识到理念和课程体系的结合点,通过将结合点进行内容凝练和打磨,进而将课程体系的培养总体目标进行丰富和升华,从而完成对总体目标的合理设置。在明确的总体目标框架下,还要更深入理清课程进阶学习的脉络,指引课程群的目标设定。通过课程群的目标完善,将群智软件理念贯穿到具体的课程方向中,即要求教师能够系统性循序渐进将理念融入到方向教学的具体课程中,并逐步细化课程目标,结合知识点的讲授,潜移默化的将理念输送到课堂的各个环节,和学生一起构筑理念意识,形成自然的思维互动及交流活动。
图1 培养目标层级结构图
同时,还可进一步探索将层级目标(如图1所示)与阶段(如各章节、学期培养)目标相结合,逐步建立培养目标量化体系,为指引和修正相应课程及课时的设置提供必要的参考数据,探索构建理念教学目标的模型,以因校适宜,适应不同层次的高校及教师完成因材施教的目标体系建设。
3.2 完善理念教学的内容和方法
在教学过程中,应当以实质性的内容为载体,将理念的理论内涵和形式表现相结合,通过方法和工具的讲授,让理念在教学中得以落地实施。因此,作为授课的教师,应当从自身认知过程的体会进行分析,在某一观点立场上,去梳理群智软件理念范畴中可能涉及到的理论基础和方法原理,由本溯源,探知理念产生的根源,并组织形成体系化的教学内容,与传统的课程内容进行知识缝合,深入浅出地在授课中向学生进行介绍和探讨。同时,针对这些理论及原理,对适用的工具谱系可穿插在相关的内容中进行介绍。
3.3 设置恰当的理念考核方式
由于群智软件理念本身就具有开放、开源的基因,当理念运用到教学实践中,和具体知识点进行结合以后,对相应课程也应当秉持开放式、多维度、多元化的考核方式。同时,遵循教师教学及学生学习的规律性,进一步强化和完善里程碑式过程性考核模式,让学生在学习的各个阶段都能够切身领悟到学习带来的成就感和获得感,鼓励学生进行自主学习,**以学促教的能动性。教师通过辅导学生的自主学习活动,拓宽课程口径、延伸课堂空间,丰富群智软件理念教学过程的内容范畴,最终形成以考督学、以考助教的良好形态。
4 学生的实践与应用
学生的学习成效可以作为反映课程成果的一个方面。学生的学习过程,也是专业思维的养成过程。除了课堂上充分领会教师的思维引导外,学生还应该树立自主学习的观念,充分合理规划课外学习时间。在培养自主学习习惯的过程中,学生要学会有效利用各种学习资源,高效整合相关的图书资料、网络信息及前沿资讯等,丰富自己的专业素养,广泛拓宽学习的视野,找准自己的学习方向,并在不断调整中坚定努力的目标[5]。学生在对群智软件理念的学习理解过程中,可以从以下三个方面有针对性进行思维意识的自主训练和加强。
4.1 理念意识的自我培养与养成
学生在学习的过程中,要常带着问题和疑惑去理解知识,会使得学习收效更高。因此,面对陌生的理念、陌生的知识现象,学生要尝试从多个视角去给自己提问题,多问自己做什么、如何做、做得怎么样,从而找到理念和知识点认知元素间的逻辑关系,更好的帮助自己构筑知识架构。所谓,观透表象而欲求甚解,知其然更要知其所以然。学生通过自我的设问,更符合自身个体对群智软件理念、群智软件现象、群智软件实际问题的认知规律,并在自己认知能力可以调节的范围内,使得学习的获得感逐步积累,更大程度的激发学生自主学习的能动性,也更有助于加深对知识点的追问和探究,逐渐形成群智软件的理念思维和意识。
4.2 掌握理念的应用方法
学生意识的养成需要在长期的应用实践中不断强化,才更有利于形成专业固有思维模式,从而反过来更好的指导学生的实践行为。因此,对于群智软件理念的最佳学习方式,就是在具体应用中不断发现新问题,通过实际问题的解决去掌握群智软件理念在实践中所应用到的理论方法和实现工具。学生在理念的应用过程中,更要注意具体问题具体分析,切不可拘泥于一种方法、一种模式,应该尝试应用多种方法和工具对某一类问题进行对比分析,以形成最佳的方案。由此,学生才能不断积累群智软件理念具体应用的经验,熟知其在某一特定领域问题的理念应用方案,做到学以致用,让理念真正付诸于实践活动中。
4.3 理念的深化认知与延伸
当某一理念得到具体的应用实践以后,便会让理念的内涵得到更大范围的丰富完善和拓展延伸。学生对于群智软件理念的学习也是如此。学生除了在应用中熟知群智软件理念所涵盖的方法和工具以外,还应该通过具体领域的应用体会,将不同领域的理论基础和工具与群智软件理念进行结合及凝炼,拓宽理念的应用范畴,从深层次找到各种理念间的共通点[6]。基于这些认知的基础上,学生还可以进一步将对理念进行创新,在其中加入新的观点和立场,将自己的所学融会贯通,最终学有所成。
5 总结
软件出于无形之中,作用于有形之上。自软件出现以来,人们就一直尝试利用工程化的思想和方式,去提高软件开发的效率,并不断探索如何将更多的人力资源从复杂繁琐的软件研发活动中解放出来。随着多年来软件发展历史的积累和沉淀,并随着数据化和开放化的加强、智能化技术的迅速成熟,这些现象将会逐渐影响到软件业的各个领域,并通过研发生态体现出来。这必将会促使更多的软件人去思考如何从以往的软件研发历史中挖掘出更加高效的设计研发智慧,形成新的方法体系,并实现出新阶段下的研发平台和工具。群智软件理念的出现,让我们对这些期待带来了全新的认知视角和研究方向,并由此给日后的问题解决增加了更多的自信。高校作为未来软件人才培养的主要场所,作为高校教育工作者,更应该主动思考如何从这些视角中获得更多的启示,并通过教学规律的应用,将群智软件理念灌输到日常的人才培养活动中,与学生的学习实践活动相融合,共同探索群智软件理念的实施路径。高校中对人才培养的探索精神也将为群智软件理念的进一步深入和拓展产生更加实质的影响,具有更加深远的现实意义。
参考文献
[1] 张伟,梅宏.基于互联网群体智能的软件开发:可行性、现状与挑战[J].中国科学:信息科学,2017,47:1601-1622.
[2] 刘斌斌,董威,王戟.智能化的程序搜索与构造方法综述[J].软件学报,2018,29(8):2180-2197.
[3] 李希敏. 构建面向岗位的计算机专业教学模式——评《计算机教育教学课程研究与实践》[J]. 中国教育学刊, 2018, No.303(7):136.
[4] 程素萍. 认知心理学的研究及其对教学的启示[J]. 教育理论与实践, 2002(2):60-62.
[5] 岳昌君. 高等教育结构与产业结构的关系研究[J]. 中国高教研究, 2017(7):31-36.
[6] 刘文慧, Michellene Williams. 认知组块化策略与高效率学习的实现[J]. 教育评论, 2017, No.221(11):140-143.
作者:覃杨森
联系邮箱:[email protected]
声明:转载及使用请注明来源
关键字:群智软件;高校教育;程序设计课程;教学活动;学习实践