李樾和譚添。
在國(guó)際程序設(shè)計(jì)語(yǔ)言與軟件工程的江湖里,不少人都聽(tīng)過(guò)這對(duì)搭檔的名字。憑借12年一線基礎(chǔ)程序分析的科研經(jīng)歷、11年開(kāi)源工具編寫(xiě)經(jīng)驗(yàn),他們推進(jìn)了多個(gè)基礎(chǔ)程序分析領(lǐng)域公認(rèn)難題的解決邊界,在一些問(wèn)題上至今保持著最佳解法的“戰(zhàn)績(jī)”。
2019年,從丹麥奧胡斯大學(xué)博士后出站的李樾拒絕了多家企業(yè)的高薪聘請(qǐng),加入南京大學(xué)(以下簡(jiǎn)稱(chēng)南大)計(jì)算機(jī)軟件新技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室。與他一同入職的,是合作了15年的老搭檔譚添。
然而,回國(guó)后頭3年,曾經(jīng)多次出現(xiàn)在頂級(jí)學(xué)術(shù)會(huì)議的兩個(gè)年輕人,仿佛“消失”了——他們“閉關(guān)”了。
“閉關(guān)”期間,這對(duì)搭檔頂著考核壓力,一度做好了“一起被辭退”的心理準(zhǔn)備。直到他們帶著自主可控的程序分析平臺(tái)“太阿”,出現(xiàn)在大家面前。
其實(shí),這樣一個(gè)前途無(wú)量的組合,回國(guó)的初衷只是想當(dāng)兩個(gè)好老師。解釋初衷時(shí),李樾反問(wèn):“你拼命說(shuō)服自己、經(jīng)營(yíng)自己、透支自己,躋身學(xué)術(shù)圈的‘名利場(chǎng)’,最后又能得到什么呢?是合群帶來(lái)的安全感,還是被認(rèn)可后的虛榮心?”
如今,回國(guó)6年,作為南大計(jì)算機(jī)學(xué)院副教授和助理教授,李樾和譚添依舊保持著學(xué)生時(shí)代的運(yùn)動(dòng)裝扮,扎根于課堂。
今年9月末,記者去南大時(shí),秋雨初歇,天氣依舊悶熱。李樾剛結(jié)束了一堂軟件分析課的講授。盡管滿頭大汗,他卻始終穿著外套,捧著保溫杯——里面泡著益氣生津的中藥材。
才37歲的李樾自嘲:“當(dāng)老師太消耗氣血?!?span style="display:none">dwS速刷資訊——每天刷點(diǎn)最新資訊,了解這個(gè)世界多一點(diǎn)SUSHUAPOS.COM
譚添(左)和李樾(受訪者供圖)
不點(diǎn)名、不簽到,前三排靠搶
南大有一門(mén)特殊的課——不點(diǎn)名、不簽到、面向全體計(jì)算機(jī)學(xué)院本科生,卻堂堂爆滿,多年入選“我心中的好課程”,甚至被學(xué)生“吐槽”:“不早點(diǎn)來(lái),可能都搶不到前三排?!?span style="display:none">dwS速刷資訊——每天刷點(diǎn)最新資訊,了解這個(gè)世界多一點(diǎn)SUSHUAPOS.COM
“我希望上了這門(mén)課,很多博士都感到棘手的問(wèn)題,你們(本科生)因?yàn)榫邆渥銐虻幕A(chǔ),也能提出解決思路?!闭n上,李樾提出了一個(gè)“小目標(biāo)”,希望學(xué)生們能在程序設(shè)計(jì)語(yǔ)言方向有更多專(zhuān)業(yè)上的自信。
程序設(shè)計(jì)語(yǔ)言是計(jì)算機(jī)軟件的核心。隨著社會(huì)信息化的提速,各領(lǐng)域?qū)浖目煽啃?、高效性和安全性都提出了更高要求,也呼喚著更多?yōu)秀的程序設(shè)計(jì)語(yǔ)言人才。
“但我國(guó)絕大多數(shù)高校,無(wú)論計(jì)算機(jī)學(xué)院還是軟件學(xué)院,程序設(shè)計(jì)語(yǔ)言方向少有全職教授,中國(guó)計(jì)算機(jī)學(xué)會(huì)也沒(méi)有程序設(shè)計(jì)語(yǔ)言專(zhuān)業(yè)委員會(huì)。”2018年,尚在奧胡斯大學(xué)做博士后研究的李樾和譚添發(fā)現(xiàn)了這一矛盾。
2019年回國(guó)后,他們決定開(kāi)設(shè)一門(mén)程序設(shè)計(jì)語(yǔ)言方向重要的專(zhuān)業(yè)課程——靜態(tài)程序分析。
“放棄廣度、追求深度、例子驅(qū)動(dòng)、講深講透。”簡(jiǎn)單的16個(gè)字,卻是此前幾乎難以實(shí)現(xiàn)的教學(xué)目標(biāo)。
靜態(tài)程序分析不僅要掌握程序設(shè)計(jì)語(yǔ)言知識(shí),還得具備系統(tǒng)設(shè)計(jì)、算法分析等多學(xué)科能力,理論與實(shí)踐跨度很大。彼時(shí),國(guó)內(nèi)開(kāi)展相關(guān)課程與研究的高校寥寥無(wú)幾。
他們作出了一個(gè)大膽決定:面向本科生開(kāi)設(shè)這門(mén)高難度課程。對(duì)兩個(gè)剛回國(guó)任教的年輕人來(lái)說(shuō),這簡(jiǎn)直是“搬起石頭砸自己的腳”。
只有底氣遠(yuǎn)遠(yuǎn)不夠。靜態(tài)程序分析是一門(mén)“動(dòng)手課”,還需要配套的實(shí)驗(yàn)作業(yè)平臺(tái)。
這讓李樾和譚添更頭疼了。“當(dāng)時(shí)國(guó)際Java(一種流行的程序設(shè)計(jì)語(yǔ)言)生態(tài)的通用型程序分析平臺(tái)完全被國(guó)外壟斷,比如加拿大的Soot、美國(guó)的Wala、希臘的Doop,我們要花費(fèi)大量時(shí)間熟悉平臺(tái)、開(kāi)展研究,做出的成果反而成了宣傳它們的工具?!?span style="display:none">dwS速刷資訊——每天刷點(diǎn)最新資訊,了解這個(gè)世界多一點(diǎn)SUSHUAPOS.COM
李樾冒出了更大膽的念頭:干脆做一個(gè)自主研發(fā)、完全可控的分析平臺(tái)。
他興奮地找到譚添:“我們未來(lái)所有的論文都在自己平臺(tái)上搭建,平臺(tái)也能反過(guò)來(lái)提升成果的可見(jiàn)度和影響力。”
“弄個(gè)新的、更好的沒(méi)問(wèn)題。”譚添也早有此意,“主要其他平臺(tái)代碼很‘挫’,學(xué)生用了估計(jì)會(huì)心煩意亂?!?span style="display:none">dwS速刷資訊——每天刷點(diǎn)最新資訊,了解這個(gè)世界多一點(diǎn)SUSHUAPOS.COM
兩人一拍即合:課要開(kāi),平臺(tái)也要搞!
2020年2月,《軟件分析》迎來(lái)了第一堂課,李樾和譚添別出心裁,同步開(kāi)啟了B站直播,至今,僅第一節(jié)課的播放量就已達(dá)15萬(wàn)。
“程序分析的課實(shí)在太少了”“以前沒(méi)有系統(tǒng)性學(xué)過(guò),這是我看到的第一個(gè)公開(kāi)課”“這門(mén)課真的幫助我們安全領(lǐng)域的學(xué)生打下了非常好的專(zhuān)業(yè)基礎(chǔ)”……評(píng)論區(qū)里,“云學(xué)生”紛紛表示感謝,還有十多家企業(yè)申請(qǐng)將課程用于企業(yè)內(nèi)部的工程師培訓(xùn)。
南京大學(xué)《軟件分析》課(趙宇彤?dāng)z)
“教學(xué)遠(yuǎn)比科研重要”
為了上好這堂課,李樾和譚添賭上了一切。
他們拒絕了所有橫向課題,只為全心全意上好這門(mén)課。因?yàn)椴簧岬脿奚鼘W(xué)生的科研、休息時(shí)間,新冠疫情期間,身體不適的李樾頂著高燒,一個(gè)人熬夜加班。
而作為“青椒”,他們肩上還扛著巨大的考核壓力。
“教學(xué)遠(yuǎn)比科研重要,但要做好一年連一篇論文都沒(méi)有的準(zhǔn)備?!崩铋性谥跆孤缎穆?,“學(xué)生也可能會(huì)對(duì)長(zhǎng)時(shí)間沒(méi)有好產(chǎn)出的老師感到失望和質(zhì)疑。”
這些都沒(méi)能動(dòng)搖他們。“我和譚添說(shuō),咱哥兒倆大不了最后一起走,能上課的地方很多,二本的學(xué)生也是學(xué)生,網(wǎng)上的學(xué)生也可以是咱們的學(xué)生。”
但要做好教學(xué),他們還需要個(gè)“抓手”——分析平臺(tái)。其中涉及大量基礎(chǔ)程序分析、程序設(shè)計(jì)語(yǔ)言理論、高級(jí)編譯技術(shù)相關(guān)內(nèi)容,還有很多無(wú)從參考的設(shè)計(jì)細(xì)節(jié)。
兩個(gè)“工頭”只能白手起家。他們借鑒了多個(gè)國(guó)際流行的分析平臺(tái),預(yù)想了未來(lái)現(xiàn)代軟件的發(fā)展需求。
3年間,辦公室的巨大白板上,密密麻麻寫(xiě)滿了數(shù)字和符號(hào),兩個(gè)腦袋幾乎要貼到板子上,寫(xiě)了擦、擦了寫(xiě),一晚上能寫(xiě)五六塊板子,才慢慢敲定了全部細(xì)節(jié)。最終,第一個(gè)版本近10萬(wàn)行代碼由譚添一人完成。李樾一再?gòu)?qiáng)調(diào):“我是做不出這樣的平臺(tái),但是譚添可以?!?span style="display:none">dwS速刷資訊——每天刷點(diǎn)最新資訊,了解這個(gè)世界多一點(diǎn)SUSHUAPOS.COM
在“白板會(huì)戰(zhàn)”里,他們定下了4個(gè)目標(biāo):易學(xué)、易用、高效、可擴(kuò)展。其中,易學(xué)、易用被擺在首位。
“容易上手并覺(jué)得好用,是我們的核心賣(mài)點(diǎn)?!崩铋姓Z(yǔ)氣里滿是掩不住的自豪,尤其對(duì)本科生來(lái)說(shuō),更要讓他們敢用、自信地用、胸有成竹地用,“通過(guò)一個(gè)個(gè)實(shí)驗(yàn)作業(yè)進(jìn)行系統(tǒng)訓(xùn)練,深化對(duì)理論的理解”。
沒(méi)日沒(méi)夜的討論里,學(xué)院和團(tuán)隊(duì)給了他們顆“定心丸”。“領(lǐng)導(dǎo)沒(méi)讓我們做不喜歡的事情”“這一點(diǎn)(準(zhǔn)備承受來(lái)自團(tuán)隊(duì)領(lǐng)導(dǎo)的壓力)是我所有擔(dān)心里唯一不用擔(dān)心的”。
現(xiàn)實(shí)也沒(méi)有辜負(fù)這份熱愛(ài):滿滿當(dāng)當(dāng)?shù)慕淌依?,百余名學(xué)生抻著脖子,跟著李樾一步步操作,其中有本科生、研究生,還有其他專(zhuān)業(yè)蹭課的學(xué)生。
同時(shí),李樾也收到了越來(lái)越多的反饋:“好用”“寫(xiě)起來(lái)很爽”“在編程上更有信心了”……
李樾眼眶發(fā)熱。2019年6月,回國(guó)前,他贊同了一個(gè)知乎帖子“對(duì)于青年科研人員,教學(xué)和科研能否兩全”,其中寫(xiě)道:“教育是非常有獲得感的,經(jīng)常面對(duì)學(xué)生也容易保持初心。”如今,李樾也感受到這份幸福。
他們決定向高校、企業(yè)、科研院所無(wú)償開(kāi)源,目前已有30余所高校學(xué)者、20余個(gè)政府或企業(yè)相關(guān)部門(mén)、200余家國(guó)內(nèi)外高校及科研院所學(xué)生用上了該分析平臺(tái),并產(chǎn)出多項(xiàng)科研成果。
2023年6月,譚添帶著基于該平臺(tái)產(chǎn)出的論文趕赴美國(guó),參加程序設(shè)計(jì)語(yǔ)言方向的頂級(jí)會(huì)議PLDI,而他的同行者、該論文第一作者,是一名他們指導(dǎo)的本科生。
不但要自信,甚至要“狂”一些
譚添將這一平臺(tái)命名為“太阿”,它得名于戰(zhàn)國(guó)時(shí)期的歐冶子和干將聯(lián)手鑄造的名劍,鋒利無(wú)比,光華絕倫。
“太阿持幡將”(李樾繪)
這寄寓著他們的抱負(fù),也象征著他們二人“十年磨一劍”的經(jīng)歷。
2010年,李樾還是西北工業(yè)大學(xué)(以下簡(jiǎn)稱(chēng)西工大)的研一學(xué)生。在擔(dān)任本科二年級(jí)課程助教時(shí),他一眼就注意到譚添:皮膚白凈、身形消瘦,不愛(ài)說(shuō)話,桌上卻摞著厚厚的外國(guó)專(zhuān)業(yè)書(shū)。
“這是個(gè)不一樣的人。”李樾不自覺(jué)留意起他,譚添計(jì)算機(jī)基礎(chǔ)好,編程能力更強(qiáng)。次年,李樾要做一項(xiàng)課題時(shí),立馬想起了譚添。
就此,兩條人生軌跡開(kāi)始相交。他們一同前往澳大利亞新南威爾士大學(xué)求學(xué),又一起來(lái)到奧胡斯大學(xué)深造。
“但我們性格完全不同。”李樾和譚添相視一笑,接著開(kāi)口,“我急脾氣,他很穩(wěn)重;我追求有趣,他更務(wù)實(shí);我想做不一樣的事情,他只想把一件事做到最好……”
因此,在合作之初,他們經(jīng)常吵架?!拔抑v了半天,他聽(tīng)不明白,他說(shuō)的我也理解不了?!蔽鞴ご蟮慕淌?、新南威爾士大學(xué)的圖書(shū)館,都留下過(guò)他們爭(zhēng)執(zhí)的回憶?!昂髞?lái)慢慢才形成默契,不用說(shuō)話就能心領(lǐng)神會(huì)?!彼麄冋f(shuō)。
差異、爭(zhēng)執(zhí),反而加深了理解。他們愈發(fā)清楚地發(fā)現(xiàn)彼此在科研上的高度契合。
“我覺(jué)得自信還不夠,還要再狂一些?!崩铋性捯舾纱?,“尤其是搞科研的,就要走那些少有人走的路,就要在別人的質(zhì)疑聲中堅(jiān)定自己?!?span style="display:none">dwS速刷資訊——每天刷點(diǎn)最新資訊,了解這個(gè)世界多一點(diǎn)SUSHUAPOS.COM
這份“兵來(lái)將擋、水來(lái)土掩”的氣勢(shì)源自二人的多年默契。
2014年的譚添(左)和李樾
“我們一起完成了很多‘不可能’的事情。”李樾掰著指頭細(xì)數(shù),讀博期間,他們解決了程序分析中的一個(gè)邊界問(wèn)題,興奮地投了頂級(jí)會(huì)議,卻遭到當(dāng)頭一棒——4個(gè)評(píng)委反饋意見(jiàn)都是C。
他倆不甘心,找了個(gè)會(huì)議室,沒(méi)日沒(méi)夜地計(jì)算、討論,“差不多每天能寫(xiě)廢一根馬克筆”。反復(fù)推演后,李樾覺(jué)得問(wèn)題出在寫(xiě)作上,“理論越難的論文,越考驗(yàn)是否能邏輯清晰地表達(dá)”。
李樾把自己關(guān)在法學(xué)院的圖書(shū)館里,厚厚的法典讓他感到沉靜。他上網(wǎng)翻閱不同研究領(lǐng)域的寫(xiě)作材料,一點(diǎn)點(diǎn)“啃”寫(xiě)作技巧,每天嘗試寫(xiě)個(gè)“豆腐塊”。后來(lái),他們把改好的論文再次提交,這次收到了4個(gè)A的滿分評(píng)分。
這樣并肩奮戰(zhàn)的時(shí)刻,他們經(jīng)歷了無(wú)數(shù)次:一起留學(xué),一起求職,一起來(lái)到南大,一起用行動(dòng)上好一堂基礎(chǔ)課。
“如果我講得不清楚、沒(méi)邏輯,上課敷衍,是不是意味著學(xué)生們?nèi)蘸笠部梢赃@樣做?那如果我把知識(shí)點(diǎn)講得清晰、易懂,他們是不是可以在專(zhuān)業(yè)上多一份自信?”李樾語(yǔ)速很快,眼里閃著光。
余音回蕩。半晌,譚添笑了笑。
“我的想法和他不同,我更喜歡技術(shù),也喜歡跟別人講我對(duì)技術(shù)的理解,我希望學(xué)生們能真正喜歡上編程?!弊T添語(yǔ)氣平靜,這個(gè)念頭早就在他心底萌芽。
2011年,還是大三的他寫(xiě)下一篇博文《致軟件學(xué)院的老師們的一封信》:“興趣是最好的老師,如果老師們能把這位‘最好的老師’帶給學(xué)生,對(duì)國(guó)家、對(duì)行業(yè)、對(duì)學(xué)生而言都是莫大的福音?!?span style="display:none">dwS速刷資訊——每天刷點(diǎn)最新資訊,了解這個(gè)世界多一點(diǎn)SUSHUAPOS.COM
雖然投身教育的初衷不同,但他們卻共同走在一條特立獨(dú)行的路上。
“當(dāng)老師太消耗氣血”
疫情之后,學(xué)生們發(fā)現(xiàn),原本活力滿滿的兩位老師“沒(méi)電”了。
拼命工作的李樾,身體頻繁“亮起紅燈”,譚添在幫他代了幾節(jié)課和處理繁雜的工作后,有一次突然身體不適,被緊急送往醫(yī)院。
“當(dāng)老師太消耗氣血?!崩铋性谥跎献猿暗貙?xiě)道。
但只要站在講臺(tái)上,他們都努力調(diào)整好自己的狀態(tài)。
“大家跟我一起思考”“聽(tīng)懂就點(diǎn)頭,跟上我的節(jié)奏”“這個(gè)地方聽(tīng)不懂沒(méi)關(guān)系,后面還會(huì)帶大家通過(guò)其他內(nèi)容幫助進(jìn)一步理解”……課堂上,李樾用各種方式調(diào)動(dòng)學(xué)生的情緒。
“教好一門(mén)課是一種精神輸出,老師的態(tài)度、專(zhuān)業(yè)、價(jià)值觀都會(huì)被學(xué)生感受到?!毕抡n后,李樾的嗓音滿是疲憊。
盡管他一再?gòu)?qiáng)調(diào),“不點(diǎn)名、不簽到、不強(qiáng)制到場(chǎng),可以聽(tīng)網(wǎng)課”,但《軟件分析》依舊堂堂爆滿。
2023年,譚添在南京大學(xué)開(kāi)甲書(shū)院分享(受訪者供圖)
課堂上的李樾(受訪者供圖)
“我有時(shí)會(huì)在課上補(bǔ)充一些最前沿的領(lǐng)域知識(shí)和研究成果,帶學(xué)生一起思考?!崩铋行ρ?,自己在努力打掃課堂的“霉味”,并樂(lè)此不疲。“我覺(jué)得教育的真諦就是潛移默化地教會(huì)學(xué)生自信、接納自己、勇敢面對(duì)人生?!边@比賺錢(qián)、發(fā)論文更讓他快樂(lè)。
李樾一直記得一個(gè)細(xì)節(jié)。在其本科擔(dān)任助教時(shí),有一天,一名陌生的學(xué)生突然找他談心,覺(jué)得自己成績(jī)不好,也沒(méi)有出色的編程能力,懷疑自己是否適合學(xué)計(jì)算機(jī)。李樾沒(méi)有盲目鼓勵(lì),而是推薦他讀一本經(jīng)典專(zhuān)著,并讓他把知識(shí)點(diǎn)理解后畫(huà)出來(lái)。
不久之后,那名學(xué)生捧著十幾張思維導(dǎo)圖再次找到李樾時(shí),眼神里多了份篤定,也找回了對(duì)專(zhuān)業(yè)的信心。這段小小的插曲,也成了李樾投身教學(xué)的原動(dòng)力。
然而,身體狀況迫使他們探索不同的教學(xué)和科研方式。
“之前,我們倆經(jīng)常熬一個(gè)月幫學(xué)生改論文,其實(shí)就是重寫(xiě)。”李樾介紹,后來(lái)他們發(fā)現(xiàn),過(guò)度呵護(hù)反而會(huì)阻礙學(xué)生成長(zhǎng),便決定放手。“現(xiàn)在實(shí)行‘學(xué)伴制’,碩士生和博士生自由結(jié)對(duì),互幫互助,他們深度討論后還有疑問(wèn)的或解決不了的,我們?cè)俨迨??!彼f(shuō)。
他們還發(fā)現(xiàn),匹配研究方向的橫向課題能幫助學(xué)生接觸企業(yè)真實(shí)需求,但要求學(xué)生必須解決真實(shí)問(wèn)題,不能只做“臟活累活”。
李樾和譚添的課題組不打卡,他倆也不參加組會(huì),更不要求學(xué)生發(fā)論文,但每個(gè)人都必須“能說(shuō)會(huì)寫(xiě)”。
只有當(dāng)學(xué)生要投論文時(shí),他們才會(huì)把二十多人召集到一起,打開(kāi)共享屏幕,逐字逐句地講解,耐心地教他們?nèi)绾谓M織思路、準(zhǔn)確表達(dá)。
他們想教給學(xué)生的遠(yuǎn)不止知識(shí)。
“持續(xù)學(xué)習(xí)、化為己用的能力非常重要?!边@一點(diǎn),李樾深有感觸。早在2010年,他就在本科畢業(yè)論文致謝里寫(xiě)道:“學(xué)到了‘怎樣學(xué)習(xí)’,此足以讓我闊步畢業(yè)后的人生。”
不過(guò),他偶爾也會(huì)被命運(yùn)的“回旋鏢”擊中。
“我總是告訴學(xué)生,不要迷信權(quán)威,要勇敢表達(dá)?!崩铋械谝荒曜霾┦亢髸r(shí),就曾在頂級(jí)會(huì)議上當(dāng)面“評(píng)價(jià)”了一眾“大佬”。
“但如今在學(xué)術(shù)交流會(huì)議上被自己的學(xué)生當(dāng)眾反駁,感覺(jué)確實(shí)不一樣?!彼焐媳г?,語(yǔ)氣里卻是掩不住的驕傲。
李樾和譚添歡迎所有的學(xué)生,無(wú)論遇到學(xué)業(yè)難題還是人生困惑,都可以直接來(lái)他們的辦公室——門(mén)上貼著《凡人修仙傳》主角韓立的海報(bào),“白手起家、永葆善良、勇敢堅(jiān)韌”,這既是他們共同欣賞的品質(zhì),也是他們努力踐行的準(zhǔn)則。
李樾和譚添的辦公室(受訪者供圖)
李樾生活照(受訪者供圖)
譚添生活照(受訪者供圖)
本文鏈接:“大不了一起被辭” 一對(duì)南大教師的教學(xué)“冒險(xiǎn)”http://www.sq15.cn/show-11-27412-0.html
聲明:本網(wǎng)站為非營(yíng)利性網(wǎng)站,本網(wǎng)頁(yè)內(nèi)容由互聯(lián)網(wǎng)博主自發(fā)貢獻(xiàn),不代表本站觀點(diǎn),本站不承擔(dān)任何法律責(zé)任。天上不會(huì)到餡餅,請(qǐng)大家謹(jǐn)防詐騙!若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。