南科大计算机系:将开源和企业引入计算机课程教学
將開源和企業(yè)引入計算機課程教學(xué),南科大計算機系,于仕琪
上面的視頻是我參加CSDN在長沙組織的“1024程序員節(jié)”的報告視頻,介紹了南方科技大學(xué)計算機系在提升學(xué)生能力的一些嘗試。為了提升學(xué)生能力,讓學(xué)生通過開源項目參與真正的實踐,并引入企業(yè)指導(dǎo)學(xué)生,最終實現(xiàn)學(xué)生、教師、企業(yè)和社會多方共贏。
視頻中內(nèi)容,最初由我跟我的同事唐博和陳馨慧老師一起,發(fā)表在CCF通訊上,全文如下。將開源和企業(yè)引入計算機課程教學(xué)——“把教學(xué)場景用起來”模式探討本文針對南方科技大學(xué)已有的一些教學(xué)嘗試,提出了在計算機課程教學(xué)中由教師和企業(yè)共同指導(dǎo)學(xué)生參與開源項目的教學(xué)模式,并希望這種模式能夠提升學(xué)生能力、促進(jìn)教師授課積極性,并從多方面幫助到企業(yè)。https://dl.ccf.org.cn/article/articleDetail.html?type=qkwz&_ack=1&id=5099305107982336
將開源和企業(yè)引入計算機課程教學(xué)
——“把教學(xué)場景用起來”模式探討
作者:南方科技大學(xué)計算機科學(xué)與工程系 于仕琪、唐博、陳馨慧(Shin Hwei Tan)
關(guān)于如何提升中國大學(xué)教育水平和科研水平,中科院計算所研究員包云崗撰文《Matlab:一個教學(xué)小工具為何成為卡脖子利器》[1]對此進(jìn)行了探討,他的觀點為:(1)把東西做出來,而不是追求把論文發(fā)出來;(2)把東西用起來,而不是做完就扔了;(3)把教學(xué)場景用起來,而不是把教學(xué)當(dāng)作負(fù)擔(dān);(4)把持久戰(zhàn)意識樹立起來,而不是期望速勝論。北京交通大學(xué)教授于劍日前在CCCF撰文《奇跡之年,我們應(yīng)該怎么做?》[2],進(jìn)一步點明了目前科研領(lǐng)域存在的問題。
國家的發(fā)展以及世界形勢的變化,對我們的大學(xué)教育提出了更高的要求。破除“四唯”(唯論文、唯職稱、唯學(xué)歷、唯獎項)已經(jīng)是大家的共識,而比“破”更難的是“立”。提升大學(xué)的教育和科研水平是一個很宏大的課題。我們嘗試對本科生教學(xué)做一些探討,希望能夠把教學(xué)和科研聯(lián)系起來,用教學(xué)促進(jìn)科研。
本科教育中的實踐與創(chuàng)新
現(xiàn)在本科生教育,已經(jīng)不是僅靠課堂教學(xué)、學(xué)生上完課程就能拿到學(xué)士學(xué)位這么簡單了。教育部的“新工科”建設(shè)對此提出了更高的要求,高校需要在本科教育中重視實踐和創(chuàng)新,并以此帶動學(xué)生對理論知識的掌握。
在本科生教育中,應(yīng)該引入大量的“實戰(zhàn)”。中國科學(xué)院大學(xué)的“一生一芯”計劃就是一個很好的案例。筆者所在的南方科技大學(xué)也進(jìn)行了一系列嘗試,例如計算機系在大三和大四年級開設(shè)了一門必修課“創(chuàng)新實驗”。這門課共覆蓋3個學(xué)期,有6個學(xué)分,沒有課堂講授,而類似于畢業(yè)設(shè)計,學(xué)生要在教師的指導(dǎo)下完成3個實踐項目。加上畢業(yè)設(shè)計,計算機專業(yè)的學(xué)生要在畢業(yè)前完成4個大型實踐項目。
為了進(jìn)一步推廣這種思路,探索“新工科”培養(yǎng)模式,南方科技大學(xué)還設(shè)立了系統(tǒng)設(shè)計與智能制造學(xué)院。該學(xué)院的培養(yǎng)強調(diào)“以學(xué)生為中心”“以項目為引導(dǎo)”“多學(xué)科交叉融合”,引導(dǎo)學(xué)生主動學(xué)習(xí)。這種模式放棄了傳統(tǒng)的以課堂授課為主導(dǎo)的培養(yǎng)模式,改以項目引導(dǎo)的方式促進(jìn)學(xué)生學(xué)習(xí)。
實踐和創(chuàng)新類活動,其目的不是讓本科生在科研上有突破,或者做出什么驚天動地的大事,而是讓學(xué)生知道“為何而戰(zhàn)”。在本科教學(xué)中,常常有學(xué)生問“線性代數(shù)”“概率論”“操作系統(tǒng)”等基礎(chǔ)課程有什么用。當(dāng)學(xué)生參與了實踐類項目后,他們會真正體會到基礎(chǔ)課程的作用,也自然知道了為何而學(xué)習(xí)(也就是“為何而戰(zhàn)”)。此外,高年級的學(xué)生也會現(xiàn)身說法,把自己的心得告訴低年級的同學(xué)。這樣會讓學(xué)生擁有清晰的目標(biāo),從而激發(fā)學(xué)習(xí)動力。
參與開源,提升實踐能力
中國高校每年錄取的學(xué)生數(shù)量超過500萬人,為巨大數(shù)量的學(xué)生進(jìn)行選題和指導(dǎo)是一個艱巨的任務(wù)。除了依賴高校教師之外,還可以借助開源項目。開源已經(jīng)成為計算機和信息領(lǐng)域知識傳遞的一個主流途徑,互聯(lián)網(wǎng)上的開源項目多不勝數(shù),覆蓋了方方面面。可以讓這些開源項目成為學(xué)校的項目池,鼓勵學(xué)生參加或者創(chuàng)建開源項目。
以開源的方式將自己的工作向全世界公布,可以提升學(xué)生的責(zé)任感和榮譽感。此外,學(xué)生可以從現(xiàn)有的開源代碼和開源文檔中學(xué)習(xí)知識。例如,學(xué)生通過閱讀Linux內(nèi)核代碼,可以學(xué)習(xí)操作系統(tǒng)知識和優(yōu)秀的C語言編碼習(xí)慣;通過閱讀OpenCV代碼,學(xué)習(xí)計算機視覺的知識以及提升C++代碼執(zhí)行效率的方法。
在南方科技大學(xué)的“軟件測試”課程中,我們給學(xué)生提供了一個Android開源APP列表,讓學(xué)生為這些開源APP做軟件測試。課程結(jié)束時,每個學(xué)生都成功地為軟件開發(fā)者提交了BUG分析報告(共提交29份),大部分報告被開源軟件作者接收,相關(guān)意見大都被采納。在這個過程中,學(xué)生的軟件測試能力得到了提升。
學(xué)生也可以在教師的指導(dǎo)下創(chuàng)建一個新的開源項目,每年都有新的學(xué)生往里添磚加瓦。幾年之后,這個項目可能會逐漸成熟,成為一個具有重大價值的項目。中國的學(xué)生數(shù)量是世界上最多的,相信在這種模式下,幾年之后將會誕生一系列有影響力、有價值的開源項目。
企業(yè)參與,促進(jìn)教學(xué)與實際相結(jié)合
計算機領(lǐng)域的技術(shù)在不斷發(fā)展,中國的企業(yè)和開發(fā)者在開源項目中的比重也在逐步提高。企業(yè)對未來的方向比較敏感,因此我們歡迎企業(yè)參與我們的教育,打造開放融合的教育新生態(tài)。筆者曾邀請一家企業(yè)到課堂上介紹企業(yè)軟件開發(fā)、軟件管理以及企業(yè)采用的一些最新的技術(shù),不僅開拓了學(xué)生的眼界,也讓學(xué)生感覺課堂接地氣。大疆公司與南方科技大學(xué)合作舉辦夏令營,對參與的學(xué)生進(jìn)行實踐指導(dǎo),讓學(xué)生接觸最新的機器人技術(shù)。此外,南方科技大學(xué)還設(shè)立了創(chuàng)新創(chuàng)業(yè)學(xué)院,更加系統(tǒng)地引入企業(yè)到學(xué)生培養(yǎng)環(huán)節(jié)中,并對學(xué)生的創(chuàng)業(yè)進(jìn)行支持。
我們可以讓企業(yè)廣泛地參與我們的實踐課程。在具體的操作方式上,可以讓學(xué)生在教師和企業(yè)的共同指導(dǎo)下,就計算機領(lǐng)域未來的方向上對企業(yè)長遠(yuǎn)布局的一些題目進(jìn)行探索。企業(yè)也可以邀請學(xué)生進(jìn)入企業(yè)實習(xí),讓學(xué)生有更多的機會接觸實際運轉(zhuǎn)中的企業(yè),對技術(shù)、企業(yè)和社會有更深刻的理解。此外,企業(yè)還可以為學(xué)生提供資助,例如為學(xué)生提供一筆小的經(jīng)費,鼓勵他們開源代碼;為優(yōu)秀的學(xué)生提供金額高一些的獎學(xué)金等。
教學(xué)和科研互相促進(jìn)
在過去的本科教學(xué)模式下,教學(xué)容易成為科研的負(fù)擔(dān),而教學(xué)和科研本應(yīng)該是一體的。對此,南方科技大學(xué)也做了一些嘗試,例如邀請學(xué)生走進(jìn)教授的實驗室,學(xué)生在教授的指導(dǎo)下,參與實踐或者參與科研。對學(xué)生來說,這樣的參與讓他們知道了為何而學(xué),并且了解了本行業(yè)的前沿動態(tài)。此外,部分優(yōu)秀的學(xué)生還可以產(chǎn)生出高質(zhì)量的科研成果,幫助他們畢業(yè)后去往更有發(fā)展前途的地方。
例如前面提到的“軟件測試”課程中,一位學(xué)生對軟件測試很感興趣,在老師的指導(dǎo)下,他的本科畢業(yè)設(shè)計繼續(xù)做這個方向。隨后,該學(xué)生本科畢業(yè)后在本校繼續(xù)讀碩士,研一時根據(jù)本科課堂的實驗以及后續(xù)的工作撰寫的論文,被CCF-A類會議ICSE接收。又如,學(xué)生通過“操作系統(tǒng)”課程了解了集群計算平臺Spark,通過“數(shù)據(jù)結(jié)構(gòu)”課程體會到算法的重要性。一些學(xué)生對筆者的智慧城市建設(shè)的數(shù)據(jù)可視分析研究方向產(chǎn)生興趣,便參與了實驗室科研,通過在實驗室的科研工作,其中的一位學(xué)生在CCF-A類會議VLDB發(fā)表了demo paper,本科畢業(yè)后繼續(xù)赴香港大學(xué)讀博深造。近一兩年,筆者所在的科研團隊還有學(xué)生發(fā)表了PVLDB full paper、ICSE full paper、SIGIR short paper、VLDB demo paper、ICDE demo paper等。
對于教師來說,這種模式擴充了科研人才池,也激勵了他們對教學(xué)投入更多精力,以吸引優(yōu)秀的本科生參與團隊的工作。
結(jié)論
針對“把教學(xué)場景用起來”,我們根據(jù)南方科技大學(xué)已有的一些教學(xué)實踐,提出由教師和企業(yè)共同指導(dǎo)學(xué)生參與開源項目的教學(xué)模式。在這種模式下,學(xué)生通過參加開源項目實踐,鍛煉自己的實戰(zhàn)能力;企業(yè)可以讓學(xué)生承擔(dān)一部分預(yù)研工作,并通過教育和開源提升企業(yè)在教育界和本行業(yè)的影響力,在學(xué)生心目中樹立更好的形象;開源項目可以有更多開發(fā)者,有利于提高項目質(zhì)量;對教師來說,所選開源項目跟自己的研究方向一致,培養(yǎng)的高質(zhì)量學(xué)生可能會跟自己讀研究生,使教學(xué)不再是負(fù)擔(dān),而是科研所需的生源培養(yǎng);對大學(xué)來說,能夠提高教學(xué)水平與教學(xué)質(zhì)量,打造金牌課程,提升影響力和社會貢獻(xiàn)。我們希望新的模式能夠?qū)⒏鞣椒e極性調(diào)動起來,打造開放融合的教育新生態(tài)。 ■
參考文獻(xiàn):
[1] 包云崗. Matlab:一個教學(xué)小工具為何成為卡脖子利器[OL].(2020-06-21).https://mp.weixin.qq.com/s?__biz=MzI0NzQzMjU3Ng==&mid=2247502025&idx=1&sn=0562a73cd5ff178a300cbe55b0786a4c&scene=21#wechat_redirect.
[2] 于劍. 奇跡之年,我們應(yīng)該怎么做?[J].中國計算機學(xué)會通訊. 2020, 16(8): 7.
總結(jié)
以上是生活随笔為你收集整理的南科大计算机系:将开源和企业引入计算机课程教学的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里云服务器购买该如何选择?阿里云服务器
- 下一篇: React开发(171):处理删除与批量