应北京大学“大学堂”顶尖学者讲学计划的邀请,美国国家科学院和国家工程院院士、微软研究院首席研究员、2013年图灵奖获得者、著名计算机科学家莱斯利·兰伯特(Leslie Lamport)于10月30日访问北京大学,除发表学术演讲,还参加了学生座谈、学术对话等活动。
湖心岛同学生代表座谈
30日上午,兰伯特博士一行驱车抵达博雅塔下,受到学生代表的热烈欢迎,并在大家的引领下绕湖步行至湖心岛鲁斯亭。随后,他在湖心岛与来自北大信息技术科学学院、数学科学学院的同学进行了座谈。围绕同学们关心的数学与计算机科学的关系、科学研究中如何判定“有用”等问题,兰伯特博士做了颇具洞见的回答。他在座谈中特别强调数学作为思考方式的重要性,认为借助数学工具可以对问题进行精确地刻画,从而以更加抽象的视角直达问题的本质。通常人们会以是否有应用价值来判断一个数学问题的价值,而兰伯特博士认为不需要给每个数学的研究都强加上实际应用价值,他将科研比作一队步兵,大家注意到的只是带头的一些人,但当整个部队遭遇到战争的时候,大家都会冲锋上前,你不知道哪些人会起作用,数学研究的成果所扮演的正是这样的角色。他还认为,数学可以帮助我们分析,把握问题的本质,建立合适的模型,有利于我们发现新的知识。
当天中午,北京大学副校长王杰会见了兰伯特博士一行。数学科学学院副院长陈大岳、信息技术科学学院副院长李文新、国际合作部部长夏红卫参与会见。微软方面,微软亚洲研究院首席研究员张霖涛、研究院高校合作部中国区经理马歆陪同参加会见。王校长回顾了北大与微软长期以来在多个学科领域的密切合作,并表示兰伯特博士此次来访,将进一步巩固北大与微软的合作友谊。他随后向兰伯特博士颁发了“大学堂”顶尖学者铜牌。
王校长颁授“大学堂”顶尖学者计划铜牌
30日下午,兰伯特博士向来自北大多个院系的近两百名学生做学术报告,报告题目为“编程不仅仅是代码”(Programming Should Be More Than Coding)。演讲开始前,数学科学学院信息系副系主任孙猛向在座师生介绍了兰伯特教授的学术成就及其研究经历。随后的演讲中,兰伯特教授首先阐释了编程中最核心的三个任务:1.决定程序应该做什么2.决定程序应该怎样做3. 根据前面的两项决定编写代码。通常情况下,人们都喜欢在编写代码的过程中完成这三个任务,但是兰伯特博士认为这三个任务应该分离开,一个好的程序员应该在考虑清楚前两个任务之后,再来进行代码编写。兰伯特教授用一个例子来引入自己的论点。例如“一个整数加一”这个看似非常简单的问题,在深入思考后也会发现会有整数溢出等问题,兰伯特教授认为思考不一定能避免错误,但是不思考一定不能避免错误。随着报告的深入,兰伯特教授为师生们介绍了如何用抽象的数学和逻辑方法来指导程序设计。最后他在演讲中深入浅出的介绍了如何用TLA+这种数学化的语言进行编程。兰伯特教授认为TLA+最困难的部分,就是用抽象的思维来思考、用数学的方式来思考。数学本身不会让程序运行的更有效率,但是能让程序逻辑更加严谨。目前TLA+已经在航空航天、微软、亚马逊等系统中起到了关键的作用。
演讲结束后,北大信息科学技术学院副院长查红彬教授与兰伯特教授进行了对话。在对话过程中,兰伯特教授介绍了自己的科研生涯,并对年轻科研工作者提出了建议。他认为每个人的科研生涯都具有特异性,是不可复制的,年轻的科研工作者应该多跟自己身边的良师益友交流,从他们那里得到帮助。关于在公司和高校中开展科研的差异,兰伯特教授认为在公司中所做的研究更能接近于现实生活,并且更能得到现实的数据支持。但同时他也认为近年来,随着公司跟高校之间的交流,这个差异正在逐渐的缩小。最后,两位教授就目前计算机专业的学生该如何看待互联网中存在的代码资源进行了探讨。兰伯特教授认为解决问题的关键在于对问题的深入思考和严谨的数学逻辑建模,代码只是为其服务的一种工具,所以学生应该更加注意锻炼自己的思维,而不要过分的关注代码。
对话结束后,聆听报告的师生围绕报告提出的科学问题以及其他科学研究方法论等方面的问题与兰伯特教授进行了广泛而深入的讨论。交流中,兰伯特教授再次强调了应该用严谨抽象的数学和逻辑思维来指导程序设计。兰伯特教授深厚的学术功底、渊博的知识、强烈的求知欲和他在科学研究态度和方法方面的真知灼见使在场的师生受益匪浅,最后讨论在热烈的掌声中圆满结束。
“北京大学‘大学堂’顶尖学者讲学计划”(Peking University Global Fellowship)是北大目前最高层次的顶级学者讲学项目。自2012年启动以来,已有23位不同专业领域内的杰出学者以“大学堂”顶尖学者身份来校讲学,其中包括10位诺贝尔奖获得者。