堅(jiān)定的信心自學(xué)計(jì)算機(jī)是需要一定的條件的,現(xiàn)在回想起來,我當(dāng)時(shí)的條件不算好:第一,沒有基礎(chǔ)。大專學(xué)的是中文,而且完全沒有接觸過電腦,對(duì)計(jì)算機(jī)沒有一點(diǎn)感性認(rèn)識(shí),甚至不知道學(xué)電腦要學(xué)些什么……第二,環(huán)境很閉塞。畢業(yè)后在一個(gè)偏僻的小鎮(zhèn)教書,身邊沒有人懂電腦,有了疑問沒有人能幫自己解決;第三,缺少硬件條件。開始的半年我沒有電腦,只能紙上編程;一邊工作一邊學(xué)習(xí),而且總感覺時(shí)間不夠。盡管困難重重,但我確信一條:計(jì)算機(jī)知識(shí)是一門技術(shù)學(xué)科,不是一門藝術(shù);可能有人終其一生,也不能成為一名藝術(shù)家,但每個(gè)人通過努力,都是可以掌握好一門技術(shù)的。正是因?yàn)橛羞@樣堅(jiān)定的信心,我才能夠在三年的時(shí)間里,克服了常人難以想像的困難,終于達(dá)到了自己的目標(biāo)。
選好教材沒人指導(dǎo)自己學(xué)習(xí),選一些好的教材就顯得非常重要了。開始我也不知道什么書好,見什么買什么。后來發(fā)現(xiàn)一些大學(xué)教材內(nèi)容很系統(tǒng),而且也有一定的權(quán)威性。我后來選的就是清華大學(xué)計(jì)算機(jī)系的教材。學(xué)完教材后,我開始研究三本軟件水平考試的統(tǒng)編教材,如果一開始就看統(tǒng)編教材,會(huì)覺得書里結(jié)論大多沒有詳細(xì)的闡述,很難理解和記憶,但先系統(tǒng)學(xué)完教材后,你會(huì)發(fā)現(xiàn)統(tǒng)編教材起了一個(gè)很好的綜合作用。
學(xué)會(huì)“不求甚解”我這里說的“不求甚解”并不是指不認(rèn)真學(xué)習(xí)。自學(xué)電腦最怕鉆牛角尖:看書時(shí)一個(gè)問題不明白,就在那里卡住,非解決它不可——這樣的方法我是不贊成的。首先,它會(huì)嚴(yán)重打擊你的自信心,使你喪失繼續(xù)學(xué)習(xí)下去的興趣;其次,這樣浪費(fèi)了許多時(shí)間。因此學(xué)習(xí)時(shí)要給自己留一些“不懂”的余地。例如第一遍讀書時(shí)要允許自己似懂非懂,用規(guī)定的時(shí)間(例如兩個(gè)星期)把它看完,然后開始第二遍學(xué)習(xí)。開始時(shí)許多不明白的東西,這次就容易理解多了。
關(guān)于軟件水平考試
重點(diǎn)突破計(jì)算機(jī)的專業(yè)課程很多,如果要通過軟件水平考試,我認(rèn)為一定要抓住《數(shù)據(jù)結(jié)構(gòu)》這門核心課程。軟件水平考試最難通過的部分是下午試題,其中很多內(nèi)容涉及數(shù)據(jù)結(jié)構(gòu)中的知識(shí),大部分試題都是數(shù)據(jù)結(jié)構(gòu)的演化。只有對(duì)線性表、棧和隊(duì)列、樹、查找、排序等問題非常精通,編程的難題才能迎刃而解。在1997年參加程序員考試時(shí),最后一道題目整體上我看得不是很懂,但由于我對(duì)數(shù)據(jù)結(jié)構(gòu)比較熟悉,我把需要填空的上下兩句仔細(xì)看了看,就知道是實(shí)現(xiàn)一個(gè)鏈表的問題,而鏈表的操作我十分熟練,我自信地填上了正確答案。數(shù)據(jù)結(jié)構(gòu)應(yīng)該學(xué)到什么程度呢?我認(rèn)為,基本上能用高級(jí)語(yǔ)言來實(shí)現(xiàn)各種數(shù)據(jù)結(jié)構(gòu)就差不多了。
重點(diǎn)突破的另一個(gè)含義是揚(yáng)長(zhǎng)避短:一個(gè)非計(jì)算機(jī)專業(yè)的考生,很難做到知識(shí)十分全面。特別是對(duì)一個(gè)文科生來說,數(shù)學(xué)是心頭永遠(yuǎn)的痛,而我的英語(yǔ)也丟了多年。是花費(fèi)巨大的精力去補(bǔ)數(shù)學(xué)和英語(yǔ),還是把精力集中在其他科目?經(jīng)過權(quán)衡,我選擇了后者。在程序員和高程考試中,上午試題的前十一道,我基本上得了滿分,數(shù)學(xué)和英語(yǔ)對(duì)我的影響并不大。我的順利過關(guān),就是舍車保帥策略的成功運(yùn)用。當(dāng)然這只是針對(duì)應(yīng)試而言,如果你現(xiàn)在還有機(jī)會(huì)學(xué)習(xí)數(shù)學(xué)和英語(yǔ),還是應(yīng)當(dāng)盡量把它們學(xué)好。
多上機(jī)雖然軟件水平考試下午試題只要填上程序所缺的語(yǔ)句,不用上機(jī)調(diào)試,但要想做對(duì),就離不開平時(shí)多上機(jī)練習(xí)了。有時(shí)你看書時(shí)覺得懂了,但上機(jī)時(shí)卻會(huì)發(fā)現(xiàn)一個(gè)簡(jiǎn)單的程序也容易漏洞百出。我把統(tǒng)編教材《程序設(shè)計(jì)》中的程序上機(jī)調(diào)試了兩次:第一次基本上是照書打字,邊打邊想;第二次是先看題自己做,實(shí)在不會(huì)時(shí)才對(duì)照一下教材,看自己為什么做不出來。調(diào)試程序的過程中會(huì)發(fā)現(xiàn)C語(yǔ)言中的許多精妙的地方,一些考試時(shí)容易忽略的細(xì)節(jié)問題也都暴露出來,對(duì)考試十分有利,下午試題考的就是你的思維是否嚴(yán)密。
多做試題我不提倡多做模擬題,因?yàn)槟M題的難度很難把握——不是太難就是太易,對(duì)考試幫助不是很大。但一定要把近幾年的正式試題找來做,最好能做十份左右。雖然每年的考題都不同,但你一定能夠在歷年的考題中發(fā)現(xiàn)一些有規(guī)律的東西——它要考核你什么樣的能力?它考一些什么知識(shí)點(diǎn)?這樣,你在復(fù)習(xí)時(shí)就能做到有的放矢。
關(guān)于四級(jí)考試
四級(jí)考試難度相當(dāng)大,據(jù)說幾年通過的人數(shù)寥寥無幾。據(jù)我看,四級(jí)的上機(jī)考試題相對(duì)程序員考試下午試題來說還是容易的,關(guān)鍵在于筆試有120道題,所以考到的內(nèi)容十分廣泛、細(xì)致,并且有三分之一的題目是用英語(yǔ)出的。這要求你在學(xué)習(xí)時(shí)一定要注意每一個(gè)細(xì)節(jié)問題,對(duì)計(jì)算機(jī)的專業(yè)術(shù)語(yǔ)的英語(yǔ)表達(dá)方式要熟悉。筆試還有一道論述題,其內(nèi)容并不完全出自書本,需要你有比較流暢的表達(dá)方式,還要對(duì)計(jì)算機(jī)的最新發(fā)展動(dòng)向有一定了解,才能圓滿地解決論述題。 我在三年努力下,從初級(jí)程序員考試到高級(jí)程序員考試,從二級(jí)、三級(jí)(B)到四級(jí),一年一個(gè)臺(tái)階,順利通過了軟件水平考試和等級(jí)考試中的最高級(jí)別的部分。希望我的這些經(jīng)驗(yàn)?zāi)軒椭切﹦偲鸩降呐笥秧樌~入計(jì)算機(jī)的殿堂。