計算機專業(yè)大學(xué)學(xué)生的學(xué)習(xí)規(guī)劃
計算機專業(yè)大學(xué)學(xué)生的學(xué)習(xí)規(guī)劃
在大學(xué)你的身份是學(xué)生,而學(xué)生的首要任務(wù)就是學(xué)習(xí),那么,計算機專業(yè)大學(xué)生如何制定學(xué)習(xí)規(guī)劃呢?下面學(xué)習(xí)啦小編給大家?guī)碛嬎銠C專業(yè)大學(xué)學(xué)生學(xué)習(xí)規(guī)劃,希望對你有幫助。
計算機專業(yè)大學(xué)學(xué)生的學(xué)習(xí)規(guī)劃(一)
為了讓每一名計算機與信息工程學(xué)院的同學(xué)入校以后,能夠以最快的速度轉(zhuǎn)變角色,科學(xué)規(guī)劃大學(xué)生活,為四年后那個收獲的6月打好基礎(chǔ),我們編寫了這篇“如何規(guī)劃大學(xué)四年”,其中參閱了大量互聯(lián)網(wǎng)資料,尤其是李開復(fù)給大學(xué)生的公開信、IT專業(yè)解惑真經(jīng)等資料,在此對這些作者表示感謝!
一、大學(xué)——人生的關(guān)鍵
大學(xué)是人生的關(guān)鍵階段。這是因為,從學(xué)習(xí)上講大學(xué)階段是高中階段的延續(xù),但大學(xué)階段又和高中階段有很大不同,在此階段你可以追逐自己的理想、興趣。而且,大學(xué)階段可能是你第一次離開家庭生活,獨立參與團(tuán)體和社會生活。這是你第一次不再單純地學(xué)習(xí)或背誦書本上的理論知識,而是有機會在學(xué)習(xí)理論的同時親身實踐。這是你第一次不再由父母安排生活和學(xué)習(xí)中的一切,而是有足夠的自由處置生活和學(xué)習(xí)中遇到的各類問題,支配所有屬于自己的時間。
大學(xué)是人生的關(guān)鍵階段。這是因為,這是你一生中系統(tǒng)性地接受教育的大好機會。這可能是你最后一次能夠全心建立你的知識基礎(chǔ)。這可能是你最后一次可以將大段時間用于學(xué)習(xí)的人生階段,也可能是最后一次可以擁有較高的可塑性、可以不斷修正自我的成長歷程。這也許是你最后一次能在相對寬容的,可以置身其中學(xué)習(xí)為人處世之道的理想環(huán)境。
大學(xué)是人生的關(guān)鍵階段。在這個階段里,你應(yīng)當(dāng)認(rèn)真把握每一個“第一次”,讓它們成為未來人生道路的基石;在這個階段里,你也要珍惜每一個“最后一次”,不要讓自己在不遠(yuǎn)的將來追悔莫及。在大學(xué)四年里,大家應(yīng)該努力編織自己的夢想,及早明確自己的方向,努力學(xué)習(xí),奠定自己人生的基礎(chǔ)。
顯而易見,大學(xué)是一生中學(xué)習(xí)能力轉(zhuǎn)變最大的時候,是把“基礎(chǔ)學(xué)習(xí)”和“進(jìn)入社會”這兩個階段銜接起來的重要時期。因此,在大學(xué)四年中,要努力培養(yǎng)自己的學(xué)習(xí)能力,提高自己的學(xué)習(xí)境界,讓自己成為一個擅長終身學(xué)習(xí)的人。
二、認(rèn)識并認(rèn)同計算機專業(yè)
進(jìn)入大學(xué),首先我們要樹立正確的學(xué)業(yè)觀 。大學(xué)生的學(xué)業(yè)是指在高等教育階段進(jìn)行以學(xué)習(xí)為主的一切活動,是廣義的學(xué)習(xí)階段,它不僅包括科學(xué)文化知識的學(xué)習(xí),還包括思想、政治、道德、業(yè)務(wù)、組織管理能力、科研及創(chuàng)新能力等的培養(yǎng)和學(xué)習(xí)。觀念是行動的先導(dǎo),要完成好大學(xué)學(xué)業(yè)首先必須樹立正確的學(xué)業(yè)觀。所謂學(xué)業(yè)觀就是對所學(xué)專業(yè)、學(xué)業(yè)的態(tài)度和認(rèn)識,它在很大程度上影響著同學(xué)們的學(xué)習(xí)、生活乃至人生前景。當(dāng)代大學(xué)生在對待學(xué)業(yè)問題上存在著種種誤區(qū):或?qū)W(xué)業(yè)涵義理解過窄,或?qū)W(xué)業(yè)生活預(yù)期過高,或?qū)W業(yè)角色定位不準(zhǔn),或職業(yè)期望值過高,以至學(xué)業(yè)不精甚至荒廢學(xué)業(yè)。為此,我們應(yīng)正確處理如下四種關(guān)系:
一是正確處理學(xué)業(yè)與專業(yè)的關(guān)系。珍重自己的學(xué)業(yè),就該學(xué)得其所,努力培養(yǎng)自己的專業(yè)興趣,把自己的愛好和國家的需要及社會發(fā)展的要求有機地統(tǒng)一起來,掌握專業(yè)知識、專業(yè)技能和相關(guān)能力,培養(yǎng)自己的專業(yè)素質(zhì)。就計算機相關(guān)專業(yè)而言,二十一世紀(jì),人類進(jìn)入到了信息大爆炸和知識經(jīng)濟(jì)時代。以計算機技術(shù)為主的計算技術(shù)成為該時代的重要特征,并對社會發(fā)展產(chǎn)生著前所未有的影響。尤其是隨著國家對信息化建設(shè)的高度重視,以及計算機學(xué)科對幾乎所有學(xué)科的深入的滲透和交叉,使得計算機各專業(yè)將變?yōu)榛A(chǔ)性的專業(yè)。
二是正確處理學(xué)業(yè)與職業(yè)的關(guān)系。在學(xué)習(xí)期間就應(yīng)自覺地學(xué)好職業(yè)知識,培養(yǎng)職業(yè)技能,鍛煉職業(yè)能力,以期在將來的就業(yè)競爭中立于不敗之地。就計算機各專業(yè)的社會需求來說,不論從全球的一些統(tǒng)計數(shù)據(jù)還是國內(nèi)的一些統(tǒng)計數(shù)據(jù),需求量都是很大的,但更好更優(yōu)更強的職業(yè)知識、職業(yè)技能、職業(yè)能力是你成功的基礎(chǔ)。
三是正確處理學(xué)業(yè)與事業(yè)的關(guān)系。將自己現(xiàn)在的學(xué)業(yè)、將來的職業(yè)和未來的事業(yè)聯(lián)系起來,在學(xué)習(xí)的過程中,充分認(rèn)識所學(xué)專業(yè)在國家建設(shè)和社會發(fā)展中的意義、作用和發(fā)展前景,立志獻(xiàn)身其中,在工作中充分實現(xiàn)自己的人生價值。
四是正確處理學(xué)業(yè)與就業(yè)的關(guān)系。就業(yè)與學(xué)業(yè)存在著密切的關(guān)系,就業(yè)是學(xué)業(yè)的導(dǎo)向,學(xué)業(yè)決定了就業(yè)。以就業(yè)為學(xué)業(yè)的導(dǎo)向,有利于大學(xué)生專業(yè)報考的選擇、學(xué)業(yè)目標(biāo)的調(diào)整、學(xué)習(xí)方式的改變、學(xué)習(xí)外延的拓展以及綜合素質(zhì)的提高。與此同時,就業(yè)也構(gòu)成了衡量學(xué)業(yè)成就的重要標(biāo)志。想要就好業(yè)必須具備強烈的事業(yè)心、廣博精深的專業(yè)知識、較強的溝通協(xié)調(diào)能力、良好的心理素質(zhì)和強健的體魄以及創(chuàng)新精神,這些都應(yīng)當(dāng)在完成大學(xué)學(xué)業(yè)過程中養(yǎng)成。
三、及早規(guī)劃你的大學(xué)四年
進(jìn)入大學(xué)后要及早規(guī)劃你的大學(xué)四年。凡事預(yù)則立,不預(yù)則廢。為了使自己能充分利用這四年時光,能真正學(xué)有所成,能坦然地面對四年后繼續(xù)深造或就業(yè)競爭,我們要從及早規(guī)劃大學(xué)四年的學(xué)習(xí)、生活,及早明確目標(biāo),制定航線。
機遇總是垂青有準(zhǔn)備的人。一個人的文化知識素質(zhì)如何,專業(yè)技能掌握的怎么樣,將決定他在繼續(xù)深造或求職擇業(yè)時的自由度和考取的學(xué)?;蛉〉寐殬I(yè)崗位的層次。為此,根據(jù)計算機專業(yè)發(fā)展和用人單位的需要,應(yīng)重點從以下三個方面抓好學(xué)業(yè),做好準(zhǔn)備。
1.構(gòu)建合理的知識結(jié)構(gòu)
大學(xué)四年,應(yīng)培養(yǎng)寬厚扎實的基礎(chǔ)知識、廣博精深的專業(yè)知識,構(gòu)建合理的知識結(jié)構(gòu)。這一過程沒有捷徑可走,其基本途徑只能是學(xué)習(xí)、積累和實踐。也絕非一勞永逸,必須持續(xù)不斷地付出艱辛勞動。采取適合自己的學(xué)習(xí)方法,并且不斷努力、辛苦耕耘,建立和完善自己的知識結(jié)構(gòu),為繼續(xù)深造和就業(yè)成才打下良好的基礎(chǔ)。
2.培養(yǎng)較強的實踐能力
知識并不能簡單地與能力劃等號,知識與能力是辯證的關(guān)系。在一定意義上說,能力比知識更重要。因此,一名優(yōu)秀的大學(xué)畢業(yè)生應(yīng)把構(gòu)見合理的知識結(jié)構(gòu)、培養(yǎng)科學(xué)的思維方式和鍛煉較強的實踐能力統(tǒng)一起來,尤其要培養(yǎng)較強的專業(yè)實踐能力,對計算機各專業(yè)來說,編程技能就是最重要一項專業(yè)實踐能力。具備了較強的編程技能才能在考研面試、擇業(yè)、從業(yè)過程中立于不敗之地。
3.全面提高綜合素質(zhì)
知識、能力、素質(zhì)是大學(xué)生社會化的三大要素。知識是素質(zhì)形成和提高的基礎(chǔ),能力是素質(zhì)的一種外在表現(xiàn),沒有相應(yīng)的知識武裝和能力展示,不可能內(nèi)化和升華為更高的心理品格。但是知識和能力往往只解決如何做事,高素質(zhì)的人才應(yīng)該將做事與做人有機地結(jié)合,既把養(yǎng)成健全的人格放在第一位,又注重專門知識、技能和能力的培養(yǎng),使自身得到全面、和諧的發(fā)展。因此,一名優(yōu)秀的大學(xué)畢業(yè)生應(yīng)把構(gòu)建合理的知識結(jié)構(gòu)、培養(yǎng)科學(xué)的思維方式、鍛煉較強的實踐能力和提高全面的綜合素質(zhì)統(tǒng)一起來。
四、大學(xué)計算機課程學(xué)習(xí)路線
如果你是一個計算機相關(guān)專業(yè)的一名學(xué)生,希望你一定要明白我們計算機專業(yè)的學(xué)生和非計算機專業(yè)學(xué)生對計算機知識掌握的深度絕對是不一樣的。我們僅僅會Windows、Office或其它軟件的一些操作是不夠的。計算機專業(yè)的優(yōu)勢就在于,我們掌握許多其他專業(yè)并不“深究”的東西,例如,編程語言、算法,體系結(jié)構(gòu),操作系統(tǒng)、編譯原理等等。非計算機專業(yè)的人可以很容易地做一個芯片,寫一段程序,但他們做不出計算機專業(yè)能夠做出來的大型系統(tǒng)。這就需要同學(xué)們不僅學(xué)懂一些軟件的操作,更需要把計算機專業(yè)的一些基礎(chǔ)課程以及專業(yè)核心課程學(xué)好,并把許多課本上的知識通過實驗、實踐轉(zhuǎn)化為自己真正掌握的知識。
(一)計算機理論的一個核心問題——從數(shù)學(xué)談起
同學(xué)們大一入學(xué)后,每周六學(xué)時的高等數(shù)學(xué),天天作業(yè)不斷??赡苡行┩瑢W(xué)驚呼走錯了門!咱們這到底念的是什么專業(yè)?不錯,你沒走錯門,這就是計算機科學(xué)與技術(shù)專業(yè)、軟件工程專業(yè)、物聯(lián)網(wǎng)工程專業(yè)、信息管理與信息系統(tǒng)專業(yè)。計算機專業(yè)相關(guān)的眾多科學(xué)研究中,如信息檢索,語言文字信息處理,網(wǎng)絡(luò)傳輸,圖形圖像處理,視頻音頻處理,每個研究方向都與數(shù)學(xué)有著很大的關(guān)系,雖然也許是正統(tǒng)數(shù)學(xué)家眼里非主流的數(shù)學(xué),但沒有數(shù)學(xué)是不行的。而且我們都知道,數(shù)學(xué)是從實際生活當(dāng)中抽象出來的理論,人們之所以要將實際抽象成理論,目的就在于想用抽象出來的理論去更好的指導(dǎo)實踐,指導(dǎo)利用計算機解決具體問題。
其實我們計算機專業(yè)學(xué)數(shù)學(xué)光學(xué)高等數(shù)學(xué)是不夠的,有條件應(yīng)該像數(shù)學(xué)系一樣學(xué)一下數(shù)學(xué)分析(清華計算機系開的好像就是數(shù)學(xué)分析),這對培養(yǎng)計算機專業(yè)學(xué)生良好的分析能力極有幫助。因為在一些軟件企業(yè)中,數(shù)學(xué)系的學(xué)生大多作軟件設(shè)計與分析工作,而計算機系的學(xué)生做程序員的居多,原因就在于數(shù)學(xué)系的學(xué)生分析推理能力,從所受訓(xùn)練的角度上要遠(yuǎn)遠(yuǎn)在我們之上。
正如上面所論述的,計算機專業(yè)的學(xué)生學(xué)習(xí)高等數(shù)學(xué):知其然更要知其所以然。你學(xué)習(xí)的目的應(yīng)該是:將抽象的理論再應(yīng)用于實踐,不但要掌握題目的解題方法,更要掌握解題思想,對于定理的學(xué)習(xí):不是簡單的應(yīng)用,而是掌握證明過程即掌握定理的由來,訓(xùn)練自己的推理能力。只有這樣才達(dá)到了學(xué)習(xí)這門科學(xué)的目的,同時也縮小了我們與數(shù)學(xué)系的同學(xué)之間思維上的差距。
另外,線性代數(shù),概率論與數(shù)理統(tǒng)計這兩門課很重要,可惜大多數(shù)院校講授這些課都會少些東西。少了的東西現(xiàn)在看至少有隨機過程。到畢業(yè)還沒有聽說過Markov過程,此乃計算機專業(yè)學(xué)生的影響很大。沒有隨機過程,你怎么分析網(wǎng)絡(luò)和分布式系統(tǒng)?怎么設(shè)計隨機化算法和協(xié)議?所以,同學(xué)們不僅要學(xué)好講到的東西,甚至要自學(xué)一些該掌握的知識。
計算機科學(xué)和數(shù)學(xué)的關(guān)系有點奇怪。三四十年以前,計算機科學(xué)基本上還是數(shù)學(xué)的一個分支。而現(xiàn)在,計算機科學(xué)擁有廣泛的研究領(lǐng)域和眾多的研究人員,在很多方面反過來推動數(shù)學(xué)發(fā)展,從某種意義上可以說是孩子長得比媽媽還高了。但不管怎么樣,這個孩子身上始終流著母親的血液。這血液是the mathematical underpinning of computer science(計算機科學(xué)的數(shù)學(xué)基礎(chǔ)),也就是理論計算機科學(xué)。所以推薦大一的同學(xué)們一定要學(xué)好高等數(shù)學(xué),線性代數(shù)、概率論與數(shù)理統(tǒng)計等數(shù)學(xué)課,因為數(shù)學(xué)是開啟計算之門的鑰匙!
最常和理論計算機科學(xué)放在一起的一個詞是什么?答:離散數(shù)學(xué)。這兩者的關(guān)系是如此密切,以至于它們在不少場合下成為同義詞。,數(shù)學(xué)是以分析為中心的。數(shù)學(xué)系的同學(xué)要學(xué)習(xí)三四個學(xué)期的數(shù)學(xué)分析,然后是復(fù)變函數(shù),實變函數(shù),泛函數(shù)等等。實變和泛函被很多人認(rèn)為是現(xiàn)代數(shù)學(xué)的入門。在物理,化學(xué),工程上應(yīng)用的,也以分析為主。隨著計算機科學(xué)的出現(xiàn),一些以前不太受到重視的數(shù)學(xué)分支突然重要起來。人們發(fā)現(xiàn),這些分支處理的數(shù)學(xué)對象與傳統(tǒng)的分析有明顯的區(qū)別:分析研究的問題解決方案是連續(xù)的,因而微分,積分成為基本的運算;而這些分支研究的對象是離散的,因而很少有機會進(jìn)行此類的計算。人們從而稱這些分支為“離散數(shù)學(xué)”。“離散數(shù)學(xué)”的名字越來越響亮,最后導(dǎo)致以分析為中心的傳統(tǒng)數(shù)學(xué)分支被相對稱為“連續(xù)數(shù)學(xué)”。離散數(shù)學(xué)經(jīng)過幾十年發(fā)展,基本上穩(wěn)定下來。一般認(rèn)為,離散數(shù)學(xué)包含以下學(xué)科:1)集合論,數(shù)理邏輯與元數(shù)學(xué)。這是整個數(shù)學(xué)的基礎(chǔ),也是計算機科學(xué)的基礎(chǔ)。2) 圖論,算法圖論;組合數(shù)學(xué),組合算法。計算機科學(xué),尤其是理論計算機科學(xué)的核心是 算法,而大量的算法建立在圖和組合的基礎(chǔ)上。3) 抽象代數(shù)。代數(shù)是無所不在的,本來在數(shù)學(xué)中就非常重要。在計算機科學(xué)中,人們驚訝地發(fā)現(xiàn)代數(shù)竟然有如此之多的應(yīng)用。每個學(xué)校計算機專業(yè)都會開一門離散數(shù)學(xué),涉及集合論,圖論,和抽象代數(shù),數(shù)理邏輯。但同學(xué)們學(xué)的怎么樣呢?希望每個同學(xué)都重視這門課的學(xué)習(xí)。
另外,計算機科學(xué)理論的根本,在于算法。所以同學(xué)們也要重視算法設(shè)計與分析等課程或知識的學(xué)習(xí)。
(二)理論與實際的結(jié)合——計算機科學(xué)研究的范疇
前面主要是從數(shù)學(xué)角度來看的。從計算機角度來看,我們學(xué)好學(xué)科基礎(chǔ)課:數(shù)學(xué)系列課的同時,更要把專業(yè)基礎(chǔ)課,尤其是專業(yè)核心課程學(xué)好。
這方面先說說各專業(yè)普遍開設(shè)的《計算機基礎(chǔ)》。在高等學(xué)校開設(shè)《計算機基礎(chǔ)》是我國高教司明文規(guī)定的各專業(yè)必修課程要求。主要內(nèi)容是使學(xué)生初步掌握計算機的發(fā)展歷史,學(xué)會簡單的使用操作系統(tǒng),文字處理,表格處理功能和初步的網(wǎng)絡(luò)應(yīng)用功能。但是在計算機專業(yè)講授該課程時應(yīng)該側(cè)重的是:讓學(xué)生較為全面的了解計算機學(xué)科的發(fā)展,清晰的把握計算機學(xué)科研究的內(nèi)容,以及專業(yè)課程中每門基礎(chǔ)課和核心課程在整個學(xué)科體系中所處的地位及作用。使學(xué)生在學(xué)科學(xué)習(xí)初期就對整個學(xué)科有一個整體的認(rèn)識,以做到在今后的學(xué)習(xí)中清楚要學(xué)什么,怎么學(xué)。然后要側(cè)重從整體上講解計算機內(nèi)部的數(shù)據(jù)表示方法,計算機的體系結(jié)構(gòu)及計算機運行的基本原理等內(nèi)容。而相應(yīng)的Windows基本操作、Office等計算機基本應(yīng)用技能應(yīng)當(dāng)放在第二位,這些技能主要通過大量的實驗和課外實踐并借助一些競賽平臺讓學(xué)生加以掌握。
一個計算機專業(yè)的優(yōu)秀學(xué)生決不該僅僅是一個編程高手,但他一定首先是一個編程高手。同學(xué)們第一門編程類的課是程序設(shè)計基礎(chǔ)(C語言程序設(shè)計),念計算機的人從某種角度講相當(dāng)一部分人是靠寫程序吃飯的。在許多學(xué)校的計算機專業(yè)里一直有這樣的爭論,關(guān)于學(xué)生第一程序設(shè)計語言該用哪一種。我個人認(rèn)為,用哪種語言并不重要,關(guān)鍵在養(yǎng)成良好的編程習(xí)慣。因為許多程序員都覺得一門語言打好基礎(chǔ)后學(xué)一門新語言只要一個星期,甚至根本不用一個星期。前提是先把基礎(chǔ)打好。我們學(xué)院新版的人才培養(yǎng)方案,程序設(shè)計基礎(chǔ)課程開設(shè)一年,意在讓大家學(xué)好這門基礎(chǔ)課,同時掌握好指針、結(jié)構(gòu)體、鏈表、自定義數(shù)據(jù)類型等內(nèi)容,為后繼的數(shù)據(jù)結(jié)構(gòu)等課程打好基礎(chǔ)。
另外,我們新版人才培養(yǎng)方案中,編程類的課是一條線。對計算機科學(xué)與技術(shù)專業(yè)的學(xué)生來說,第一年是程序設(shè)計基礎(chǔ)(C語言),第3學(xué)期開設(shè)面向?qū)ο蟪绦蛟O(shè)計(C++),第4學(xué)期系統(tǒng)平臺程序設(shè)計(Windows程序設(shè)計),之后有框架程序設(shè)計技術(shù)(VC集成環(huán)境),MFC程序設(shè)計,高級程序設(shè)計,高質(zhì)量程序設(shè)計等。之所以這樣設(shè)置是希望,同學(xué)們學(xué)習(xí)的語言不用門門俱到,但一定要把一個語言學(xué)精通。另外,我們希望同學(xué)們通過四年的學(xué)習(xí),編寫和調(diào)試的代碼量能得到2萬~4萬行。
硬件的課程是電子技術(shù)基礎(chǔ),匯編語言和微機原理,計算機組成原理,然后就是嵌入式和計算機控制方面的一些課。電子技術(shù)基礎(chǔ)這門課不僅要講到模擬電路,而且要講到數(shù)字電路。模擬電路這東東,如今不僅計算機系學(xué)生搞不定,電子系學(xué)生也多半害怕。如果你真想軟硬件通吃,那么建議你先看看邱關(guān)源的“電路原理”,也許此后再看模擬電路底氣會足些。數(shù)字電路比模擬電路要好懂得多。
匯編語言和微機原理是將匯編語言和微機原理融合到一起的課。你的數(shù)學(xué)/理論基礎(chǔ)再好,也占不到什么便宜。這兩部分內(nèi)容之間的次序也好比先有雞還是先有蛋,無論你先學(xué)哪部分,都會牽扯另一部分里的東西。所以,只能靜下來慢慢琢磨。這就是典型的工程課,不需要太多的聰明和頓悟,卻需要水滴石穿的漸悟。
有了匯編語言和微機原理這門課的知識,再學(xué)計算機組成原理就有一定基礎(chǔ)了。有些人說不想了解計算機體系結(jié)構(gòu),也不想制造計算機,所以諸如計算機組成原理,匯編語言,接口之類的課覺得沒必要學(xué),這樣合理嗎?顯然不合理,這些東西遲早得掌握,肯定得接觸,而且,這是計算機專業(yè)與其他專業(yè)學(xué)生相比的少有的幾項優(yōu)勢。做項目的時候,了解這些是非常重要的,不可能說,僅僅為了技術(shù)而技術(shù),只懂技術(shù)的人最多做一個編碼工人,而永遠(yuǎn)不可能全面地了解整個系統(tǒng)的設(shè)計。
數(shù)據(jù)結(jié)構(gòu)的重要性就不言而喻了,學(xué)完數(shù)據(jù)結(jié)構(gòu)你會對你的編程思想進(jìn)行一番革命性的洗禮,會對如何建立一個合理高效的算法有一個清楚的認(rèn)識。對于算法的建立我想大家應(yīng)當(dāng)注意以下幾點:
當(dāng)遇到一個算法問題時,首先要知道自己以前有沒有處理過這種問題.如果見過,那么你一般會順利地做出來;如果沒見過,那么考慮以下問題:
1. 問題是否是建立在某種已知的熟悉的數(shù)據(jù)結(jié)構(gòu)(例如,二叉樹)上?如果不是,則要自己設(shè)計數(shù)據(jù)結(jié)構(gòu)。
2. 問題所要求編寫的算法屬于以下哪種類型?(建立數(shù)據(jù)結(jié)構(gòu),修改數(shù)據(jù)結(jié)構(gòu),遍歷,查找,排序...)
3. 分析問題所要求編寫的算法的數(shù)學(xué)性質(zhì).是否具備遞歸特征?(對于遞歸程序設(shè)計,只要設(shè)計出合理的參數(shù)表以及遞歸結(jié)束的條件,則基本上大功告成.)
4. 繼續(xù)分析問題的數(shù)學(xué)本質(zhì).根據(jù)你以前的編程經(jīng)驗,設(shè)想一種可能是可行的解決辦法,并證明這種解決辦法的正確性.如果題目對算法有時空方面的要求,證明你的設(shè)想滿足其要求.一般的,時間效率和空間效率難以兼得.有時必須通過建立輔助存儲的方法來節(jié)省時間.
5. 通過一段時間的分析,你對解決這個問題已經(jīng)有了自己的一些思路.或者說,你已經(jīng)可以用自然語言把你的算法簡單描述出來.繼續(xù)驗證其正確性,努力發(fā)現(xiàn)其中的錯誤并找出解決辦法.在必要的時候(發(fā)現(xiàn)了無法解決的矛盾),推翻自己的思路,從頭開始構(gòu)思.
6. 確認(rèn)你的思路可行以后,開始編寫程序.在編寫代碼的過程中,盡可能把各種問題考慮得詳細(xì),周密.程序應(yīng)該具有良好的結(jié)構(gòu),并且在關(guān)鍵的地方配有注釋.
7. 舉一個例子,然后在紙上用筆執(zhí)行你的程序,進(jìn)一步驗證其正確性.當(dāng)遇到與你的設(shè)想不符的情況時,分析問題產(chǎn)生的原因是編程方面的問題還是算法思想本身有問題.
8. 如果程序通過了上述正確性驗證,那么在將其進(jìn)一步優(yōu)化或簡化。
9. 撰寫思路分析,注釋.
對于具體的算法思路,只能靠你自己通過自己的知識和經(jīng)驗來加以獲得,沒有什么特定的規(guī)律(否則程序員全部可以下崗了,用機器自動生成代碼就可以了).要有豐富的想象力,就是說當(dāng)一條路走不通時,不要鉆牛角尖,要敢于推翻自己的想法。
操作系統(tǒng)是一門很重要的課程,除了大家用的教材外,建議大家再看看以下一些相關(guān)書籍。想看理論方面的就推薦清華大學(xué)出版社《操作系統(tǒng)》吧,高教司司長張堯?qū)W寫的。另外推薦一本《Windows操作系統(tǒng)原理》機械工業(yè)出版社的,這本書是我國操作系統(tǒng)專家在微軟零距離考察半年,寫作歷時一年多寫成的,教操作系統(tǒng)的專家除了清華大學(xué)的張堯?qū)W(現(xiàn)高教司司長)幾乎所有人都參加了。Bill Gates親自寫序。里面不但結(jié)合windows2000,xp詳述操作系統(tǒng)的內(nèi)核,而且后面講了一些windows編程基礎(chǔ),有外版書的味道,而且上面一些內(nèi)容可以說在國內(nèi)外只有那本書才有對windows內(nèi)核細(xì)致入微的介紹。
學(xué)數(shù)據(jù)庫要提醒大家的是,會用VF,VB, Power builder,SQL Server不等于懂?dāng)?shù)據(jù)庫。(這世界上自以為懂?dāng)?shù)據(jù)庫的人太多了!)數(shù)據(jù)庫設(shè)計既是科學(xué)又是藝術(shù),數(shù)據(jù)庫實現(xiàn)則是典型的工程。所以從某種意義上講,數(shù)據(jù)庫是最典型的一門計算機課程——理工結(jié)合,互相滲透。咱們?nèi)瞬排囵B(yǎng)方案中數(shù)據(jù)庫主要是兩門課,數(shù)據(jù)庫概論及應(yīng)用,以及高級數(shù)據(jù)庫技術(shù)。第一門課主要講解數(shù)據(jù)庫基本原理,并結(jié)合一門數(shù)據(jù)庫講解應(yīng)用技術(shù)。第二門課主要講解在程序設(shè)計過程中聯(lián)接數(shù)據(jù)庫、操作數(shù)據(jù)表和數(shù)據(jù)記錄的相關(guān)方法和技術(shù)。
計算機網(wǎng)絡(luò)作為碩士研究生入學(xué)考試專業(yè)課四門統(tǒng)考課程之一。推薦謝希仁的《計算機網(wǎng)絡(luò)教程》(人民郵電出版社)問題講得比較清楚,參考文獻(xiàn)也比較權(quán)威。不過,網(wǎng)絡(luò)也屬于Hardcore System,所以光看書是不夠的。建議多從互聯(lián)網(wǎng)上找一些參考資料閱讀,并利用我們的實驗室多實踐,以便加深對課本知識的理解。
關(guān)于計算機科學(xué)的一些邊緣科學(xué)我想談一談軟件工程技術(shù),對于一個企業(yè),推出軟件是不是就是幾個程序員坐在一起,你寫一段程序,我寫一段程序呢?顯然不是。軟件工程是典型的計算機科學(xué)和數(shù)學(xué),管理科學(xué),心理學(xué),社會學(xué)等學(xué)科的綜合。它使我們這些搞理論和技術(shù)的人進(jìn)入了一個社會。你所要考慮的不僅僅是程序的優(yōu)劣,更應(yīng)該考慮程序與軟件的區(qū)別,軟件與軟件產(chǎn)品的區(qū)別,軟件軟件產(chǎn)品的市場前景,如何去更好的與人交流。這方面推薦給大家?guī)妆緯簳充N20年不衰的《人月神話》(清華大學(xué)中文版,中國電力出版社影印版),《軟件工程-實踐者研究的方法》(機械工業(yè)出版社譯本),《人件》(據(jù)說每一位微軟公司的部門經(jīng)理都讀過這本書,推薦老總們和想當(dāng)老總的同學(xué)都看看,了解一下什么是軟件企業(yè)中的人)以及微軟公司的《軟件開發(fā)的科學(xué)與藝術(shù)》和《軟件企業(yè)的管理與文化》(研究軟件企業(yè)的制勝之道當(dāng)然要研究微軟的成功經(jīng)驗了!)
計算機技術(shù)牽扯的內(nèi)容更為廣泛些,一項一項說恐怕沒個一年半載也說不清。我只想提醒大家的還是那句話,技術(shù)與科學(xué)是不能分家的,學(xué)好了科學(xué)同時搞技術(shù),這才是上上策。猶如英語,原先人們與老外交流必須要個翻譯,現(xiàn)在滿馬路的人都會說英語。就連21世紀(jì)英語演講比賽的冠軍都輪不到英語系的學(xué)生了。計算機也是一樣的,我們必須面對的一個現(xiàn)實就是:計算機真就只是一個工具,如果不具備其它方面的素養(yǎng),計算機系的學(xué)生雖然不能說找不到工作,不過總有一天當(dāng)其他專業(yè)性人才掌握了計算機技術(shù)后將比我們出色許多。原因就在于計算機解決的大都是實際問題,實際問題的知識卻是我們少有的。單一的計算機技術(shù)沒有立足之地。
另外還需要指出:學(xué)習(xí)每一個課程之前,都要先搞清這一課程的學(xué)習(xí)目的。這一學(xué)科的應(yīng)用領(lǐng)域。據(jù)我所了解到的同學(xué)和低年級的同學(xué)的學(xué)習(xí)狀況:他們之中很少有人知道學(xué)一門課程的學(xué)習(xí)目的,期末考試結(jié)束了也不知道學(xué)這課做什么用。這就失去了讀計算機科學(xué)的意義。
有些同學(xué)說按照這樣學(xué)習(xí)學(xué)的東西太多,有的未見得有用,我想打個形象的比方:學(xué)校學(xué)出來的人都是一個球體,方方面面的知識都應(yīng)具備??墒巧鐣闲枰蝮w的地方很少,反而需要的是磚和瓦,即精通某一行的人才。但是對于同等體積的物體,用球體來改造是最方便最省事的。學(xué)校的學(xué)生很多,為了能夠使更多的學(xué)生來適應(yīng)這個社會,學(xué)校也就不得以把所有的學(xué)生都打造成一個球體,然后讓社會對這些學(xué)生進(jìn)行再加工,成為真正能夠有用的人才。即使你非常清楚自己的將來要干什么,并且非常下定決心要走自己的路,這一步你也必須走,世界是在不斷變化的,你不能預(yù)料未來。想清楚,努力去干吧!對于博大精深的計算機科學(xué),我們每個人只能說永遠(yuǎn)都是個Beginner。即使把以上說的這些這些全弄通了,前面的路還長,計算機科學(xué)需要我們?yōu)橹畩^斗......學(xué)習(xí)計算機科學(xué)需要韌性,更需要創(chuàng)新,需要激情。深刻學(xué)習(xí)理論知識,勇于接受新技術(shù)的挑戰(zhàn),這才是我們這一代人應(yīng)具有的素質(zhì)。希望同學(xué)們都能保持一顆平常心,戒驕戒躁,平和的埋頭學(xué)習(xí)吧。
五、編程技能——你翱翔藍(lán)天的翅膀
這一部分就以互聯(lián)網(wǎng)上一個完整的帖子:“修煉編程的內(nèi)功”來說說編程技能培養(yǎng)的重要性。
很多年以前,我還是一個學(xué)建筑的學(xué)生,但是很喜歡學(xué)計算機。不過呢,由于專業(yè)限制,我沒有計算機用的。學(xué)校只開了一個學(xué)期的Fortran語言,上機時間只有可憐的5節(jié)課,那會把我憋壞了,呵呵。
點擊下一頁分享更多 計算機專業(yè)大學(xué)學(xué)生的學(xué)習(xí)規(guī)劃