我見(jiàn)過(guò)很多數(shù)學(xué)系的學(xué)生,認(rèn)為自己編程能力不行,說(shuō)自己不是編程的那塊料,每每遇到需要編程的任務(wù),心里就犯難。即使那些稍微有點(diǎn)勇氣的學(xué)生,下定決心硬著頭皮上,也往往收效甚微,成長(zhǎng)緩慢。
這不是一個(gè)正常的現(xiàn)象。因?yàn)閿?shù)學(xué)系的學(xué)生,在經(jīng)過(guò)了幾年的學(xué)習(xí)和訓(xùn)練后,是應(yīng)該具備相當(dāng)程度的結(jié)構(gòu)化、定量化的抽象邏輯思維能力,并且能夠借助數(shù)學(xué)的思想和方法,熟練使用數(shù)學(xué)語(yǔ)言來(lái)刻畫(huà)問(wèn)題、構(gòu)造解決方案。對(duì)于受過(guò)良好訓(xùn)練的數(shù)學(xué)系學(xué)生來(lái)說(shuō),所謂編程,本質(zhì)上就是把用數(shù)學(xué)語(yǔ)言描述的解決方案“翻譯”為程序代碼而已。數(shù)學(xué)和計(jì)算機(jī)編程本來(lái)就是天作之合,有數(shù)學(xué)背景的學(xué)生應(yīng)該具備很大的優(yōu)勢(shì)和潛力來(lái)學(xué)好編程。
我一直認(rèn)為,能同時(shí)掌握數(shù)學(xué)語(yǔ)言和計(jì)算機(jī)編程語(yǔ)言的人,到高校一定是科研能手,到公司一定是業(yè)務(wù)骨干。但現(xiàn)實(shí)卻是,很多大學(xué)的數(shù)學(xué)院系,仍在不斷培養(yǎng)大量害怕編程的學(xué)生。如果去問(wèn)數(shù)學(xué)系的學(xué)生將來(lái)要找什么工作,很多人的第一個(gè)想法就是當(dāng)一名老師。如果問(wèn)關(guān)于數(shù)學(xué)研究的事情,他們非常自然地認(rèn)為證明分析就是數(shù)學(xué)研究的全部?jī)?nèi)容。
數(shù)學(xué)系的畢業(yè)生有很多去了學(xué)校,或者金融、互聯(lián)網(wǎng)這些來(lái)錢(qián)快的行業(yè)。而在中國(guó)需要數(shù)學(xué)重點(diǎn)支撐的科學(xué)計(jì)算與工業(yè)軟件領(lǐng)域,我們會(huì)發(fā)現(xiàn)數(shù)學(xué)背景出身的人寥寥無(wú)幾。學(xué)生不愿去的直接原因,一方面是對(duì)自己編程能力和學(xué)習(xí)潛力沒(méi)有信心;另一方面對(duì)數(shù)學(xué)如何應(yīng)用到科學(xué)計(jì)算和工業(yè)軟件領(lǐng)域也沒(méi)有什么概念,對(duì)于實(shí)際工業(yè)應(yīng)用背景更是知之甚少,缺乏將數(shù)學(xué)語(yǔ)言自如轉(zhuǎn)換為應(yīng)用領(lǐng)域語(yǔ)言的能力。
當(dāng)前國(guó)產(chǎn)科學(xué)計(jì)算和工業(yè)軟件遠(yuǎn)遠(yuǎn)落后于西方發(fā)達(dá)國(guó)家,在總體上存在基礎(chǔ)薄弱、創(chuàng)新不足、人才短缺和應(yīng)用困難等問(wèn)題,被結(jié)結(jié)實(shí)實(shí)地“卡”著脖子。而要解決這一嚴(yán)峻的問(wèn)題,培養(yǎng)大量既懂應(yīng)用數(shù)學(xué) 、又懂計(jì)算機(jī)編程和應(yīng)用物理的綜合型人才,并引導(dǎo)他們進(jìn)入科學(xué)計(jì)算和工業(yè)軟件領(lǐng)域,是當(dāng)下亟需做的事情。(鄂維南院士在《人工智能時(shí)代交叉科學(xué)的人才培養(yǎng)》一文中對(duì)算法時(shí)代如何培養(yǎng)人才有更深入細(xì)致的闡述)
那么,我們當(dāng)前的數(shù)學(xué)教育已經(jīng)做好培養(yǎng)這些綜合性人才的準(zhǔn)備了嗎?依目前的情況來(lái)看,顯然沒(méi)有。數(shù)學(xué)系的學(xué)生,在數(shù)學(xué)、編程和數(shù)學(xué)應(yīng)用之間的自我懷疑、彷徨、痛苦和掙扎,并不是一種偶然現(xiàn)象,而大學(xué)數(shù)學(xué)科研和人才培養(yǎng)體制機(jī)制的僵化就是造成這種現(xiàn)象的一個(gè)外部客觀原因。
時(shí)至今日,在很多大學(xué)的數(shù)學(xué)系中,計(jì)算機(jī)編程教學(xué)依然是以教授語(yǔ)法知識(shí)為主,對(duì)數(shù)學(xué)核心課程的支撐也僅僅停留在商業(yè)軟件的使用上,幾乎沒(méi)有關(guān)于編程原則、方法、技能和生產(chǎn)力工具的教學(xué)內(nèi)容。
為什么只是教教編程語(yǔ)法?因?yàn)槌袚?dān)編程教學(xué)的師資,大部分還是數(shù)學(xué)系出身,基本沒(méi)有受過(guò)正規(guī)的計(jì)算機(jī)編程訓(xùn)練。而且目前高校的這種以“數(shù)數(shù)”為主的評(píng)價(jià)機(jī)制,讓承擔(dān)編程教學(xué)的老師即使有心,也不太可能把大量時(shí)間花在學(xué)習(xí)提高自己編程能力、搞好編程教學(xué)的事情上。在師資的引進(jìn)和培養(yǎng)上,大多學(xué)校還是以“戴帽子”的人為主,至于實(shí)際需要什么樣的師資來(lái)為國(guó)家、社會(huì)培養(yǎng)更有用的人才,往往考慮的不夠深入全面。所以,從我上大學(xué)到現(xiàn)在,整整 20 年了,大部分?jǐn)?shù)學(xué)系的計(jì)算機(jī)編程教育,依然沒(méi)有什么變化,而且預(yù)計(jì)在將來(lái)可見(jiàn)的很長(zhǎng)一段時(shí)間內(nèi),整體上也不會(huì)有什么實(shí)質(zhì)性的變化。
(原文鏈接:https://mp.weixin.qq.com/s/vB0qAz2e1QmNMKnBGitEYw)