第十届“中国软件杯”大学生软件设计大赛(以下简称大赛)总决赛,历时4天,于9月6日在北京圆满结束。
2021年是大赛举办的第十年,大赛如一叶扁舟,载着软件强国梦,几经风浪,行稳致远。弹指一挥间,这叶扁舟已脱胎换骨,华丽蜕变为软件赛事领域的“超级航母”。
十年磨一剑 今朝试锋芒
大赛由工业和信息化部、教育部、江苏省人民政府共同主办,由中国电子信息产业发展研究院、江苏省工业和信息化厅、江苏省教育厅、教育部高等学校计算机类专业教学指导委员会、信息技术新工科产学研联盟、南京航空航天大学承办,由中国信息化周报社、中国(南京)软件谷、江苏软件产业人才发展基金会、南京市软件和信息服务集群发展促进机构执行。
十年间,大赛与莘莘学子共成长,见证收获。经过十年的培育,大赛成为产教深度融合的新高地,为产业高质量发展注入活水。本届大赛共有来自全国各高校的5543支队伍积极参与。经过初赛评审,357支队伍晋级总决赛。
参加本次总决赛评审的专家有来自清华大学、北京大学、人民大学、北京航空航天大学、北京理工大学、哈尔滨工业大学、西北工业大学、北京交通大学、北京工商大学的教师,以及来自中国民航信息网络股份有限公司、浪潮云信息技术股份公司、中移(苏州)软件技术有限公司、麒麟软件有限公司、百度在线网络技术(北京)有限公司、东软教育科技集团、南京开江科技有限公司、苏州中科天启遥感科技有限公司、江苏国光信息产业股份有限公司、江苏航天龙梦信息技术有限公司、中国擎天软件科技集团有限公司、北京人大金仓信息技术股份有限公司的技术专家。总决赛采取云评审的方式,全国各地的参赛选手通过“云视频会议”,阐释构思,演示作品,与北京评审现场的专家交流互动。历经两轮激烈角逐,最终决出一等奖队伍20支,二等奖91支,三等奖246支。最佳指导教师奖20人,以及最佳学校组织奖、最佳地方组织奖若干。
北京工商大学计算机学院教授陈谊参加过四届大赛的评审。与前几届大赛相比,陈谊感觉,赛题难度明显变大,作品质量显著提高。学生的水平越来越高。“前几届大赛的赛题涉及的算法比较简单。随着技术的不断演进,特别是人工智能、大数据等新技术的兴起,这几年赛题算法更加复杂,要求也更高。”
陈谊表示:“赛题‘A10-疫情信息查询及趋势预测系统’在设计时考虑全面,在难易度上伸缩性比较强,可做深也可做浅,让不同水平的学生都能够参与。除了必备的功能性需求,赛题还给学生留有足够的创新空间。”
参加大赛非常锻炼学生的专业能力。陈谊建议,学生在学好专业知识的基础上多参赛,通过实战演练,了解项目开发全过程;选手在答辩环节,不要全程播放视频。“嵌入几秒钟的视频效果是比较好的。如果全程放视频,就看不出选手对赛题的理解程度和表达能力了。”
作为出题老师和决赛评委,亚马逊全球研发部首席AI技术产品经理于伦参加了两届大赛。“看到各参赛队选手敢想敢干,不断拼搏进取的精神风貌,我深受感动。”于伦指出,大赛成功激发了企业和高校的动能,紧跟人工智能和大数据发展步伐,不仅为莘莘学子指明了学习方向,开拓了就业门路,更助力企业夯实了研发基础。
从扬帆起航到载誉而归
人工智能操作系统作为人工智能技术在各行各业发挥作用的基础软件环境,在人工智能发展历程中具有重要的支撑和推动作用,增强了国产平台对于人工智能应用的支撑能力,是实现网络与信息安全的强有力支撑。赛题“A9-基于国产操作系统的人工智能应用”,旨在让参赛选手对国产基础软硬件有初步的认识,并在此基础上通过开源软件构建国产软硬件生态系统。据了解,银河麒麟桌面操作系统V10广泛应用于轨道交通的闸机等系统中,是实现人脸识别等AI应用的基础环境,也对保护用户人脸图像等个人隐私信息起到关键性作用。麒麟软件有限公司高级研发工程师常涛在评审完赛题A9后表示:“参赛团队对国产操作系统及生态环境问题很感兴趣,能够非常积极地投入到作品的开发中。选手们提交的作品十分优秀,部分团队不但完成了赛题的要求,还增添了许多创新应用。可以看出,选手们对开源的了解很深入,具有较强的编程和文档撰写能力。个别团队能够将AI与疫情防控相结合,开发的作品具有较强的现实应用意义。”
随着手机像素越来越高,手机内存越来越不够用。为解决这个棘手的问题,赛题“A5-云端智能相册应用”应运而生。云端智能云相册能够实现照片的自动归档,根据照片类型进行分类(人物、动物、风景、交通工具、建筑),使用人脸检索集体活动照片,自动完成私人照片的快速分发。根据用户需求,相册也可以生成精彩瞬间剪辑、回忆录等。
来自中移(苏州)软件技术有限公司的评审专家杨希参与了赛题A5的评审。“现在大学生的实践能力都非常强。”杨希说,“从演示效果上看,大部分参赛选手的作品接近于完整的软件产品,但在软件的设计思路、产品的交互性、系统性能优化等层面还有进步的空间,对于仅有2~3人的小团队来说,能将作品打磨、完善到目前的程度,足以证明参赛选手的能力出众。”
巧思妙想频现 创新思维涌动
赛题“A4-林业有害生物智能识别”,要求参赛选手运用大数据、智能识别、深度学习等技术设计出一款软件作品。该作品能对手机拍摄的或相册中的害虫图像分析处理,可以智能识别常见的林业害虫种类、个数等信息。南京开江科技有限公司产品经理牧启顺在评审结束后表示:“大部分学生的作品远远超出了预期。参赛队员能够深入研究项目需求,认真分析用户需求,对应用的场景实际情况进行细致考察。部分赛队针对林业工作人员在野外作业时没有网络的情况设计了离线使用模式,并且联网后能够自动备份离线数据,这对于在校学生来说是非常难能可贵的。”
基于深度学习的行人跟踪,是安防场景的重要研究领域,该领域的研究对于重点人员跟踪,违法犯罪事件预警具有重要意义。赛题“A2-基于百度飞桨的单/多镜头行人追踪”免费提供Tesla V100 GPU算力,要求选手使用百度AI Studio平台进行训练,基于百度飞桨PaddlePaddle框架进行开发,设计一款可以实现行人跟踪的软件。其中,单镜头行人追踪为基本功能要求,多镜头跨镜行人追踪难度较大,为附加任务。
近年来,随着移动电子和IoT的大规模应用,PCB(印刷电路板)需求量有了显著提升。在PCB生产过程中,往往会因为设备、流程问题出现一定概率的故障,轻则接触不良、功能缺陷、影响使用体验,重则引发火情。PCB质检通常由产线工人使用显微放大镜在强光下目检,效率较低,且长期在强光显微镜下观察PCB板容易对眼睛产生伤害,同时也容易因疲劳而出错。
赛题“B2-有限边缘算力下的电路板故障检测”要求选手使用百度AI Studio平台进行报名及训练,基于百度飞桨PaddlePaddle框架进行开发,设计一个可以实现电路板故障检测的模型,并部署到有限边缘算力的EdgeBoard中实现验证。
百度在线网络技术(北京)有限公司AI技术生态部飞桨高校赛事运营负责人刘聪琳参与了赛题A2和B2的评审工作。“总体感觉这两个赛道的选手,工程实践的动手能力和学术问题的研究能力都非常强,既有基于飞桨框架设计和优化的高质量算法,又有功能完备、界面美观的软件成品。可以看到,同学们不再只是研究算法本身,而是更加全面地考虑成果的交互性和用户体验。”刘聪琳说,“‘CVML-VOT’”团队的作品给我留下了深刻印象。该团队打造的跨镜跟踪软件,还加入了一系列友好的交互式功能引导,在对技术的追求之外,加入了对人机工学和用户体验的研究和设计,体现了人文关怀。我们希望更多地看到这种作品,期望每位参赛选手都能在团队中充分发挥自己的长处,把问题想得更周到、更全面,从而高质量地完成作品。”
赛题全部源于软件骨干企业的实际需求,是对企业研发过程中遇到的技术难点的抽象和提炼。借助大赛平台,凝聚高校及研究机构的力量,推动技术进步,产业发展,是大赛举办的重要意义。清华大学软件学院副教授刘玉身强调,结合实际、重视应用是本次大赛最大的创新。大赛以后的题目设计还可以更具有多样性,方向尽量多样化。企业可以设计更多偏重引导选手编写工业软件、软件系统底层开发的赛题,突出大赛的“软件设计”特色。
春种秋收 硕果飘香
过关斩将,获得奖金;不是目的,只是过程;不是终点,而是起点。
“创造337”团队获得了本届大赛的一等奖,这令队长赵志翔有些意外。该团队有两名选手(赵志翔、刘伟佳)来自东南大学,因为经常在门牌号为“337”的网络空间实验室写代码,所以给赛队命名为“创造337”。
刘伟佳认为,适用于多样化的使用场景是其作品最大的创新。“我们考虑到了用户网络环境较差,想了解害虫的信息,识别结果错误等情形,分别设计了离线使用功能、知识科普功能、专家在线咨询功能等,给用户带来舒适、周到,同时又不失趣味的使用感受。”
在谈及参加比赛的初衷时,赵志翔表示:“一方面是因为自己的研究方向(计算机视觉)和A4赛题比较契合,另一方面是想锻炼自己在软件开发领域的工程能力”。获奖虽然令人激动,但最大的收获是“锻炼了软件开发的后端工程能力,同时进一步了解了软件开发中的各个流程”。通过参赛,赵志翔明确了未来工作的方向,希望从事软件研发的“C++后端开发”。对选手而言,在不断的探索中明确奋斗的赛道,这或许是参赛的意义所在。
正如刘伟佳所言,不用担心比赛的结果,参与的过程最重要:“在参赛过程中会遇到很多问题,学会解决问题,在遇到未知难题时,能形成一套适合自己的解决方案是十分可贵的。取得好成绩,需要精益求精的精神和周到的考虑。一方面,在功能性需求实现后,需要琢磨作品还有哪些不足,哪些地方可以更好地提升;另一方面,在设计产品的时候需要从用户的角度出发,重视用户体验。抱着以上理念才能做出好的作品。”
武汉大学“珞珈CHST”团队也获得了一等奖,队长何婵娟表示,参赛过程中遇到的最大困难就是时间不够用,但团队开发的作品最终能得到认可是非常令人兴奋的。奖金将会用于添置笔记本配件。“我们的作品在完成了基本要求的同时,软件架构清晰,程序稳健,支持多种遥感影像处理,在一般图斑提取方法的原理上增加了可以加强软件普适性的超像素分割算法。”何婵娟说,“大赛具有较高知名度和影响力,只有真的做出有价值的作品才能取得好成绩。参赛最大的收获是在软件架构的整体设计、核心算法的不断优化、英文文献的阅读,以及技术手册的编写方面都取得了进步。”
矢志不渝 推动产教深度融合
推动产教深度融合,培育产业亟需的高质量软件人才是大赛不变的宗旨。企业更加青睐的人才具有哪些特质?
王琪是来自中国地质大学(北京)的选手,她既是“巴拉巴拉巴拉”队的队长,又是该队的唯一队员。本届大赛该团队获得二等奖。王琪答辩时的表现给杨希留下深刻的印象:“让我比较惊讶的是,该作品前后端、界面设计等全部的功能都是由一名学生实现的。虽然作品本身还有一些瑕疵,但是瑕不掩瑜。该同学在大学阶段能进行全栈的开发,非常厉害。这样动手能力极强的同学是非常受企业欢迎的。”
在回答“怎样才能成为优秀的软件设计工程师时”这一问题时,态度、品行、表达、创新、能力等成为企业专家口中的高频词汇。杨希总结道:“思维创新能力强、表达逻辑清晰的学生肯定更受企业的青睐。技术是不断变化和革新的,在未来的学习中,希望同学们在不断学习新的技术与知识之外,还要对软件设计有自己独特的想法和思路,另外就是需要不断地锻炼自己的表达能力。”
“品行高洁、学习和适应能力强、综合素质高的毕业生更受企业的青睐。”牧启顺认为,在注重知识学习的同时,还要加强实践。工作中,只有深入了解用户的核心需求,及时调动自己的能力和所学知识,迅速制定出可操作的方案,才能开发出优秀的产品。在实践中不断积累,最终才能成长为优秀的软件工程师。他提出两点建议:第一,多参加“中国软件杯”大赛这样的活动,寻找更多的实践以及和专家交流的机会,强化与社会接轨的能力;第二,培养坚强的毅力和耐心,只有在漫长的学习过程中能够坚持到底,毫不松懈,才有可能在未来的学习或事业上有所突破。
常涛认为,态度、方法论、表达是最重要的职业素养。“第一,学习工作态度要端正,会与不会是能力问题,做与不做是态度问题;第二,面对课题,要抓住重点,通过文档记录下学习中遇到的难题及解决方法,并通过方法总结出适用于自己的一套分析问题、解决问题的方法论;第三,在学习的过程中,不仅要做到会做,还要会讲会写,要锻炼提升自己的文档编写及语言组织能力,通过文档及讲解,能够以最快的速度让团队外的人理解自己所做的工作。”
刘聪琳坦言,更喜欢敢于直面问题、善于处理问题的学生。首先,直面问题需要拥有良好的心态,遇事不抱怨、不情绪化,出现问题,不找说辞、不找理由,而是抱着积极的态度去面对,提有建设性的建议。其次,在处理问题时,要逐步养成良好的思维习惯,形成方法论;吸取过往经验,不犯二次错误;尽可能了解事情全貌,再逐个分解,化整为零。最后,对自己的工作建立理性的评价指标,善于用数据总结和对比。