- 相關(guān)推薦
計算機科學與技術(shù)學習心得
從網(wǎng)絡上找到的一篇文章,希望對計算機專業(yè)有疑惑的同學讀讀。計算機科學與技術(shù)學習心得撰文曾毅
計算機科學與技術(shù)這一門科學深深的吸引著我們這些同學們,上計算機系已經(jīng)有近三年了,自己也做了一些思考,原先不管是國內(nèi)還是國外都喜歡把這個系分為計算機軟件理論、計算機系統(tǒng)、計算機技術(shù)與應用。后來又合到一起,變成了現(xiàn)在的計算機科學與技術(shù)。
司徒彥南提到:我一直認為計算機科學與技術(shù)這門專業(yè),在本科階段是不可能切分成計算機科學和計算機技術(shù)的,因為計算機科學需要相當多的實踐,而實踐需要技術(shù);每一個人(包括非計算機專業(yè)),掌握簡單的計算機技術(shù)都很容易(包括原先Major們自以為得意的程序設(shè)計),但計算機專業(yè)的優(yōu)勢是:我們掌握許多其他專業(yè)并不"深究"的東西,例如,算法,體系結(jié)構(gòu),等等。非計算機專業(yè)的人可以很容易地做一個芯片,寫一段程序,但他們做不出計算機專業(yè)能夠做出來的大型系統(tǒng)。
今天我想專門談一談計算機科學,并將重點放在計算理論上。
在我大一時無意中找到了南京大學網(wǎng)友sir的帖子"胡侃(理論)計算機學習",這個帖子對我大學學習起到了至關(guān)重要的指導作用,我在這篇文章成文的時候正是基于sir的文章做得必要的補充和修改,并得到了sir的支持。再有就是每次和本系司徒彥南兄的交談,都能從中學到很多東西,在這份材料中也有很多體現(xiàn)。這份材料是我原來給學弟學妹們?nèi)雽W教育的講稿之一,原有基礎(chǔ)上改進了其中我認為不太合適的理論,修正了一些觀點,在推薦教材方面結(jié)合我的學習情況有了較大改變。值得一提的是增加了一些計算機理論的內(nèi)容,計算機技術(shù)的內(nèi)容結(jié)合我國的教學情況和我們學習的實際情況進行了重寫。這里所作的工作也只是將各位學長和同學們的學習體會以及我在學習計算機科學時的所思所想?yún)R總在一起寫了下來,很不成熟。目的就是希望能夠給一些剛?cè)雽W或者是學習計算機科學還沒有入門的同學以一些建議。不期能夠起到多大的作用,但求能為同學們的學習計算機科學與技術(shù)帶來微薄的幫助。還是那句話,計算機科學博大精深,我只是個初學者,不當之處希望大家批評指正。
1、計算機理論的一個核心問題--從數(shù)學談起:
[1]高等數(shù)學Vs數(shù)學分析
記得當年大一入學,每周四課時高等數(shù)學。我國計算機科學系里的傳統(tǒng)是培養(yǎng)做學術(shù)研究,尤其是理論研究的人(方向不見得有多大的問題,但是做得不是那么盡如人意)。而計算機的理論研究,如網(wǎng)絡安全學,圖形圖像學,視頻音頻處理,哪個方向都與數(shù)學有著很大的關(guān)系。這里我還想闡明我的一個觀點:我們都知道,數(shù)學是從實際生活當中抽象出來的理論,人們之所以要將實際抽象成理論,目的就在于想用抽象出來的理論去更好的指導實踐,有些數(shù)學研究工作者喜歡用一些現(xiàn)存的理論知識去推導若干條推論,殊不知其一:問題考慮不全很可能是個錯誤的推論,其二:他的推論在現(xiàn)實生活中找不到原型,不能指導實踐。嚴格的說,我并不是一個理想主義者,政治課上學的理論聯(lián)系實際一直是指導我學習科學文化知識的航標(至少我認為搞計算機科學與技術(shù)的應當本著這個方向)。
其實我們計算機系學數(shù)學僅學習高等數(shù)學是不夠的(典型的工科院校一般都開的是高等數(shù)學),我們應該像數(shù)學系一樣學一下數(shù)學分析(清華計算機系開的好像就是數(shù)學分析,我們學校計算機學院開的也是,不過老師講起來好像還是按照高等數(shù)學講),數(shù)學分析這門科學,咱們學計算機的人對它有很復雜的感情。在于它是偏向于證明型的數(shù)學課程,這對我們培養(yǎng)良好的分析能力和推理能力極有幫助。我的軟件工程學導師北工大數(shù)理學院的王儀華先生就曾經(jīng)教導過我們,數(shù)學系的學生到軟件企業(yè)中大多作軟件設(shè)計與分析工作,而計算機系的學生做程序員的居多,原因就在于數(shù)學系的學生分析推理能力,從所受訓練的角度上要遠遠在我們平均水平之上。當年出現(xiàn)的怪現(xiàn)象是:計算機系學生的高中數(shù)學基礎(chǔ)在全校數(shù)一數(shù)二(希望沒有冒犯其它系的同學),教學課時數(shù)也僅次于數(shù)學系,但學完之后的效果卻不盡如人意。難道都是學生不努力嗎,我看未見得,方向錯了也說不一定,其中原因何在,發(fā)人深思。
Sir的文章中提到:我個人的淺見是:計算機系的學生,對數(shù)學的要求固然跟數(shù)學系不同,跟物理類差別則更大。通常非數(shù)學專業(yè)的所謂"高等數(shù)學",無非是把數(shù)學分析中較困難的理論部分刪去,強調(diào)套用公式計算而已。而對計算機系來說,數(shù)學分析里用處最大的恰恰是被刪去的理論部分。說得難聽一點,對計算機系學生而言,追求算來算去的所謂"工程數(shù)學"已經(jīng)徹底地走進了誤區(qū)。記上一堆曲面積分的公式,難道就能算懂了數(shù)學?
那倒不如現(xiàn)用現(xiàn)查,何必費事記呢?再不然直接用Mathematica或是Matlab好了。退一萬步講,即使是學高等數(shù)學我想大家看看華羅庚先生的《高等數(shù)學導論》也是比一般的教材好得多。華羅庚在數(shù)學上的造詣不用我去多說,但是他這光輝的一生做得我認為對我們來說,最重要的幾件事情:首先是它籌建了中國科學院計算技術(shù)研究所,這是我們國家計算機科學的搖籃。在有就是他把很多的高等數(shù)學理論都交給了做工業(yè)生產(chǎn)的技術(shù)人員,推動了中國工業(yè)的進步。第三件就是他一生寫過很多書,但是對高校師生價值更大的就是他在病期間在病床上和他的愛徒王元寫了《高等數(shù)學引論》(王元與其說是他的愛徒不如說是他的同事,是中科院數(shù)學所的老一輩研究員,對歌德巴赫猜想的貢獻全世界僅次于陳景潤)這書在我們的圖書館里居然找得到,說實話,當時那個書上已經(jīng)長了蟲子,別人走到那里都會閃開,但我卻格外感興趣,上下兩冊看了個遍,我的最大收獲并不在于理論的闡述,而是在于他的理論完全的實例化,在生活中去找模型。這也是我為什么比較喜歡具體數(shù)學的原因,正如我在上文中提到的,理論脫離了實踐就失去了它存在的意義。正因為理論是從實踐當中抽象出來的,所以理論的研究才能夠更好的指導實踐,不用于指導實踐的理論可以說是毫無價值的。
我在系里最愛做的事情就是給學弟學妹們推薦參考書。沒有別的想法,只是希望他們少走彎路。中文的數(shù)學分析書,一般都認為以北大張筑生老師的"數(shù)學分析新講"為最好。張筑生先生一生寫的書并不太多,但是只要是寫出來的每一本都是本領(lǐng)域內(nèi)的杰作,這本當然更顯突出些。這種老書看起來不僅是在傳授你知識,而是在讓你體會科學的方法與對事物的認識方法。萬一你的數(shù)學實在太好,那就去看菲赫金哥爾茨?quot;微積分學教程"好了--但我認為沒什么必要,畢竟你不想轉(zhuǎn)到數(shù)學系去。吉米多維奇的"數(shù)學分析習題集"也基本上是計算型的書籍。書的名氣很大,倒不見得適合我們,還是那句話,重要的是數(shù)學思想的建立,生活在信息社會里我們求的是高效,計算這玩意還是留給計算機吧。不過現(xiàn)在多用的似乎是復旦大學的《數(shù)學分析》,高等教育出版社的,也是很好的教材。
Sir的文章中提到:中國的所謂高等代數(shù),就等于線性代數(shù)加上一點多項式理論。我以為這有好的一面,因為可以讓學生較早感覺到代數(shù)是一種結(jié)構(gòu),而非一堆矩陣翻來覆去。這里不得不提南京大學林成森,盛松柏兩位老師編的"高等代數(shù)",感覺相當舒服。此書相當全面地包含了關(guān)于多項式和線性代數(shù)的基本初等結(jié)果,同時還提供了一些有用的又比較深刻的內(nèi)容,如Sturm序列,Shermon Morrison公式,廣義逆矩陣等等?梢哉f,作為本科生如能吃透此書,就可以算是高手。國內(nèi)較好的高等代數(shù)教材還有清華計算機系用的那本,清華出版社出版,書店里多多,一看就知道。從抽象代數(shù)的觀點來看,高等代數(shù)里的結(jié)果不過是代數(shù)系統(tǒng)性質(zhì)的一些例子而已。莫宗堅先生的《代數(shù)學》里,對此進行了深刻的討論。然而莫先生的書實在深得很,作為本科生恐怕難以接受,不妨等到自己以后成熟了一些再讀。
正如上面所論述的,計算機系的學生學習高等數(shù)學:知其然更要知其所以然。你學習的目的應該是:將抽象的理論再應用于實踐,不但要掌握題目的解題方法,更要掌握解題思想,對于定理的學習:不是簡單的應用,而是掌握證明過程即掌握定理的由來,訓練自己的推理能力。只有這樣才達到了學習這門科學的目的,同時也縮小了我們與數(shù)學系的同學之間思維上的差距。
[2]計算數(shù)學基礎(chǔ)
Sir的文章中提到:概率論與數(shù)理統(tǒng)計這門課很重要,可惜大多數(shù)院校講授這門課都會少些東西。少了的東西現(xiàn)在看至少有隨機過程。到畢業(yè)還沒有聽說過Markov過程,此乃計算機系學生的恥辱。沒有隨機過程,你怎么分析網(wǎng)絡和分布式系統(tǒng)?怎么設(shè)計隨機化算法和協(xié)議?據(jù)說清華計算機系開有"隨機數(shù)學",早就是必修課。另外,離散概率論對計算機系學生來說有特殊的重要性。而我們國家工程數(shù)學講的都是連續(xù)概率。現(xiàn)在,美國已經(jīng)有些學校開設(shè)了單純的"離散概率論"課程,干脆把連續(xù)概率刪去,把離散概率講深些。
我們不一定要這么做,但應該更加強調(diào)離散概率是沒有疑問的。這個工作我看還是盡早的做為好。
計算方法學(有些學校也稱為數(shù)學分析學)是最后一門由數(shù)理學院給我們開的課。一般學生對這門課的重視程度有限,以為沒什么用。不就是照套公式嘛!其實,做圖形圖像可離不開它,密碼學搞深了也離不開它。而且,在很多科學工程中的應用計算,都以數(shù)值的為主。
Sir的文章中提到:這門課有兩個極端的講法:一個是古典的"數(shù)值分析",完全講數(shù)學原理和算法;另一個是現(xiàn)在日趨流行的"科學與工程計算",干脆教學生用軟件包編程。
我個人認為,計算機系的學生一定要認識清楚我們計算機系的學生為什么要學這門課,我是很偏向于學好理論后用計算機實現(xiàn)的,最好使用C語言或C++編程實現(xiàn)。向這個方向努力的書籍還是挺多的,這里推薦大家高等教育出版社(CHEP)和施普林格出版社(Springer)聯(lián)合出版的《計算方法(Computational Methods)》,華中理工大學數(shù)學系寫的(現(xiàn)華中科技大學),這方面華科大做的工作在國內(nèi)應算是比較多的,而個人認為以這本最好,至少程序設(shè)計方面涉及了:任意數(shù)學函數(shù)的求值,方程求根,線性方程組求
【計算機科學與技術(shù)學習心得】相關(guān)文章:
計算機科學與技術(shù)實習報告09-22
計算機科學與技術(shù)實習報告12-13
計算機科學與技術(shù)求職信01-23
計算機科學與技術(shù)求職信03-31
計算機科學與技術(shù)求職信14篇02-04
計算機科學與技術(shù)求職信9篇02-07