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