张修军:追求无Bug!看他“解码“人生
他是学校新闻报道的“常客”。2018年,他荣获四川省“五四青年教师模范”称号,2019年获成都市“师德标兵”称号,2023年他荣膺学校首届“最美教师”称号,新闻中心多次予以报道,他就是计算机学院张修军老师。
张修军,男,民盟盟员,教授,硕士生导师,高级工程师,成都市特聘技术创业导师,主要研究方向为图论与组合优化,主持国家级科研项目1项,参研国家级项目3项,主持厅局级项目3项,获省教学成果奖2项;他发表论文50篇,其中SCI检索50篇,中文核心期刊论文5篇;以第一发明人授权发明专利4项,第一发明人授权实用新型专利11项,第一著作权人授权软件著作权40项。
“不务正业” 结缘计算机
重庆市南川区地处渝、黔两省(直辖市)交汇点,张修军老师就出生和成长在这里。
1992年,他考入被誉为“中国气象人才摇篮”的南京气象学院(现南京信息工程大学)学习大气物理学,研究雷达气象、卫星气象等。1994年我国正式接入互联网后,学校购进了两台计算机。那个年代,计算机是稀罕的宝贝,学校专门为微机室配备了空调 。当时还是单色显示器,只有绿色的字符在屏幕上跳动。一次,老师带着张修军和同学们来上机操作,演示计算机如何运算,当看着一长串代码在几秒钟之内运行出来,“运行速度好快,感觉好神奇!”自此以后,他对电脑生出浓厚的兴趣。
他开始“不务正业”,买来与C语言相关的书自学。学了理论,更需要上机检验。那时,学校的机房要收费,2.5元一小时。他一个月的生活费也才200元,平均一天不到7元。“对我来说2.5元很贵了”。但这并没有消减他学习的热情,他把学校发放的200元助学金全部花在了机房。为了节省上机费,他先在图书馆手写代码,一个程序要在纸面上磨成熟了,他才在电脑上操作。
随着学习难度的提升,当他感觉吃力时,他便寻求“外脑”。在大二下学期,他跟着研究生学长学习,每周都到学长的办公室向他请教,一直到学长研究生毕业。得益于这段时间的朋辈互动,在学长毫不保留的帮带下,他的相关知识大大进步。
在学习上,他有股“不到黄河不罢休”钻劲儿。在一个项目中,他负责多普勒气象雷达数字化产品设计,通过把Fortran语言移植为C++,再将采集下来的数据图形化呈现。他对照代码逐行翻译后,再写程序进行运算,结果运行失败了。多次尝试仍未找到“病症”。他反复核对,一行行代码挨着检查,“我只要不上课,从早上到晚上,一天十个小时都在检查代码”。直到半个月后,他终于发现是在传参数时有个符号缺失,只需加一个小符号,结果就会正确。“当结果出来时,我高兴得跳了起来,周围都是做毕业设计的大四学生,他们都扭头看着我,我当时觉得很有成就感。”
辗转行路 成为老师
大学毕业时,他凭借优异的成绩留校任教。
回忆起第一次讲课经历,他至今仍记忆犹新。因为是“新手”,学校先安排他教授成人教育课程。但他并没有因为学生学历层次低就放松敷衍,反而更加用心。一本书、几杆笔和一叠草稿纸开始备课。他在图书馆写教案,在办公室与前辈老师探讨难点,走在路上也在背书,整个暑假,他反复推演数据公式,课程内容烂熟于心,那本空白教案也写满了密密麻麻的字。
即便做足了准备,但直到他“人生的第一堂课”铃响前,他悬着的心始终没有放下。他在教室外来回踱步,反复梳理教学点。看着教室里那群比自己年龄还大的学生,他的心一下子提到了嗓子眼儿,生怕自己年龄小、气场弱,“镇”不住学生。他攥紧粉笔,深吸了一口气,硬着头皮开始讲课。“第一次上讲台,怕讲不好”,他笑着回忆。
对他来说,度过职业新人期是一段小火淬炼的过程。“能够脱离教案,将教材内容都刻在心里,这时候上课就一点都不紧张了。”
内心战战兢兢,才能保持“学习饥饿”,不断钻研提升,行有所向。四年的助教生涯里,他边工作边备考。冬天南京零下10多度,他坐在图书馆里复习,实在冻得受不了,才起身走走。终于,他考上了浙江大学信电系的研究生。还参加了浙大中控的机器人足球队,为足球机器人开发软件,也许从这里起,故事都有了源头。“参加比赛,从这里开始了。”
心怀江海 倾心育人
他教授《数值计算方法》《C语言程序设计》《面向对象程序设计》《计算机网络》四门课程。从教二十余年,反复打磨课堂,如今这些内容他早已烂熟于心了。
“一个C语言程序有且只有一个main函数,是程序运行的起点”,这节课讲授的《C语言程序设计》的入门知识。这门课程注重思维发散能力和实践检验,若仅靠上课时的单向输出,无疑是纸上谈兵,为了让学生更容易“吸收”知识点,张老师会要求学生在课前提前预习,在课后用电脑编程实践。
给人滴水者,必心怀江海。张修军为了丰富自己的“储水量”,他保持学习更新节奏,不断补充最前沿的成果和内容到自己的教学中。当看到课堂上学生手撑额头,眼皮“打架”时,他便会调整课程内容,拿出自己的“秘密武器”。
“有一天……”这三个字从他口中说出,学生们就会齐刷刷地抬头,因为他们知道,“故事大王”就要登场了。张修军会给他们讲计算机行业发生的趣事,他最爱讲的便是在软件开发过程中bug和debug的由来。在课堂之外,他会去了解计算机技术的发展前沿,充实故事性内容与AI相关的知识,“这些与计算机相关的趣事,既可以让同学们了解计算机的发展史,也可以让他们在上课时调整状态。”
在课堂上,他还会对学生进行一系列“拷问”:“毕业之后你想找什么样的工作?”“你想要多高的薪资?”“相比于985、211的学生,你的竞争力有多大”……通过这种方式,让学生产生危机感紧迫感,激励他们努力学习。
他也会尽力支持学生在不同领域的兴趣,通过兴趣引导的方式让学生从“被动”学习到主动“出击”。他指导的一名研究生提出想要做硬件方面的研究,张老师全力支持,“我支持他,相当于老师和学生有一个兴趣上的合力,学生也会主动花更多的时间和精力在他感兴趣的事情上。”
当棵指路松 守望成长
“在计算机领域,不能只是埋头苦学,更需要积极参加学科竞赛和工程项目实践,这样才能学以致用。”因此,张修军把大量的精力倾注其中。从项目创意讨论、开发过程指导,他总是极力支持学生的想法,“从最开始一个想法,经过团队协作完成作品,再参加比赛实战验证,这个过程很有意义,学生们能在竞赛过程中提升专业思维,实践动手能力,实现个人在学习、创新、沟通等全方位的培养。”
每年学生学科竞赛团队招新时, 因为张修军老师在学院的“明星效应”,他指导的团队一直是学生报名的“大热门”,投来的简历总是“塞满”邮箱。“张老师是一名算法‘大牛’,在算法比赛这个领域,10513工作室的水平在全校‘断层’领先,所以我在大一参加选拔,来到了张老师团队。”2022级计算机科学与技术专业2班何智恒说。“加入张老师团队,就相当于全年备赛。”何智恒在大一时常训练到凌晨一点。
迄今为止,张修军以第一指导老师指导学生参与各类学科竞赛获国家级奖项55项、省级奖项301项。他说:“这些只是对我过去成绩的认可,未来还要保持初心,脚踏实地,努力奋进。”在2023年年底,张修军带领团队拿到ICPC重庆市赛省一等奖一项,省二等奖三项,是学校在这个项目中获得的最好的成绩。ICPC是计算机领域最难的比赛之一,其难度仅次于互联网+、挑战杯,为了能在这个赛事中获奖,张修军要求团队成员每周二和周五拿一套ICPC区赛历年真题模拟参赛,其余时间,则在晚上6:30到11:30自主备赛,不断更新ICPC相关知识点。“这个比赛含金量很高,如果能拿到ICPC区赛铜奖,就相当于帮学生们拿到了去大厂实习的入场券。”
这些荣誉是张修军带领学生日夜实验而来,对于张修军来说,他早已习惯在夜晚与第十教五楼的灯火相伴。每年暑假是紧张的备赛期,这个时候他都和学生在一起。“去西安时,张老师跟我们一起坐四个小时的高铁,还为我们准备了一大袋零食和车厘子”“去成都工业学院比赛时,他亲自开车送我们过去”“去外地比赛,张老师自掏腰包为我们报销差旅费”“在天梯赛开赛时,正值我们大一军训,没时间吃饭,张老师买来满满一大袋士力架分给我们”……不管学习还是生活,张修军时刻关注学生动态,温暖团队每一位成员。
2021级软件工程专业3班唐国超,是算法集训队前队长,在张老师团队的三年里,他共获得国家级奖项5项,省赛银奖3项。他回忆说,2022年暑假备战天梯赛线上赛和ICPC四川省赛备赛时,他与另外两位队友一起住在校外,在开赛前几个小时,所在区域突然停电,张老师得知后,开车将他们三人接回学校工作室,并为他们准备好盒饭,做好后勤,让他们安心比赛。“张老师做事很细腻,考虑也很周到,总是用他的方式照顾着我们。”唐国超说。
“不论外部环境怎么变化,都要始终坚持自己的目标,将注意力集中在个人能力提升上。千万不要因为外部环境变差,预期达不到,就放弃自己的目标,要让自己修炼一颗强大的内心,为了自己美好的未来而努力奋斗。”这是张修军发在算法集训队小群的一句话,“张老师经常在群里发这种话鼓励我们时刻努力,有时发现我们状态不好,还会私聊我们,给与我们关心。”2023级计算机科学与技术专业4班万名森说。
“我喜欢教师这个职业,我可以和很多学生进行交流,学生的思维非常活跃,通过与他们的思维碰撞,让我的思想也变得年轻。”在这二十年如一日的教学中,张修军的教学热情仍未改变,他希望,自己的学生都能做好时间管理,做一个终生学习者。