面向人工智能时代的软件人才执行力的培养

2018-12-22 10:55何海涛
电脑知识与技术 2018年33期
关键词:软件工程执行力人才培养

何海涛

摘要:针对人工智能时代的大趋势,通过对本校学生整体素质的分析,将软件人才的培养定位在提高执行力上。文章进一步提出了软件人才执行力的三个阶段的概念,并对各个阶段的能力培养方法进行了探讨,重点对实践能力的培养进行了阐述。通过对软件开发中执行力的剖析,为人工智能时代软件人才的培养提供了新的思路。

关键词:执行力;人才培养;软件工程;人工智能

中图分类号:G642.0 文献标识码:A 文章编号:1009-3044(2018)33-0115-02

Abstract: The method of the improvement of software talents is positioned to improve the execution through the analysis of the overall quality of the students in the age of artificial intelligence. The article puts forward the concept of three stages of software talent execution, and discusses the methods of capacity training at each stage, focusing on the cultivation of practical ability. Through the analysis of the execution in software development, it provides a new idea for the cultivation of software talents in the era of artificial intelligence.

Key words: execution; software engineering; AI; training talent

1 引言

隨着互联网和人工智能的发展,“机器学习”“大数据”这些对于学校某些计算机专业学生可能还不太清楚的词汇越来越频繁地出现在各大网站和各种媒体上,而随着各高校、培训机构每年大量的计算机人才流入社会,企业对软件人才的需求也在发生变化,从之前的量,到现在更重质;以前只要求掌握某种语言,现在要求前后端全栈工程师。总的来说,现在的要求更加全面,更注重可持续的发展。就业和科技发展的形式都促使我们要重新思考我们的大学计算机教育,本文结合我校的实际情况,就普通本科高校如何培养“软件工程”专业的人才,如何做出自己的特色给出一些观点。

2 因材施教,找准定位

近现代的基因科学、脑神经科学、生物科学等研究已经明确了这样一个事实:人生而不平等,基因决定了每个人都有自己的“特色”,每个人的智商情商不同,有自己的个性、爱好、身体状况等[1]。就大部分学生而言,普通二本高校和985等名校之间是有差距的,所以高校的办学理念、培养目标是不同的。研究型大学,他们非常注重基础理论学习,并把大量的学时花在了“数学”课程上,如高等数学,线性代数,概率和统计,离散数学,图论等,以训练学生的逻辑思维和抽象能力为主,至于学生的动手编程能力和工程实践能力,则主要依靠学生自学和练习。因为学生的自我管理、自我约束等素质较高,这种模式下学生能够得到更多的锻炼。而且,大部分本科生都会进一步深造,读研,考博,所以,他们培养目标是“设计”类型,是“创造型”的,可以在人工智能的时代去担当领导者和设计者,具体而言,比如在AI算法领域,可以设计新的算法或对算法做进一步的优化。

我校的办学定位是培养“综合应用型”优秀本科人才,落实到具体的“软件工程”专业,就是具备良好的工程技术基础,能够及时、准确、完整的完成软件开发任务。而对学生工程技术的培养,以前有些观点是对学生的某些“专门”技能进行练习,比如C语言的强化训练、数据结构的大量习题、HTML+CSS的大量实践等。这种方式被一些职业技术学院或培训机构采用,实质就是软件业的低端重复劳动。而实际上,一个软件项目的实施,不仅仅是技术和技能,更重要的是“执行能力”。借用人力资源管理专业的词汇,执行了的核心是指集体或个人把上级的思路、观念、决策付诸实施的能力[2]。在人工智能领域,做前沿研究,需要非常深厚的数学功底。一个新的方法被提出后,可以应用在具体的软件中去实现特定的任务。而这种实现能力,就是执行力的一种体现。并不仅仅是写代码的能力,而是用代码去实现设计思路的能力,这其中需要想办法去完成任务,使用已有的一些技术手段,如已有的算法、数据结构,借鉴类似的工程项目,综合多方提供的插件等,即:这种执行能力虽然不需要多少创新,但是需要“综合”的能力,组织协调各种资源的能力,这里的资源不一定是指人力资源,也可以是在技术上的各方面资源。

类似于一个管家,首先要理解雇主的意图、其设计理念、要求等,然后管家整理好头绪,要做哪些工作,如何开展,安排时间人手等。这些工作,就是软件开发中的“项目经理”所做的部分工作。项目经理,就是需要很强的执行力,去完成项目工程。

3 执行力的阶段

执行力是相当重要的,那么这种执行力该如何培养呢?执行力是很大的一个概念,在不同的行业,对执行力的要求有一定的区别。对于软件行业,可以把执行力分为三个阶段:从低到高依次是实践、整合、理解。能力的培养也从这三个阶段逐渐加强。首先,实践能力是基础。在初始阶段,实践能力的培养需要亲力亲为,大量的练习。这个阶段一般要持续1-2年。如何在这么长的时间段内让学生保持持续的动力?一个重要的方面是成就感,即用实践的结果去激励,后文会详细说明。执行力的第二个阶段,需要具备资源整合的能力,也就是使用现成的资源、工具的能力。第三个阶段是理解能力。当接到任务和指示后,第一要务是“正确理解”,所谓的正确是能站在领导或用户的角度理解为什么要做这个事情。如果仅仅是一味地“盲从”,只会导致在落实的过程中机械死板,无法处理各种突发情况和特殊状况。当然,某些意义上的执行力,比如军队里,首先是“严格的执行”,理解放在第二。但是在软件人才的培养中,即使开始是“盲从”,以后也要过渡到“理解”的阶段,因为“不想当将军的士兵不是好士兵”,这是个人职业发展的需要。

4 执行力的培养体系

第一个阶段:从低年级开始,在高级语言程序设计课程中,培养“实践”能力。这个阶段非常重要,也很困难,需要老师做大量的工作。在设计培养目标时,主要考虑如下几个方面:1、工作量。工作量大,完不成,在遭受多次挫折后,学生会失去信心和耐心;工作量小,达不到能力培养的目的,非常轻松不费脑筋的完成一个事情,我们都不会认为这是一个挑战,对能力的提高没有什么帮助,心理上会把其作為休闲娱乐来对待。2、任务目标。要做什么事情必须要“清楚”,步骤明确,用到的资源单一、简单。初始阶段,“完成”是最重要的目标,需要用它来激励。3、检查、监督与激励机制。不能寄希望于学生的“自觉、热情、爱好”,大学生不是未成年人,大学里面也不再是性格爱好的培养阶段,而是塑造阶段,需要纪律去约束。仅仅靠期中或期末考试,甚至更远的毕业答辩、找工作等去约束,对于大部分学生效果不好。要及时地检查,并反馈结果,同时也给予一定的激励。

为实现第一阶段的培养目标,目前比较好的方式是采用改进的online judge(俗称OJ)在线评判系统布置作业。OJ系统是ACM练习和比赛采用的系统,根据题目的输入输出要求提交代码,系统在后台使用验证数据自动判断算法正误。该系统用于执行力训练上有如下一些优点[3]:1、作业量评估方便。作业有基础和扩展,通过学生提交的作业量,可以容易看出来学生的完成水平,再进一步调整;2、任务目标明确。前期的目标就是编程完成指定任务,输入输出明确;3、反馈及时。提交后系统会立即反馈结果(正确,答案错误,编译错误,超时等),同时系统有AC排行榜,自带一定的激励机制。当然,要更好地达到训练目标,需要扩展系统的一些功能,比如增加任务临期提醒,代码提示,改进积分规则,增加多种排行榜模式,以便更好的激励不同的学生。在目前,高校教师工作量普遍比较重(兼顾教学和科研)的情况下,OJ系统在一定程度上减轻了教师的检查监督工作,实际教学中是比较可行的方案。

执行力第二个阶段的培养,即“整合”能力,可以放在“课程设计”中,其培养过程也应循序渐进,开始需要教师做好“设计”,指定整合的资源;在后期可以让学生自行寻找指定的资源;再往后,就是更独立的去尝试可用资源,找到合适的并应用。

作为执行力最高层次的“理解力”的培养,实际上是贯穿了整个大学阶段的课程,需要再特别的训练是沟通能力,以及在软件工程阶段的文档能力,目的是将所理解的内容形成清晰有条理的软件文档,更有利于和上下级进行沟通,减少错误。

5 总结

以往在制定培养方案时,并没有凝练出鲜明的特色,或者说,对学生的能力培养目标不太明确,不能和“研究型”院校及“技能型”院校区别开来。通过凝练出软件行业的“执行力”概念,并在低年级中进行“实践”层次能力的培养,使得培养目的明确并且连续,目前来看,学生的综合解题能力较往届有所提高,在执行力的培养上取得了一定的效果。

参考文献:

[1] 史蒂芬.平克.白板[M].浙江人民出版社,2016,12.

[2] 吕晖等.高校实验教学对学生执行力和创新力的培养作用[J].实验技术与管理,2013,30(11):194-195.

[3] 苗桂君等.在线评测系统在程序设计类教学中的应用研究[J].计算机教育,2016(9):157-162.

【通联编辑:王力】

猜你喜欢
软件工程执行力人才培养
做到三个“必须坚持” 提高地方人大执行力
关于如何创新和完善计算机软件工程管理的探讨
执行力是『干』出来的
合理赞扬提高执行力