我和你有過類似的困惑,而且這些困惑往往在寫不出作業或者期末複習的時候冒出來:我是計算機學院的,以後就是要當一個程式設計師而不是物理學家,為什麼要學大學物理?我以後估計怎麼都不會碰密碼學,為什麼要學代數結構和數理邏輯?圖形學這東西我這輩子可能都不會碰,為什麼還要花時間弄懂這天書一樣的公式?
當時學得很痛苦,也不是特別感興趣,特別是考試要考薛丁格方程,什麼勢井的時候那種頭大的感覺我還記憶猶新。帶著這些情緒去學,這些課程我都學得懵懵懂懂,我的相關課程的成績都不是特別好看。這主要是自己對大學培養目標的期待與大學培養人才目標的差異導致的。
大學培養人才的目標,跟技校相比不是熟練的某個技術方向的技術工人,而是素質更全面的「通才」,甚至可以說是「科學家」。而我,最開始我認為計算機系培養的應該是一群程式設計師,能解面試題,做漂亮的前端,寫高效的後臺,混口飯吃就差不多了。
後來我發現,那些技能,其實技校的人也都在學,還做得比我好,因為他們不需要花太多時間在跟程序開發本身「沒有關係」的事情上面,做的都是實用性的事情。那時候我就開始思考,到底大學出來的學生,跟技校出來的學生,甚至是主要以就業為導向的學校出來的學生,能有什麼差別?
直到之後我的一些經歷讓我明白,原來大學物理中的一些方法和思維方式,恰恰是在各個領域都通用的方法,不僅僅是工作,也有生活。當然,不僅僅是物理,任何學科的技能和方法都可能對我們有所幫助,但物理是用作高等教育應該是最合適的,跟化學生物相比,整個體系更具體和嚴謹。
李開復先生在自傳《世界因你而精彩》中,有一句話[1]多多少少有點這個意思:
教育的本質是什麼?當我們將在學校所學的一切全部忘記,剩下的就是教育的本質。
同時,大學物理能夠讓你在一個你接觸了若干年的領域系統地訓練你使用現代數學工具:線性代數、微積分和統計學,這些東西軟體領域有廣泛應用,卻很難再找到如大學物理這樣的訓練體系的替代品,也不是很有必要。
從幾個簡單的例子入手吧。
我女朋友租的房子裡有一臺新安裝的燃氣熱水器,將水燒熱之後通過管道輸送到洗手間,再跟冷水混合到一起之後,得到溫水輸出,水溫的調控是通過出水段如下圖所示的閥門控制冷熱水混合比例達到的。
然而這個熱水器有一個奇怪的問題,就是每次閥門由熱水向冷水調節只要超過一個位置,它就會熄火。由於即便是最低檔的水溫出水還是太熱,我女朋友沒辦法洗澡,叫房東來了幾次也無濟於事(房東聲稱這是新的熱水器,也叫了售後來,表示沒有問題)。
無奈只能自己動手解決問題。我首先把水閥卸了開始尋找原因,發現水閥連接處牆壁內的水管有一處彎折,因此熱水出水口非常窄,這導致熱水出水的水壓比較低。而閥門冷熱水是連通的,根據多年使用燃氣熱水器的經驗,我推測應該是由於熱水管那個窄口的存在,導致本來就水壓本來就比較低的熱水在與冷水水管連通後,熱水器內水流量過小為了避免內部過熱而啟動的熄火保護。
注意我上面這段分析,都是自然而然的從腦子裡流出來的,就像常識一樣,但是我女朋友卻做不到,因為她學的是文科,不知道伯努利方程,連通器的性質也忘記的差不多了,更重要的是一般文科不太需要這樣的建模過程,而這種事情我們在解物理題的時候做得太多了,不是麼?飛行的滑塊,偏轉的電子,飽和的電容……
(應女朋友要求加入此段:答主為了襯託自己的理科生邏輯性強的優越感,強行把女朋友描述成毫無常識的傻白甜,對於女朋友本身聰明伶俐的形象造成極大的影響,特此澄清和說明。)
這就是五年的中學物理學習加上大學物理訓練出來的分析思維——水流經過熱水器再出水的整個過程被抽絲剝繭簡化成一個腦海中的模型,然後分析出原因所在。
分析完了還要解決問題,熱水器的火力開關已經開到最小,水流已經開到最大,出水管道在牆內不能更換,水壓也不受控制,怎麼辦?
最後我的解決辦法是把燃氣閥門從全開的狀態打到半開,減小進氣量,問題成功解決,從此女朋友愉快地洗上了熱水澡。
自始至終,這些想法都是自然而然的一種內化的能力,而這時候我才發現,沒有經過物理思維訓練的人,是很難做到這樣的分析過程的。
還有一個生活中的例子。
女朋友搬新家,買了一個新床,來幫裝床的是個小夥子。床板的連接處是用如下圖所示的釘子連接起來的,當然床板的釘是要比這個長一點,當時我還不知道這個東西叫做自攻釘,只知道這是螺釘。
那個小夥子應該是新來的,發現床板忘記打孔了,他就開始強行擰,累得滿頭大汗。我在一邊觀察這個螺絲釘頭是平的,底部是尖的,就給他提建議說,你可以用錘子敲進去一點,再開始擰。他試了試,果然好使,效率倍增。最後他感嘆了一句:「哎呀,還是你們上過大學的人腦子好使。」
我想看到這個螺釘的形狀很多人能夠和我有一樣的反應——它就應該是這樣用的。但是這後面蘊藏的是什麼,可能很多人沒有仔細想過。這後面有壓強、摩擦力、斜面等等物理概念。
經驗給了我感性的認知,物理公式和模型給了我理性的理解,然後我二者內化成了一種能力,在碰到類似的問題的時候就自然而然地從腦海中流淌出來,很多時候,我自己都意識不到,覺得這是常識,直到我發現別人做不到的時候,我才知道,原來這是那些看似「與專業無關」的學習和訓練帶來的能力。
前面兩個都是生活中的例子,提出來是因為可能沒有計算機基礎的人也能夠更容易理解。題主既然是軟體學院的,想必一定知道軟體工程師絕不僅僅是「搞安卓的」和「做網站的」,太空梭、機器人、視頻監控等等領域都有大量的軟體工程師,而這些位置的工程師,只會「寫代碼」是遠遠不夠的,還需要了解現代常用的數學工具:線性代數、微積分、統計學,這三個數學分支構成了現在非常火的機器學習的基礎。而這些知識,從數學課上學到的往往非常理論,不直觀,可能很多公式你學過了就忘記了。而實踐它們的最佳領域是哪裡?當然是物理!因為作為一個理工科的學生,你在中學已經有了足夠的解題經驗和認知基礎,你更容易在熟悉的問題上使用一個全新的數學工具。就好比,微元法和微積分本質上都是一個東西,但是卻是兩種截然不同的角度。
接下來我要講的是我最近碰到的機器視覺方面的一個問題。
這個學期我上了我們學校的計算機視覺課程,都做的是一些有趣的問題。由於老師是機器人系的,所以涉及到很多機器視覺的東西。一個有趣的作業就是:如何通過兩個已知位置的相機拍攝的圖片,對目標物體進行 3D 重構,這是 3D 電影的基礎,這就是讓你能夠看到栩栩如生的《阿凡達》、《少年派》的看似無用的大學物理理論所涉及的一個點。
上圖吧:
左右兩張圖是同一個物體從不同角度拍攝的圖片。他們重構的結果是這樣的:
可惜時間太緊我沒有時間加上紋理,不然一定更酷炫。
抱歉了,可能有的朋友需要自行搭梯子,我這裡放個截圖吧:
這裡面就大量應用到了坐標系變換——這恰恰是中學物理和大學物理裡面區別最大的地方:中學物理訓練的是分析過程,不管什麼方法,解出來就好。而大學物理則更進一步,則需要系統化、標準化的分析流程和建模,比如說,全程使用矩陣求解。這就是為什麼你看到大學物理裡面力學的開始章節仿佛在侮辱你的智商——高中都不會出這麼蠢的題。然而那些只是訓練向量計算過程的題目——這恰恰是中學裡面很少有的。
下面是這次作業的一個理論題,應用的原理非常簡單,只需初中的平面鏡成像,以及高中的立體幾何足矣。
示意圖是我自己畫的,這是我畢生所學的繪畫技巧,太醜還請見諒!
這個題放給一個初中生,只要搞清楚了相關概念列出公式是一定能夠證明出來的。但是我相信絕大部分的中學生都做不出這樣的證明:
這是什麼區別,一個比較直觀的類比是,這類似於解雞兔同籠問題的時候,小學算術法跟中學代數法的區別——從數學工具上說,中學的方法更抽象,更通用。可能對於目前這個問題,兩種方法都能夠得到更正確的答案,但是求解更難更複雜的問題,強大數學工具往往能夠助你一臂之力。
如果說上面都是物理訓練思維和數學工具的話,那下面這個例子則更有趣,是物理理論跟計算機理論的直接關聯。
現在自然語言處理技術的應用非常廣泛,其中包括所謂的輿情分析、機器翻譯、垃圾郵件檢測等等。而這些技術一個很重要的基礎就是資訊理論。
說到資訊理論,沒有人不知道香農。資訊理論裡面很重要的一個概念就是熵。然而熵最開始的定義是從物理學裡面來的,香農收到啟發,將它應用到了資訊理論。而根據維基百科中的描述:
根據 Jaynes(1957)的觀點,熱力學熵可以被視為香農信息理論的一個應用:熱力學熵被定義為與要進一步確定系統的微觀狀態所需要的更多香農信息的量成比例。比如,系統溫度的上升提高了系統的熱力學熵,這增加了系統可能存在的微觀狀態的數量,也意味著需要更多的信息來描述對系統的完整狀態。
資訊理論中的熵又反過來推動了熱力學對熵的理解。可見,現代科學體系並不是獨立的,割裂的,而是相通的。
再說個有趣的例子吧,雖然這並不是大學物理裡教的。
相信很多人都聽說過分形學,Matrix67 的博客裡有大量關於分形的文章,比如 7 個分形圖形的動畫演示。
下面就是一個常見的分形圖形,雪花,非常美吧:
可是它可不僅僅是美而已。
我不太了解分形的物理學成因,但是由於它自相似的性質,在資料庫領域,分形具有重要的作用。這個學期我上了一門多媒體資料庫和數據挖掘的課程,老師是 H-Index 高達 107 的大神。他在講課的時候就花了很長的時間講分形和分形維數,剛開始我也十分不理解,後來去翻了他說的論文才恍然大悟:
在存儲坐標的時候,為了兼顧查詢和插入效率,出現了 Quad- 樹,KD 樹的數據結構,這些數據結構的複雜度分析就用到了分形學中 Hausdorff Dimension 和 Minkowski–Bouligand Dimension 的分析方法。具體細節就不在這裡展開了。
更別說微積分、傅立葉變換等等了,這些在圖像,聲音領域,用得太多太多,但是你要讓一個從未接觸過數字語音圖像的人上課聽這些應用,多半是聽不懂的,而大學物理恰恰是最好的練兵場。
當然,不僅僅是這些。就以我的本科學校為例,我們的課程開設有理論課和實驗課。
當初寫實驗報告的時候,我們本科的要求格外變態。實驗數據必須現場獲取,現場有老師籤字,不許有任何修改,做出來是什麼樣就是什麼樣。不符合預期的統統在報告裡分析,如果實在差得離譜的自己下課找時間重做,作圖必須手繪,用作圖紙。
這課程消耗的時間,幾乎是我那個學期花在學習上的時間的一半,遠遠超過專業課程。當時我非常的不理解,學計算機的,為什麼要手繪報告?為什麼要分析液氮和扭稱?為什麼要花這麼長的時間分析實驗過程?別人做過千百次的實驗,為什麼我做不對了我還要花那麼多時間去重做?
但是,後來我才慢慢意識到,正是因為有了這樣看似枯燥無聊費時費力的訓練,我才能夠在生活和學習中具備像前面分析熱水器那樣的分析能力。
程序 Debug,你做過吧?計算機系的女生說,能夠幫人 Debug 的男生最帥了,於是真的有很多很多人,De 著 De 著 Bug 就 De 成了男朋友。其實,Debug 的過程,跟你做實驗時候實驗結果不符合預期的過程是非常相似的:都是在一個龐雜的系統中,根據結果提供的信息,逆向分析可能出錯的原因,同樣費時費力、同樣考驗耐心。這樣的能力對於一個剛剛會寫 Hello World 的學生來說,讓他在一個大工程裡訓練不現實,但是讓他在物理實驗裡面訓練卻是可行的——因為他已經當了好多年的理科生,做過好多好多類似的物理實驗。
另外,設計實驗也是非常重要的技能。雖然我沒有實際的工作經驗,但是我想真正做起來應該差不多。在產品經理的崗位上,往往需要去做一些用戶需求的調查,用戶實驗的測試,這時候物理實驗裡面那些建模和分析方法就能夠起到作用了。
科學知識是人類智慧的結晶,最好還是不要用「有用」和「無用」這樣功利的心態去看待它。數學家們發展線性代數的時候,也沒有想到日後會被海森堡用到量子力學裡;黎曼發展黎曼幾何學的時候,也沒有想到會被愛因斯坦用到廣義相對論;數學家們研究凸優化的時候,也沒有想過最後竟然會成為機器學習裡的一把寶劍……
我在實習的時候,做過一個項目,是把類似 bash 語法的機器集群配置文件解析出來,可視化其中的數據通信依賴,然後進行可視化編輯。一年之後,當時一起實習現在已經是員工的同事告訴我,我寫的配置文件解析器因為某個符合 bash 語法但是不符合配置文件規範的手寫的配置文件掛了。現在回想起來,最大的缺憾是當時做配置文件解析的時候,還沒有深入理解編譯原理中 Parser 的工作方法,用了非常粗暴的刪空格換行等規則式的格式化方法,而且還因為語法五花八門而 debug 了很久。要是當初能夠寫個狀態機,那規則會簡單很多,而且理論上只要符合 bash 語法的應該都可以解析正確。
這是另外一個話題了,意識到這個,還是因為我 Linkedin 的面試面掛了,然後一個同學告訴了我這樣一個解法:你有哪些對當初學習的「沒用的知識」恍然大悟甚至受益的經歷? – 知乎用戶的回答
瞬間,數字電路、狀態機、字符串匹配……相關的東西全部湧現出來。大概打通任督二脈就是這樣的感覺。我想,所謂的融會貫通,大致如此。
中國的高等教育,雖然跟先進的國家相比還是很有差距,但是我相信在大方向上還是高瞻遠矚的,只是具體的細節和實施上,實在有點慘不忍睹,所以才會讓學生產生厭惡和困惑。
在國內,我最大的感受是,學的理論跟實踐割裂得太厲害,老師授課水平或者精力有限:有的講課老師甚至自己都還沒有完全弄清楚課程的內容,有的老師則是自己很清楚,卻不知道怎麼講清楚。還有一個問題是,教材寫得太「蘇式」了。上來就是一大版結論和證明,從來不告訴你為什麼這麼搞,這麼弄有什麼用,如果老師講得好,那就是考完忘;如果老師講得不好,考試都成困難,然後老師只能考試放水。該學好的東西沒有學好,最後用到了還得回頭補。而「美式」的教材則基本是按照能讓讀者自學的標準把每一個問題講清楚的,微積分的來龍去脈、實際問題中的應用,等等。
相比之下,美國頂尖大學就好一點,起碼對於抄襲的容忍度很低,助教的作用很大,課程設計比較成體系,教材寫的比較生動適合自學。
所以我建議題主,既然開設了這門課,就儘量好好學,技多不壓身。說不定哪一天就能對你的生活和工作帶來莫大的幫助,或許能讓你在職業的道路上走得更遠。復旦人總愛「裝逼」地說,他們是「自由而無用的靈魂」,但往往由於寬鬆的環境,變成了「自由而沒用」。在我的理解中,「自由而無用」指的是祛除功利的念頭,腳踏實地的學習,不管所學的東西在所能預料的範圍內能否給自己產生好處,去追求純粹的知識,而非有用的知識。無用之用,或許方為大用。
以上,就是我對大學裡基礎學科設置和學習的一些粗淺的理解和思考,希望能夠對你有所幫助,也希望有類似經歷的同學來多多交流一下類似的經驗。
好久沒寫這麼長的文章了,不過也算是把我積累的一些思考全部吐了出來。多年不寫長文不知道是不是寫的很雜亂,如果能夠有人從中得到啟發或者幫助,那我就很高興了。
Note:
[1] @劉桐指出,這句話是愛因斯坦先說的,原話是「在學校所學的一切全都忘記之後,還剩下來的才是教育。