查看原文
其他

在程序题里谈恋爱是一种怎样的体验?

热爱学习的 电子科技大学 2021-06-20

在成电,一个男孩和一个女孩谈恋爱,女孩说,今天是我们认识的132天,这个数字刚好可以被3整除,那以后凡是能被3整除的日子里我们就约会吧!请问,在a到b这个数值区间他们可以约会多少次?

这是杨鹏副教授所开设的《ACM-ICPC算法与程序设计》课程的课堂题目

杨鹏电子科技大学数学科学学院副教授,研究方向为数值代数。任电子科技大学ACM国际大学生程序设计竞赛总教练,在12年的时间里带领学校ACM战队拿下60余块区域赛金牌;11次闯入世界总决赛,最高名次曾达到世界第13名;开设ACM课程,每年给近500余名同学普及ACM。杨鹏凭借着自己对教学的热爱和执着,把一个高难度的比赛,变成了轻松有趣的练习,并让更多学生在这个过程中得到计算思维的锻炼,创新能力的提升。

课堂教学:“讲台很适合我!”

杨鹏1997年考入数学学院,到后来留校任教,他在成电已经待了23年。

2009年,在担任电子科大ACM校队总教练的第二年,杨鹏开设了面向全校的素质教育公选课《ACM-ICPC 算法与程序设计》。谈及开课的初衷,杨鹏说,“当时因为ACM竞赛在国内还不是太具有知名度,我希望能让更多的同学了解这个竞赛,培养大家对算法和程序设计的兴趣”。

作为ACM的“入门”级课程,杨鹏给课程注入了很大的趣味性,为的是吸引同学们,调动大家的学习兴趣。他别出心裁地设计了很多“接地气”的题目,“青蛙的约会”就是其中之一:

两只青蛙围着一个圆形的跑道,沿着同方向进行跳跃,跳的步数是一样多,但由于两只青蛙的跳跃能力不一样,一个跳的远,一个跳的近,问两只青蛙沿着圆形跑道跳,是否会在同一时刻跳到同一个位置相遇?

校园生活的日常,同学们感兴趣的二次元,杨鹏带领团队把它们都变成了ACM算法与程序设计的题目。“我们把每一个题目都编成一个故事,一方面是为了让学生在做题的时候有亲切感,另一方面也是希望能锻炼同学们分析问题、找到问题的关键点进而解决为题的能力。”杨鹏说。

这门课程的考核很重要的一部分也是做题。2009年,考虑到上课和学生竞赛培训需要,杨鹏和团队老师汪小平、吴磊开始着手搭建ACM在线算法测试平台。经过4次改版,目前该平台拥有2500余道算法与程序设计试题,绝大部分都是师生原创,题目均设有丰富的、有趣的问题背景,使得学生能够带着问题学,而且自编程序的正确性和效率可以通过在线测评系统得到实时检验,达到学以致用的目的。而《ACM-ICPC 算法与程序设计》课程的部分考核,也是依托这个平台完成。杨鹏在课上给同学布置题目,学生可以选自己有空的时候去做。题目的设置也是由易到难,杨鹏希望学生在做题的过程中能够有成就感,建立起自信心,然后再一步步深入学习ACM。

计算机学院2019级直博生秦义茼本科时上了《ACM-ICPC算法与程序设计》,也参加了ACM竞赛。说起对这门课的印象,秦义茼说,“对老师印象最深的一点是有激情。在课堂上,杨老师可以一直保持一种富有激情的授课状态,这在一定程度上调动了同学的积极性。另外杨老师会把一些知识结合小故事来讲,这也可以增加课程趣味性,加深同学的理解。

杨鹏副教授获ACM大学生程序设计世界总决赛“杰出教练奖”

2013年起,学校探索实施通识教育改革,逐步形成了具有成电特色的核心通识课程体系,《ACM-ICPC算法与程序设计》课程被纳入了“工程教育与实践创新”版块。从“选修”到“必修”,杨鹏认为,这是时代发展的需要。在互联网时代,算法的重要性日益凸显,这要求学生在从事相关工作时具有很好的算法思维。“这门课程不仅要求学生要有一定的编程能力,更重要的是算法思维的锻炼和学习。编程是‘兵器’,算法思维才是‘内力’。”

除了ACM的入门课程,杨鹏还利用周末的时间,为希望参加ACM竞赛的同学开设《高级算法与程序设计实验》课程。

今年,杨鹏获得了电子科技大学教职工校级荣誉·创新教学示范奖,谈到10余年上课的感受,杨鹏说:“当初觉得自己语言表达还不错,所以选择了留校任教。在课堂上当我把一些看似难以理解的问题通俗地解释清楚,让同学们听明白的时候,就会有一种成就感。我觉得讲台很适合我!”

指导竞赛:“金牌在我们这儿很正常”

位于清水河校区基础实验楼A区的ACM程序设计创新中心,是ACM校队队员们日常训练的地方,其中一间的角落,堆了很多奖杯奖牌。杨鹏拿起这些奖杯奖牌,给我们回忆了ACM战队的战绩:从2008年到现在,11次进入世界总决赛,有两次拿到了全球第13名的好成绩,在各个区域赛中拿了60多块金牌。“我们这里都只摆了金牌,银牌和铜牌太多了就没有摆出来。”杨鹏笑着说。

今年1月,第44届ACM-ICPC国际大学生程序设计竞赛全球总决赛入围名单公布,我校UESTC_BeijingToHongkong队以中国香港赛区Winning Team的身份顺利晋级总决赛。在各区域赛中,我校派出了10余支队伍奔赴各赛区参赛,最终斩获11金11银3铜。

成绩的背后,是指导老师们好的指导方法以及时间和精力的付出。赛前讲座、周赛和热身赛、暑期集训、寒假集训……杨鹏在承担学校程序设计方面课程教学的同时,带领创新中心课程组教师,业余时间几乎全部投入学生日常训练的工作中。

除了日常的集训,学生们还喜欢在cordforces这个网站上进行比赛训练。为了能够更加了解学生的训练情况,杨鹏自己也常常登陆这个网站,和学生一起做题。该网站的比赛一般是在深夜,经常比赛完已经是凌晨2、3点,但杨鹏却不觉得疲倦:“我要监督他们训练,就需要登上去看有多少人在做题,既然登陆上来了,那我自己也就做一做题玩一玩咯。这是一件非常有意思的事情,我很喜欢,而且这样能更方便掌握学生可能会遇到的问题,跟他们沟通起来也能更加的方便。”

在数学学院2017级本科生胡秋豪眼里,杨鹏是一个“伯乐”。胡秋豪感觉ACM集训队像一个大家庭,气氛十分活泼活跃,而杨鹏则是集训队的“家长”。“杨老师非常关心我们,不单单是关心竞赛,也会了解学生的日常生活,经常和同学们打成一片。由于我们是团队赛,组队非常重要,不能只看重学生的编码能力,需要教练综合考虑同学的知识技能特点、性格、语言表达能力等各个方面,再将三者有机结合,形成更加有活力和潜力的队伍。杨老师善于发现集训队员的长处,使大家取长补短,这得益于他平时与我们的融洽相处。”胡秋豪说。

杨鹏副教授率成电学子参加世界总决赛

2015年5月,在摩洛哥王国马拉喀什举行的第39届ACM国际大学生程序设计竞赛世界总决赛开幕式上,杨鹏因指导带领我校ACM竞赛队伍,连续6年从亚洲范围竞争出线,闯进世界总决赛这一全球程序设计竞赛的舞台,最终荣获ACM-ICPC组委会和IBM公司联合颁发的“杰出教练奖”。当年,只有来自全球六所高校的竞赛教练被授予该奖项。

虽然带领ACM校队拿奖拿到“手软”,但杨鹏仍然有遗憾。“我们参赛的最好成绩是全球第13名,我希望能进入全球12强,这样才有机会代表学校站在全球ACM竞赛的领奖台上。”

当然,除了竞赛拿奖,杨鹏带领创新中心课程组教师,以学科竞赛为平台,培养了一大批算法与程序设计人才,他们有的进入国内国际知名高校深造,有的签约谷歌、腾讯、华为等国内外著名互联网公司……“做ACM教练,最大的感受是享受人才培养的过程。这么多年下来发现团队同学成长成为了‘行业精英’甚至‘领军人才’,站在科技浪潮的尖端,服务国家科技发展,这是作为老师最大的自豪!” 杨鹏感慨道。


文字:何乔、学生记者团 李书洋 王旭

编辑:卿晗、微视野工作室 白潇

推荐阅读
◇初心·致远 | 电子科大驻村干部康定扶贫纪实
这板书,舍不得擦!
祝贺!电子科大连续3年入选!
再夺最高奖!成电学子好样的!
高中同学同上电子科大,还是同专业同班级同寝室!


点个“在看”,一起为杨鹏老师打Call!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存