計算機的學習心得
在平日里,心中難免會有一些新的想法,可用寫心得體會的方式將其記錄下來,如此可以一直更新迭代自己的想法。那么心得體會到底應該怎么寫呢?下面是小編整理的計算機的學習心得,僅供參考,歡迎大家閱讀。
計算機的學習心得1
計算機系統(tǒng)結構該怎么教,國際上還在爭論。國內(nèi)能找到的較好教材為Stallings的"Computer Organization and Architectureesigning for Performance"(清華影印
本)。國際上最流行的則是“Computer architecture: aquantitative approach" by Patterson & Hennessy。
操作系統(tǒng)可以隨便選用《操作系統(tǒng)的內(nèi)核設計與實現(xiàn)》和《現(xiàn)代操作系統(tǒng)》兩書之一。這兩部都可以算經(jīng)典,唯一缺點就是理論上不夠嚴格。不過這領域屬于Hardcore System所以在理論上馬虎一點也情有可原。想看理論方面的就推薦清華大學出版社《操作系統(tǒng)》吧,高教司司長張堯學寫的,我們教材用的是那本。 另外推薦一本《Windows操作系統(tǒng)原理》機械工業(yè)出版社的,這本書是我國操作系統(tǒng)專家在微軟零距離考察半年,寫作歷時一年多寫成的,教操作系統(tǒng)的專家除了清華大學的張堯學(現(xiàn)高教司司長)幾乎所有人都參加了。Bill Gates親自寫序。里面不但結合windows200p詳述操作系統(tǒng)的內(nèi)核,而且后
面講了一些windows編程基礎,有外版書的味道,而且上面一些內(nèi)容可以說在國內(nèi)外只有那本書才有對windows內(nèi)核細致入微的介紹,如果先把形式語言學好了,則編譯原理中的前端我看只要學四個算法:最容易實現(xiàn)的遞歸下降;最好的自頂向下算法LL(k);最好的自底向上算法LR(k);LR(1)的簡化SLR(也許還有另一簡化LALR)。后端完全屬于工程性質,自然又是another story。
推薦教材:Kenneth C.Louden寫的“Compiler Construction Principles and Practice”即是《編譯原理及實踐》(機械工業(yè)出版社的譯本)
學數(shù)據(jù)庫要提醒大家的是,會用VFP,VB Power builder不等于懂數(shù)據(jù)庫。(這世界上自以為懂數(shù)據(jù)庫的人太多了!)數(shù)據(jù)庫設計既是科學又是藝術,數(shù)據(jù)庫實現(xiàn)則是典型的工程。所以從某種意義上講,數(shù)據(jù)庫是最典型的一門計算機課程——理工結合,互相滲透。另外推薦大家學完軟件工程學后再翻過來看看數(shù)據(jù)庫技術,又會是一番新感覺。推薦教材:Abraham Silberschatz等著的 "Database System Concepts".作為知識的完整性,還推薦大家看一看機械工業(yè)出版社的《數(shù)據(jù)倉庫》譯本。
計算機網(wǎng)絡的標準教材還是來自Tanenbaum的《Computer Networks》(清華大學有譯本)。還有就是推薦謝希仁的`《計算機網(wǎng)絡教程》(人民郵電出版社)問題講得比較清楚,參考文獻也比較權威。不過,網(wǎng)絡也屬于Hardcore System,所以光看書是不夠的。建議多讀RFC,里可以按編號下載RFC文檔。從IP的讀起。等到能掌握10種左右常用協(xié)議,就沒有幾個人敢小看你了。再做的工作我看放在網(wǎng)絡設計上就比較好了。
數(shù)據(jù)結構的重要性就不言而喻了,學完數(shù)據(jù)結構你會對你的編程思想進行一番革命性的洗禮,會對如何建立一個合理高效的算法有一個清楚的認識。對于算法的建立我想大家應當注意以下幾點:
當遇到一個算法問題時首先要知道自己以前有沒有處理過這種問題.如果見過那么你一般會順利地做出來如果沒見過那么考慮以下問題:
1. 問題是否是建立在某種已知的熟悉的數(shù)據(jù)結構(例如二叉樹)上如果不是則要自己設計數(shù)據(jù)結構。
2. 問題所要求編寫的算法屬于以下哪種類型(建立數(shù)據(jù)結構修改數(shù)據(jù)結構遍歷查找排序.)
3. 分析問題所要求編寫的算法的數(shù)學性質.是否具備遞歸特征(對于遞歸程序設計只要設計出合理的參數(shù)表以及遞歸結束的條件則基本上大功告成.)
4. 繼續(xù)分析問題的數(shù)學本質.根據(jù)你以前的編程經(jīng)驗設想一種可能是可行的解決辦法并證明這種解決辦法的正確性.如果題目對算法有時空方面的要求證明你的設想滿足其要求.一般的時間效率和空間效率難以兼得.有時必須通過建立輔助存儲的方法來節(jié)省時間.
5. 通過一段時間的分析你對解決這個問題已經(jīng)有了自己的一些思路.或者說你已經(jīng)可以用自然語言把你的算法簡單描述出來.繼續(xù)驗證其正確性努力發(fā)現(xiàn)其中的錯誤并找出解決辦法.在必要的時候(發(fā)現(xiàn)了無法解決的矛盾)推翻自己的思路從頭開始構思.
6. 確認你的思路可行以后開始編寫程序.在編寫代碼的過程中盡可能把各種問題考慮得詳細周密.程序應該具有良好的結構并且在關鍵的地方配有注釋.
7. 舉一個例子然后在紙上用筆執(zhí)行你的程序進一步驗證其正確性.當遇到與你的設想不符的情況時分析問題產(chǎn)生的原因是編程方面的問題還是算法思想本身有問題.
8. 如果程序通過了上述正確性驗證那么在將其進一步優(yōu)化或簡化。
9. 撰寫思路分析注釋.
對于具體的算法思路只能靠你自己通過自己的知識和經(jīng)驗來加以獲得沒有什么特定的規(guī)律(否則程序員全部可以下崗了用機器自動生成代碼就可以了).要有豐富的想象力就是說當一條路走不通時不要鉆牛角尖要敢于推翻自己的想法.我也只不過是初學者說出上面的一些經(jīng)驗僅供大家參考和討論。
計算機的學習心得2
關于計算機科學的一些邊緣科學我想談一談軟件工程技術,對于一個企業(yè),推出軟件是不是就是幾個程序員坐在一起,你寫一段程序,我寫一段程序呢?顯然不是。軟件工程是典型的計算機科學和數(shù)學,管理科學,心理學,社會學等學科的綜合。它使我們這些搞理論和技術的人進入了一個社會。你所要考慮的不僅僅是程序的優(yōu)劣,更應該考慮程序與軟件的區(qū)別,軟件與軟件產(chǎn)品的區(qū)別,軟件軟件產(chǎn)品的市場前景,如何去更好的與人交流。這方面我還在學習階段,以后這方面再寫文章吧,先推薦給大家?guī)妆緯簳充N20xx年不衰的《人月神話》(清華大學中文版,中國電力出版社影印版),《軟件工程-實踐者研究的方法》(機械工業(yè)出版社譯本),《人件》(據(jù)說每一位微軟公司的部門經(jīng)理都讀過這本書,推薦老總們和想當老總的同學都看看,了解一下什么是軟件企業(yè)中的人)以及微軟公司的《軟件開發(fā)的科學與藝術》和《軟件企業(yè)的管理與文化》(研究軟件企業(yè)的制勝之道當然要研究微軟的成功經(jīng)驗了!)
關于計算機技術的學習我想是這樣的:學校開設的任何一門科學都有其滯后性,不要總認為自己掌握的某門技術就已經(jīng)是天下無敵手了,雖然現(xiàn)在JavaVBCC++用的都很多,怎能保證沒有被淘汰的一天,我想NET平臺的誕生和X#語言的初見端倪完全可以說明問題。換言之,在我們掌握一門新技術的同時就又有更新的技術產(chǎn)生,身為當代的大學生應當有緊跟科學發(fā)展的素質。舉個例子,就像有些同學總說,我做網(wǎng)頁設計就喜歡直接寫html,不愿意用什么FrontpageDreamweaver。能用語言寫網(wǎng)頁固然很好,但有高效的手段你為什么不使呢?僅僅是為了顯示自己的水平高,unique 我看真正水平高的是能夠以最快的速度接受新事物的人。高級程序設計語言的發(fā)展日新月異,今后的程序設計就像人們
在說話一樣,我想大家從xml中應是有所體會了。難道我們真就寫個什么都要用匯編,以顯示自己的水平高,真是這樣倒不如直接用機器語言寫算了。反過來說,想要以最快的速度接受并利用新技術關鍵還是在于你對計算機科學地把握程度。
計算機技術牽扯的內(nèi)容更為廣泛些,一項一項說恐怕沒個一年半載也說不清。我只想提醒大家的還是那句話,技術與科學是不能分家的,學好了科學同時搞技術,這才是上上策。猶如英語,原先人們與老外交流必須要個翻譯,現(xiàn)在滿馬路的.人都會說英語。就連21世紀英語演講比賽的冠軍都輪不到英語系的學生了。計算機也是一樣的,我們必須面對的一個現(xiàn)實就是:計算機真就只是一個工具,如果不具備其它方面的素養(yǎng),計算機系的學生雖然不能說找不到工作,不過總有一天當其他專業(yè)性人才掌握了計算機技術后將比我們出色許多。原因就在于計算機解決的大都是實際問題,實際問題的知識卻是我們少有的。單一的計算機技術沒有立足之地。
我想是時候指出:學習每一個課程之前,都要先搞清這一課程的學習目的。這一學科的應用領域。據(jù)我自身所了解到的同齡同學和低年級的同學的學習狀況:他們之中很少有人知道學一個學科的學習目的,期末考試結束了也不知道學這科做什么用。這就失去了讀計算機科學的意義。當然這與現(xiàn)存的教育思想不能說一點關系都沒有。
總的來說,從教育角度來講,國內(nèi)高校的課程安排不是很合理,強調理論,又不愿意在理論上深入教育,無力接受新技術,想避開新技術又無法避得一干二凈。我覺得關鍵問題就是國內(nèi)的高校難于突破現(xiàn)狀,條條框框限制著怎么求發(fā)展。我們雖然認識得到國外教育的優(yōu)越性,但為什么遲遲不能采取行動?哪怕是去粗取精的取那么一點點。我們需要改變。從我們自身角度來講,多數(shù)人4年下來既沒有學習計算機科學的學術水平,也沒有學習計算機技術的那種韌勁。在我剛上大一時,我的計算機科學入門導師,淮北煤炭師范學院王愛平教授曾經(jīng)對我說過這樣一番話:“當你選擇了計算機這一門科學,就意味著你踏上了一條不歸路,就意味著你一生都要為之奮斗……你的身后是懸崖,只有向前走,不能往后退!
有些同學說按照這樣學習學的東西太多,有的未見得有用,我想打個形象的比方:學校學出來的人都是一個球體,方方面面的知識都應具備。可是社會上需要球體的地方很少,反而需要的是磚和瓦,即精通某一行的人才。但是對于同等體積的物體,用球體來改造是最方便最省事的。學校的學生很多,為了能夠使更多的學生來適應這個社會,學校也就不得以把所有的學生都打造成一個球體,然后讓社會對這些學生進行再加工,成為真正能夠有用的人才。即使你非常清楚自己的將來要干什么,并且非常下定決心要走自己的路,這一步你也必須走,世界是在不斷變化的,你不能預料未來。想清楚,努力去干吧!
必須結束這篇“胡侃”了,再侃下去非我力所能及。其實計算機還有很多基礎課都值得一侃。怎奈我造詣有限,不敢再讓內(nèi)行恥笑。對于博大精深的計算機科學,我只能說我永遠都是個Beginner.最后聲明:這些只針對本科階段的學習。即使把這些全弄通了,前面的路還長,計算機科學需要我們?yōu)橹畩^斗學習計算機科學需要韌性,更需要創(chuàng)新,需要激情。深刻學習理論知識,勇于接受新技術的挑戰(zhàn),這才是我們這一代人應具有的素質。最后送大家一句話“Wake up every day with a feeling of passion for the difference technology will make in people's life!”。