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