畢業後,回顧四年學習歷程發現,當時以為的明白,到現在都是那時的不明白。或許是自己的經歷(參加比賽比較多)導致了現在的反思。
本文引用地址:http://www.eepw.com.cn/article/248969.htm但是,回顧那個時候的課程設置,卻都是合理的,並沒有什麼不足,但是又為什麼會現在才意識到它們之間的聯繫。最終的結果是,學了很多門課,很多門孤立的課。不知道它們之間有什麼聯繫。那個時候,又有著要多做比賽,增加實踐經驗的想法。於是很多時間,放在實驗室。
真正對於課程的深入思考就更少了,課堂上明顯的疑惑還會問問老師,更深入的估計是根本就沒有想到。而是想怎麼能將單片機程序調出來,會了幾塊單片機,會用了什麼液晶,會用了什麼傳感器,等等會用了什麼模塊,最後等於都在調試怎麼使用模塊。以及做了多少塊PCB。
可能算深入一些的就是,電路中的電容為什麼這樣使用。看了些高速電路設計,了解了些東西。讀了高質量程序設計,明白了些同學不明白的東西。但是沒有深入進去。也沒有看到課程與課程之間的關係。
那個時候,雖然明白C很重要,但是具體什麼個重要法,不清楚。也沒見到過什麼優秀的C程序,以為自己已經見到的就是很不錯了。(那個時候,沒有了解Linux,沒有分析uCOS,也沒有分析過什麼C的代碼)以為,單片機上也就那麼多東西,再加上中斷。現在想來當時,想的真是簡單。應該說是,連中斷都沒有真正明白過。只不過比周圍的同學,有些概念而已。
以至於雖然有學習C的心思,但是卻又不知道自己到底缺什麼,應該怎樣去補充。
前段時間一個同學,寫了篇關於學習方法的,感覺寫的挺好的。裡邊也是感慨,在需要學習的時候,找不到燈塔,在暴風雨中掙扎了四年,終於看到了一線光亮的時候,大學畢業了。我們的大學就像是一葉在黑暗中前行的孤帆,迷失在汪洋之中。
以至於把大量的時間,放在所謂的比賽上,在實驗室調試電路,調試程序。卻沒有更深入的一步思考。以至於,雖然有有大量的時間,但是卻真正沒有什麼效率。現在看來,如果當時安下心來,好好看幾本運算放大器的書,看看CSAPP,分析分析優秀的C代碼。很多地方是不需要在實驗室花費那麼多的時間的。
但是,我的那位同學是很想學些東西,研究些東西。但是在四年就在找尋中度過了。
當我們專業在大四畢業時,拿同學的話說,我們專業會使用C編程的,拿兩隻手的手指都能數的過來。能夠搭電路的,畫出可以的PCB的,一個手的手指都能數過來。
如果說是少數同學對於專業不感冒,學生難辭其咎;但是當95%的學生對於專業不感冒的時候,這又怎麼說呢?
這裡誠然,有很多地方是我們自己做的不夠好,沒有深入思考什麼;但是反過來,作為老師就沒有需要思考的嗎?
Steve Senturia教授:Engineering is the purposeful use of science. 工程就是對於科學進行有目的性的運用。
當自己大四在公司實習時,下載了MIT的一個公開課視頻電子電路學(6.002)由Anant Agarwal教授主講,這是他們EECS系學生都要學習的一門必修課。以美國對於軟體的分類,MIT這樣做應該是屬於偏硬體類的。當時看了第一集,就發現,自己疑惑了三年的電子信息課程中的聯繫,在這一節課中得到了解答。
於是下載了全套視頻,斷斷續續也只看了20集。但是確實理清了很多,以前沒有想明白的問題,突然清楚了很多。也或許是問題,積累的太久了,有這個導火索,一下子引爆了很多。
畢業後,看了幾本書,系統程式設計師成長計劃,CSAPP,Unix環境高級編程,人有人的用處,運算放大器權威指南,信號完整性與PCB設計。
聆聽了黃敬群先生的一堂講座。分析追蹤了uCOS的部分源碼;分析了Contiki的幾篇論文,了解系統運行機制及通信機制,追蹤了部分代碼。
查看了Linux下,C程序的內存分布,內存使用,堆棧的情況;調試了指針的一些情況。
關注了電子工程專輯上鳳舞天,武華卿,張進東,模擬電子技術等一些熱門博客。在這個過程中,發現大學課程中的聯繫越來越清晰。更感覺自己的大學時間利用效率何其之低。理清思路,按照大學的課程設置來說。
首先,大學的高數,和線性代數,電路計算與分析常用的是微分方程,線性代數也會用到。當然,在上高數的時候,我們的高數老師——牛大田老師,經常跟我們說,信號分析中會用到哪些,經常提醒我們學好微積分,學好傅立葉變換,雖然沒有提到在電路中的應用,但是估計很難找到這樣的高數老師了。
線性代數(同濟版)當時就是行列式變換,具體怎麼應用,不知道。後來看到一本Steven J.Leon教授的線性代數,發現上邊關於在各個學科的應用都有表明。那個時候,都快給變吐的行列式,在這本書中就是,我們電路中應該怎麼來分析電路,怎麼應用在編碼中。悔不當初。我承認,當時對於線性代數理解感覺有些吃力,我自認為還算是努力的,但是還是不行。這點或許要承認,自己的抽象能力不行。當我們的大學擴招後,是不是我們的教材,不要那麼抽象。本來就不好學的課程,我們的教材再恐嚇幾下。等真的學到電路(大二上),學到糾錯編碼(大三下)的時候,估計還記得當時行列式的法則的估計沒有幾個人了,考研的同學估計在這裡也不清楚到底應該怎樣理解。
C語言,早在第一學期,帶著電子部學長的建議,在最後的兩個月,在每天下晚自習後,在實驗室用VC敲了兩個月例程。自認為對於C理解很多了。開學的C二級考的都還可以,當時想再看看C深入的書籍。但是不知道該看什麼了,周圍的學長也沒有更好的建議。在課堂上,教材上的東西,確實彌補了很多以前不注意的地方。雖然自己感覺挺好,但是很多同學對老師反應很強烈。而自己也錯失了,大好的提升C語言的機會。不知道,該找什麼書看。其實這個時候,如果看看《系統程式設計師成長計劃》,《C專家編程》,《CSAPP》,《C陷阱與缺陷》,看看黃靜群先生的《深入淺出Hello world》會很好的。
理解了C語言的深入的東西,大學以後幾年就沒有那麼多煩惱了。單片機沒有那麼神秘了,也不會說uCOS的郵箱機制只能傳送一個變量而沒有什麼用了。使用黃敬群先生說的方法,分析一個作業系統,就會很快明白一個作業系統的大體脈絡。也會明白,C程序在單片機和作業系統下運行的異同。不會糾結裸機編程,與系統編程了。
如果深入看了CSAPP,可能發現數字電路,FPGA的概念這個時候就都有了。
電路原理,數字電路,模擬電路,在MIT6.002中這三個都屬於電路電子學,一起講授。不會發生,學了電路原理,不會分析模擬電路;電路中最重要的零極點,在學模擬的時候沒有一點印象。有印象的是信號與系統中的零極點,但是此時模擬和信號與系統,聯繫上估計很難,更想不到在模擬中會有。模擬中的反饋,和信號與系統的反饋,雖然字一樣,但是也還想不到它們有什麼聯繫。當然,這個時候分析的數字電路是低頻的,模擬電路是理想的,以至於以後學習電磁場與電磁波時,根本就想不到,其實當數字電路頻率高了,模擬電路頻率高了,就是用他們來分析的。以至於學校圖書管裡,信號完整新分析是在通信分類中,而不是在電路分類中。不知道零極點,不知道導納圓圖,不知道阻抗匹配,不知道信號完整性,不知道傳輸線。印象最深的是,在6.002中,Anant Agarwal教授隨堂做的一些實驗,爆炸的電容,電鋸,吹風機這些實際的幹擾源對於數字和模擬電路的影響,反饋在電路中的最用地位。雖然,在學習這些的時候,實驗自己認為做的還算是認真的,都是自己搭的電路,分析的實驗結果。也分析,實驗沒有一次成功的原因。也在數字實驗箱上插過幾百根線的仿真驗證。但是,除了這些,真的不知道為什麼反饋使電路更穩定,什麼樣的幹擾對於電路會產生什麼樣的影響。
《運算放大器權威指南》,《信號完整性分析》,《電晶體電路設計》,《高速電路設計與實踐》應該是基本不錯的書。
微機原理,單片機,EDA,感覺這三個,前兩個在看CSAPP的時候,能解決一大部分了。剩下的就是硬體的連接,這些屬於數字電路的範疇。EDA應該也屬於數字電路裡邊的。
通信電子電路,模擬電路的升級版,外加調製,解調。
通信原理,應該說是自己大學沒學好的一門課。當時準備Freescale比賽,沒有好好學。現在想來,是很重要的一門課。信息的概念,信道的概念,傳輸速率,調製,解調,糾錯編碼。應該是對大學期間,學習的這些的一個理論上的總結。現在只能有一些印象,可能有些內容連印象都沒有了。
數據通信與網絡,如果說它沒有一點用,看看我們現在用的是什麼,就知道有沒有用了。基本的網際網路,以後的物聯網,雖然,它的確沒講多少,至少給我們開了扇門。要比我們,以後繼續在黑夜中行走要好得多。
當然這裡所列的,對於信號的處理涉及的並不多,因為自己主要偏向於應用。對於信號處理,著力就不多。隨機信號分析,數位訊號處理,圖像信號處理,語音信號處理,這些了解不多。
一個糾結了幾年的問題,反饋問題,在參加Freescale比賽的時候,使用到PID控制,隱約感到這裡的反饋,與電路中的反饋有什麼聯繫。電路中有正反饋,負反饋。和信號與系統中的反饋有些聯繫,也與控制原理中的反饋有聯繫。但是只是猜測。後來不知道在哪看到維納的《控制論》評論說是,控制方面的開山作。雖然崇拜,但是買不到,據說也不好讀,裡邊很多公式。於是乎找到了維納的另一本書《人有人的用處》,據說是《控制論》的科普版。饒是如此,看的時候依然有些困難。因為翻譯的比較早,總感覺理解起來,得琢磨一會。但是,裡邊確實將反饋提到系統裡邊來說明。只要是一個系統,就存在反饋。而且負反饋導致系統穩定。於是乎,就想起來了,當年的信號與系統,電路系統,控制系統,應該說他們的反饋機制都是一樣的。後來在《運算放大器權威指南》中看到,裡邊將電路的反饋和控制原理的反饋比較分析,發現形式一模一樣,只是由原來的控制原理的術語,換成了電壓電流。至此糾結了幾年的問題,徹底解決了。
在鳳舞天的一個博客中看到說,國內的環境註定了,我們不能把東西都掌握了再去做東西,那樣黃花菜都涼了。但是如果沒有掌握理論,做出來的東西也就只能在國內賣。這個值得思考一下。
linux作業系統文章專題:linux作業系統詳解(linux不再難懂)