羅江彪 王建標(biāo) 郭慧潔 孫新杰
摘要:計(jì)算機(jī)是當(dāng)今社會(huì)的主流,那么計(jì)算機(jī)專業(yè)也就成為熱門專業(yè),學(xué)習(xí)計(jì)算機(jī)知識(shí),成為當(dāng)今社會(huì)的潮流和趨勢(shì),IT行業(yè)也就成了高薪行業(yè)。大學(xué)生該如何利用自身優(yōu)勢(shì),立足于社會(huì),該如何學(xué)習(xí)計(jì)算機(jī)知識(shí),使自己有立足于社會(huì)的一技之長(zhǎng)呢?這需要我們進(jìn)行深刻的探討。學(xué)習(xí)知識(shí)是需要循序漸進(jìn)的過程的,學(xué)習(xí)一種知識(shí),或者一種技能,我們需要了解這種知識(shí)運(yùn)用的行業(yè),更需要知道計(jì)算機(jī)類專業(yè)會(huì)學(xué)習(xí)哪些基本的課程,這都是提前需要了解的。俗話說,知己知彼,百戰(zhàn)不殆。我們需要知道學(xué)習(xí)計(jì)算機(jī)的主要方式方法,找出一種適合自己的學(xué)習(xí)方法,讓自己在學(xué)習(xí)計(jì)算機(jī)的道路上少走彎路。除了這些基本的鋪墊因素外,我們還需要學(xué)習(xí)前人的經(jīng)驗(yàn),學(xué)會(huì)編程思想,要想在大學(xué)中好好學(xué)習(xí)計(jì)算機(jī)知識(shí),就得讓自己具備編程思想,在實(shí)踐中提升自己。
關(guān)鍵詞:熱門專業(yè);高薪行業(yè);編程思想
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)06-0130-02
1大學(xué)計(jì)算機(jī)類專業(yè)會(huì)學(xué)習(xí)哪些課程?
首先,我們先討論一下計(jì)算機(jī)類專業(yè),在研究硬件方向的專業(yè)需要學(xué)習(xí)到哪些課程。我們來思考一下,計(jì)算機(jī)硬件主要有哪些?CPU是中央處理單元,這是必須要有的,還有基礎(chǔ)的輸入輸出設(shè)備,和一些存儲(chǔ)設(shè)備,那么了解這些基本的知識(shí)是不夠的,所以計(jì)算機(jī)類學(xué)生所要開設(shè)的課程就是計(jì)算機(jī)組成原理這門課。從計(jì)算機(jī)組成原理這門課中,又可以延伸出電路原理這門課,這是由于PC機(jī)是依靠電來獲得“生命”的,從此,在考慮計(jì)算機(jī)操作、性能方面,會(huì)學(xué)習(xí)操作系統(tǒng)這門課程。當(dāng)然,像物聯(lián)網(wǎng)專業(yè)的學(xué)生,還是需要學(xué)習(xí)匯編語言與C語言兩種基本的語言,這樣有助于學(xué)生學(xué)會(huì)邏輯思想,能運(yùn)用這兩種語言來實(shí)現(xiàn)硬件上的控制,同時(shí)也能讓學(xué)生有動(dòng)手操作與思考問題的能力。
其次,我們討論在研究軟件方向的學(xué)生需要學(xué)習(xí)到哪些課程。學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)這門課程是重中之重,像里面的一些棧、鏈表的知識(shí)點(diǎn)是需要熟練掌握的。在開發(fā)一款軟件的時(shí)候,首先需要進(jìn)行可行性分析和需求分析,這樣就延伸出一門叫軟件工程的課程,這門課程會(huì)模擬當(dāng)代公司,在開發(fā)一款軟件時(shí),所要進(jìn)行的工作,同時(shí)也會(huì)學(xué)到很多實(shí)用的開發(fā)流程和寫文檔的能力。
最后,在大致介紹了計(jì)算機(jī)類所要學(xué)習(xí)的課程后,這些課程并不是所有的知識(shí)都需要精通。在學(xué)習(xí)方向上必須要有一個(gè)確定的目標(biāo),在眾多的主流知識(shí)上尋找一門自己擅長(zhǎng)的專業(yè)技能知識(shí)學(xué)習(xí),并且鉆研。從計(jì)算機(jī)類軟、硬件方向所有學(xué)習(xí)的課程中,得到結(jié)論:編程能力是非常重要的,以下從三個(gè)方面來討論,我們應(yīng)該如何學(xué)習(xí)計(jì)算機(jī)知識(shí)?在編程時(shí),應(yīng)該有何種思想架構(gòu)?如何提高編程能力?
2如何學(xué)習(xí)計(jì)算機(jī)?
想要學(xué)習(xí)計(jì)算機(jī)呢,首先得對(duì)它有所了解,并且對(duì)它感興趣。毫無疑問,在學(xué)習(xí)過程中必須跟上指導(dǎo)老師的腳步,按時(shí)完成指導(dǎo)老師布置的一些作業(yè)。課堂上要?jiǎng)邮智么a,學(xué)習(xí)IT行業(yè)不動(dòng)手敲代碼是一大禁忌,如果只動(dòng)腦,只動(dòng)眼,但是如果不動(dòng)手的話,這將什么也學(xué)不到。學(xué)習(xí)計(jì)算機(jī)知識(shí),在課程上有很多需要學(xué)習(xí)的知識(shí)。這不是一個(gè)人能夠用一人之力全部學(xué)好的,而是將這些課程里的知識(shí)都要掌握、了解些許,不至于在某些層面上一無所知。在專業(yè)課程上都是有一定的聯(lián)系的,有部分課程只是我們的基礎(chǔ)知識(shí),學(xué)習(xí)計(jì)算機(jī)最后需要實(shí)現(xiàn)的是項(xiàng)目開發(fā),而不是單純的學(xué)習(xí)代碼。
有很多人都問,學(xué)習(xí)計(jì)算機(jī)需不需要英語水平。毫無疑問,英語水平是學(xué)好計(jì)算機(jī)的關(guān)鍵之一,但不是絕對(duì)的。有很多的人英語很差也能學(xué)好計(jì)算機(jī),那是通過努力獲得的成果。但是,如果英語水平高的話,在理解代碼的前提下會(huì)有絕對(duì)的優(yōu)勢(shì),哪些地方代碼報(bào)錯(cuò),直接能夠看懂,這就是英語水平的相對(duì)優(yōu)勢(shì)。
其實(shí),學(xué)習(xí)計(jì)算機(jī)呢,還得對(duì)它有興趣。在生活中,有很多編程高手都是自學(xué)的編程。有的人從幾歲開始接觸編程,所以興趣是十分重要的。興趣其實(shí)就是引領(lǐng)你主動(dòng)學(xué)習(xí)計(jì)算機(jī)的一種沖動(dòng),如果你足夠沉迷它,那么它就帶給你無限神奇的回報(bào)。
3學(xué)編程更注重思想
在學(xué)習(xí)一門編程語言時(shí),我們更需要注重的是思想,該思想主要分為兩個(gè)部分。
其中一個(gè)部分就是具備算法編程思想,這個(gè)算法編程思想,可以運(yùn)用在JavaSE上,以下舉例,用Java語言來舉例。那么如何具備這種算法上的編程思想呢?就拿最常見的算法題目:斐波拉契數(shù)列,來舉例說明,像這樣:1 1 2 3 5 8 13 21 34…F(1)=1,F(xiàn)(2)=l,F(xiàn)(n)=F(n-1)+F(n-2)(n>2,n∈N*),這樣的數(shù)列也稱為黃金分割數(shù)列,或者兔子數(shù)列。面對(duì)求這樣一個(gè)數(shù)列,有多種算法可以求出,以下舉兩個(gè)例子來說明。首先,可以采用遞歸方式,用遞歸方式求取數(shù)列第n項(xiàng)的值,只使用一行關(guān)鍵性的代碼便能求出結(jié)果,從這個(gè)數(shù)列的第三項(xiàng)開始,可以找出一些明顯的規(guī)律,第M項(xiàng)等于前兩項(xiàng)之和,因此我們就能得出第三項(xiàng)開始,后面數(shù)的值。但是,采用遞歸的方式來實(shí)現(xiàn),當(dāng)數(shù)列n的值很大的時(shí)候,就會(huì)產(chǎn)生效率較低的問題,這是采用遞歸方式的缺點(diǎn)。其次,可以采用for循環(huán)來解決這一問題,采用for循環(huán),只需用一個(gè)變量來裝計(jì)算出來的值便可以解決問題了。
另一部分的編程思想主要是具備開發(fā)思想,這個(gè)開發(fā)思想,主要運(yùn)用在JavaEE上,例如,使用MVC思想架構(gòu)。MVC是一種使用設(shè)計(jì)創(chuàng)建Web應(yīng)用程序的思想,M是指Model,也就是模型,表示應(yīng)用程序核心,比如一些數(shù)據(jù)庫的記錄列表,也就是每一個(gè)實(shí)體;v是指View,也就是視圖,用來顯示數(shù)據(jù)庫記錄的數(shù)據(jù)到前端頁面中;C是指Controller,也就是控制器,用于處理輸入數(shù)據(jù),在這個(gè)層次需要實(shí)現(xiàn)接收數(shù)據(jù),跳轉(zhuǎn)頁面和調(diào)用業(yè)務(wù)三種動(dòng)作,該層次的作用就是把寫人數(shù)據(jù)庫記錄請(qǐng)求數(shù)據(jù),以及轉(zhuǎn)發(fā)到視圖層次上。
在編程過程中,需要思想的奠定。思想的形成并不是一下子就能夠形成的,這是需要時(shí)間的沉淀的,需要經(jīng)驗(yàn)的積累,像是匯編語言,我們要知道它的語法規(guī)則,以及運(yùn)用領(lǐng)域。再例如C語言,c語言是面向過程的語言,在大學(xué)的學(xué)習(xí)中,c語言是基礎(chǔ)課程,學(xué)習(xí)C語言可以為你的編程思想奠定基礎(chǔ),利用C語言學(xué)習(xí)算法,以及數(shù)據(jù)結(jié)構(gòu),更能加強(qiáng)你的編程思想。比如我們學(xué)過的C++/C和Java這部分語言,它們的功能是面向?qū)ο笾g的,是一種基本的編程基礎(chǔ)。由此看來,學(xué)編程更注重思想,思想的形成,有利于編程,更有利于自身思想的形成。
4學(xué)編程更需要實(shí)踐
記得剛進(jìn)入大學(xué)的那個(gè)時(shí)候,我們接觸到的編程實(shí)踐很少,我們每天的課,都是做一些和編程沒有關(guān)系的事情,那時(shí)候一天就想著敲點(diǎn)什么東西出來,想找一些成就感什么的。但其實(shí)那時(shí)候我們學(xué)的都是一些基礎(chǔ),一些計(jì)算機(jī)方向上的思維,只是我們自己不是很清楚而已,后面開始接觸C語言之后,慢慢地感覺到了編程的魅力。也感覺變成是個(gè)非常好玩的有意思的東西,那時(shí)候我們就學(xué)一些簡(jiǎn)單的語法之類的,其實(shí)一開始感覺還是蠻簡(jiǎn)單,沒有意思的。然后一大部分人都開始放松了警惕,那我們交的代碼也沒有越來越多,感覺都是在敷衍自己后果可想而知。
在基礎(chǔ)不扎實(shí)的我們,在來到了大二下和進(jìn)入大三的時(shí)候,有一些計(jì)算機(jī)編程上的思維開始學(xué)起來有些吃力。那時(shí)候才發(fā)現(xiàn)基礎(chǔ)不是非常的雄厚。以至于我們?cè)陂_始做一些系統(tǒng)的編程,和一些簡(jiǎn)單的系統(tǒng)的時(shí)候,我們會(huì)發(fā)現(xiàn)有些地方還是需要加強(qiáng)的。說白了就是我們之前學(xué)的理論基礎(chǔ)沒有很多的去實(shí)踐,交代碼來加深我們的印象和記憶,到后面真正開始需要用到以前的知識(shí)的時(shí)候,我們已經(jīng)將前面的知識(shí)感覺到模糊了,有些東西甚至都記不住了。到這時(shí)候程序輸出的正確卻又讓我們感受到了成功的喜悅,柳暗花明來自及經(jīng)過不懈努力解決了不能解決的bug時(shí)。正是這些體驗(yàn)、嘗試,然后我們了解到樂趣橫生的編程。
如果你喜歡一些喜歡新鮮事物和挑戰(zhàn),編程一定能給你帶來一定的樂趣。我們會(huì)有很多機(jī)會(huì)能把興趣和編程聯(lián)系起來,各種課程會(huì)有各種課程設(shè)計(jì),老師的要求通常是,使用Java語言或是其他語言、使用與課程相關(guān)的知識(shí),做一個(gè)作品。這時(shí)我們可以做些自己想做的課題,做些有意思的,自己會(huì)使用的東西。
在學(xué)習(xí)編程時(shí),嘗試去一種較高于自身水平的任務(wù)與項(xiàng)目是對(duì)自己提升最有幫助的學(xué)習(xí)方法就。如果你學(xué)會(huì)并熟練地使用棧數(shù)據(jù)結(jié)構(gòu)之后,我們就可以了解一些括號(hào)匹配的實(shí)現(xiàn)原理,以及利用棧嘗試自己實(shí)現(xiàn)。編程面對(duì)的是操作系統(tǒng),語言,編譯器,標(biāo)準(zhǔn)庫和運(yùn)行時(shí)環(huán)境共同提供的抽象和虛擬環(huán)境,而不是機(jī)器的實(shí)際環(huán)境。我們最喜歡做的事情,就是增加一層中間層或增加一層抽象。抽象的目的是,覆蓋掉一些我們不需要或者說是不應(yīng)該去關(guān)心的下層實(shí)現(xiàn),細(xì)節(jié),從而讓我們能夠有更多的時(shí)間去關(guān)心重要的東西。
這里就要說到我們?cè)趯W(xué)習(xí)計(jì)算機(jī)類課程中,在有些時(shí)候不必太刨根問底,比如說,當(dāng)你在C的一個(gè)函數(shù)里面定義inti的時(shí)候,不需要去關(guān)心這個(gè)i的內(nèi)存分配在何處,它的相對(duì)地址是多少,你只需要關(guān)心這是一個(gè)名字叫i,運(yùn)行期為這個(gè)函數(shù)的生命周期,在函數(shù)返回后即銷毀的整形變量。當(dāng)你調(diào)用printf一些函數(shù)的時(shí)候,你不需要關(guān)心這些函數(shù)如何去寫入你當(dāng)前進(jìn)程的文件表中的第二個(gè)文件,你只需要關(guān)心這個(gè)函數(shù)會(huì)按照你的要求把一些字符放到stdout的結(jié)尾。同樣的,在玩WOW的時(shí)候,你也不需要關(guān)心會(huì)不會(huì)在完成某個(gè)任務(wù)的時(shí)候殺死一只兔子。了解如何使用和看待抽象,了解處在某個(gè)抽象層次的時(shí)候哪些是真正需要關(guān)心的東西,也是程序員需要學(xué)習(xí)的重要技能吧。雖然通常了解下層會(huì)如何去實(shí)現(xiàn)是非常有趣的,但是如果你忘了抽象層次,那么這件事情就沒有那么有趣了。
5總結(jié)
本文通過對(duì)計(jì)算機(jī)知識(shí)的解析,讓計(jì)算機(jī)初學(xué)者,找到適合自己的學(xué)習(xí)計(jì)算機(jī)的方法。在大學(xué)學(xué)習(xí)計(jì)算機(jī)類專業(yè),要了解學(xué)習(xí)哪些課程,每個(gè)專業(yè)都會(huì)學(xué)習(xí)不同的課程,為什么要學(xué)習(xí)這些課程,這些課程是如何進(jìn)行劃分的,又有什么聯(lián)系等問題。如何學(xué)習(xí)計(jì)算機(jī),對(duì)于這一問題,需要根據(jù)自身情況而定,我們要對(duì)自己所學(xué)習(xí)的專業(yè)感興趣,激發(fā)自己的自信心,相信自己是可以學(xué)好計(jì)算機(jī)相關(guān)課程的,還得對(duì)編程感興趣,對(duì)比有些沿海城市的學(xué)生,在小學(xué)時(shí)就已經(jīng)激發(fā)自己的編程思維,學(xué)會(huì)動(dòng)腦思考問題,那么對(duì)于我們這些,在大學(xué)才接觸編程的學(xué)生,更需要提升編程思維,學(xué)會(huì)編程。編程對(duì)學(xué)習(xí)計(jì)算機(jī)類專業(yè)的學(xué)生是非常重要的,我們需要注重編程思想,這不僅僅是基本語言的編程思想,還包括在做項(xiàng)目時(shí),所要用到的編程思想。那么,這就需要學(xué)生具備這種編程能力,在編程過程中有思想架構(gòu)的體現(xiàn)。在學(xué)習(xí)編程時(shí),并不是看編程、理思路這么簡(jiǎn)單,還需要我們賦予實(shí)踐,在實(shí)踐中總結(jié)經(jīng)驗(yàn),編程是一種經(jīng)驗(yàn)的積累,和能力的沉淀,需要一步一步進(jìn)行的。俗話說,心急吃不了熱豆腐,無論做什么事都是一樣的道理,學(xué)習(xí)編程不能是看不練。
[通聯(lián)編輯:梁書]