㈠ 如何系統,科學地自學編程知識
事實上要回答你的問題恐怕已經遠遠超出我的能力范疇之外了。因為對於什麼樣的學習才算得上「系統」幾乎是一個哈姆雷特式的問題——人們很難在這一問題上達成一致。
因此拋出答案幾乎只是在引發更多的爭議。所以在討論這個問題的時候,我必須承認下述描述只是我自己的一點小小的體會,只希望能對你有所幫助,這些看法並不「權威」,也不完全「正確」。
一般來說對於計算機科學的學生來說,下述課程是非常關鍵的:
提醒:學習時注意把握合理的深度,不可太浮於表面,也不可太過拘泥於部分細節,對於初學著重掌握基礎內容,能在概念上建立一個合理的認識就可以。真正的學習是在後面的職業生涯中完成的。
一、基礎篇(理論與硬體)
這一部分關注的是計算機的基本理論與基本實現。包括硬體結構理論,以及軟體與硬體的交互。以理論開篇,在機器語言部分深入,最終在操作系統部分達到高潮。
1、計算機實現計算的原理。這包括門電路是如何實現計算的,時序電路是如何實現存儲的,馮諾依曼體系結構是如何將二者結合實現了真正的現實世界的計算機的,以及它是如何反映圖靈機這一理論計算模型的。其間會學習布爾邏輯。
2、如何控制計算機硬體。這部分使用的「工具」就是機器語言和匯編語言。我們需要理解機器語言的本質,以及它如何以「匯編語言」這種更容易理解的形式為程序員提供了控制硬體設備的機會。這部分可以學習到很多非常低級但是本質的內容。
3、操作系統是如何工作的。如果你理解了上一部分的計算機硬體相關的問題,那麼理解操作系統的工作原理將不會那麼困難。另外你將明白操作系統作為硬體和上層軟體的中間層次,是如何大大簡化了人們對硬體的操作過程的。
二、進階篇(軟體系統)
1、編程語言。這包括結構化編程語言以及面向對象編程語言。因為有很多選擇,其實以一門語言開始即可,如果你在前面正確的理解了硬體與機器語言,那麼C語言入門真是太簡單了,如果你運氣不好,覺得C很困難,那麼即使是從Python、Javascript開始學習也沒問題。重點在於理解編程中和語法相關的基本概念,並了解一些簡單的演算法知識。
2、數據結構與演算法。說白了就是如何合理的組織數據,通過其結構特點來簡化編程或者提高計算的效率。這里的內容是模式化的,所有人都需要學習無序結構、有序線性結構、樹結構、圖結構等。另外,排序演算法、查找演算法必須學好,特別是演算法策略如遞推、遞歸、蠻力(窮舉)、分治、動態規劃等也必須有所實踐和了解。切記不必深陷其中,這里是個大坑,你不可能真的「精通」他們。
3、編程語言是如何實現的。這里主要涉及編譯原理。當你站在高級編程語言實現者的角度再來認識編程語言本身的時候,許多問題豁然開朗。這會深刻的改變你的編程觀。可惜的是即使是很好的學生在這里也會遇到很大的阻力。真正的問題不是這方面理論性有多強,而是教材都很爛——包括國外教材(什麼龍書虎書鯨書都根本不是為初學者准備的),而且語焉不詳。這導致大部分人都感覺莫名其妙高深莫測。如果你不是有志攀登軟體設計的最高峰,可以繞行。否則從表達式運算解析開始,逐步引入變數,類型,控制結構,函數,再到對象,一步步構建出解析器,然後結合前面學習的硬體介面知識,將其轉換為低級表示,最後你會發現沒有那麼可怕。
三、基礎領域篇(必備領域知識)
1、互聯網路是如何構成的。這部分包括網路的基本知識,主機間通信的原理,轉發設備的實現,以及互聯網路的構成。這是網路編程所需的基礎知識。除了理解低級協議,也要花一些時間了解應用層的協議,特別是 SMTP、POP3、FTP、HTTP 等,重點是了解他們的基本原理,而不是每個細節。因為每個協議都有自己的標准,光 HTTP 協議就夠你研究 6 個月以上了。這里注重的是原理。
2、如何管理大量的數據並在其上建立信息系統。資料庫是一個很好的例子。包括資料庫系統的基本理論,實現原理,以及設計原則。同樣,這里不是真的在教你如何構建一個資料庫系統,而是在學習他的核心原則,重點是學會如何合理的設計表結構,以及實現效率良好的SQL查詢語句。
四、擴展領域篇(特定領域知識)
1、基於特定平台的軟體開發。如何在Windows平台、Linux平台、Mac OS平台或者手機、平板、電視機、微波爐上完成開發?這需要學習特定的軟體平台提供了哪些編程介面,如何編譯並部署,如何調試和測試等知識。這部分就是軟體工程師職業生涯中最耗費時間的部分。
2、有效的軟體研發是如何實現的。這包括軟體結構的設計知識,軟體實施流程的管理知識,以及一些細微而繁雜的內容。人們通常用軟體工程一詞來概括。但事實上軟體工程站的角度要更高一些,這里只是涵蓋軟體工程的一小部分。
五、科技領域篇(研究性知識)
如果你對人工智慧、科學計算、圖像處理感興趣,這里還有大片的區域等待你探索。
事實上,上面的描述有些嚇人。每一個領域都夠耗盡去很長的時間。不過好消息是大部分知識都只要求在理論上理解。真正的耗費時間的部分還是在與編程、編程、編程。不是每個人都會用到資料庫系統,也不是每個人都需要懂得匯編語言。但是這些背景知識會對你有幫助。讓你不再害怕,對自己更有自信。
如果你希望自己成為一個很棒的開發人員,那麼上述知識都是必須的。但是卻依然遠遠不夠。
學無止境,計算機科學尤其如此。
㈡ 零基礎學編程如何才能學好編程
現在學電腦的人越來越多,零基礎參加電腦編程培訓是多數人的狀態,可能有些人覺得自己沒基礎,還沒學就打退堂鼓了。但是優秀的程序員也不是一出生就會寫代碼的,大家都是從零開始學。愛因斯坦都說了,天才是百分之一的天分加百分之九十九的汗水。所以不要膽怯,下面IT培訓分享幾個零基礎學習IT專業的學習方法。
1、選一門編程語言學編程自然要先選一門編程語言當入口。語言都是工具,選工具前你要拍明確自己做什麼東西,然後找什麼語言適合做。例如做安卓應用學Java,做大數據或人工智慧學Python。
2、卜拆納選好了語言不要糾結版本問題第二選擇學一門語言不要糾結學什麼版本,例如現在是安裝Java6還是Java7還是Java8啊?學型沒新出的就行,新人在很長時間內不會受版本的影響。而且等你學完,可能這個版本就是穩定主流版本了。
3、先搞定語法一開始不用學枯燥的計算機組成原理、設計模式之類的知識。就先學語言,也不用深究歷史優點區別,直接學語法。不用管那麼多,先做些看得見的東西。敲代碼一直敲下去,感受一下控制計算機的感覺。先學好一門語言回頭再來看看歷史和做比較,看看大師們的理論,逐漸向外擴展更多知識或許更有效率。
4、善於尋找資源根據你學習的熱情和進度,可以給予一些指導,去找一些學習的資源。用搜索引擎,不鼓勵一開始直御答接敲代碼暫時跳過其他知識。但是學編程前先學會科學上網我是大大提倡的。
5、自學不行就報培訓班有部分小夥伴是屬於自己不會入門,找不到思路學習,網上海量的學習資源反而成為了負擔,因為資源太多太雜而不知道從何下手。還有部分學員是自我控制力比較弱,三天打漁兩天曬網,學習周期拖的無限長,效率也不高。
㈢ 如何入門學習編程
入門學習編程的方法如下:
1、選一門編程語言
學編程自然要先選一門編程語言當入口。語言都是工具,選工具前你要明確自己做什麼東西,然後找什麼語言適合做。例如後端編程學Java、Python;做前端應用學HTML5、UI;伺服器、系統、底層驅動學C/C++。
編程是否可以自學:
答案是肯定的,而且自學是學習軟體編程極其重要的一個途徑。不過最好的方式是自學的同時,有一個可以幫助解決問題的同事或者老師,這樣可以避免卡在一個問題上太長時間。現在有很多途徑可以自學,例如IT圖書,或者在線視頻教程等。
簡單地說,只要具備正常的思緩爛維能力,就可以學習編程。把一個大的問題分解為若干個小的問題,解決了小的問題,大的問題就解決了,這種分而治之的思考方法是一種相當工程化的思維,也是科學技術在過去的兩百年裡的統治性思維。編程實際上就是把生活中常見的思維活動用編程語言表達出來的一個過程賀困。
㈣ 想學編程 應該怎麼學
快速漏告學會編程的方法如下:第一:計算機基礎知識。計算機基礎知識對於學習有重要的作用,其中操作系統(體系結構)、計算機網路、資料庫等內容對於學習編程語言的幫助作用還是比較大的,尤其是操作系統知識。對於不少學習編程語言的人,如果計算機基礎知識比較薄弱,那麼在學習編程語言的過程中也需要補學相關內容。第二:。編程本身要解決的問題就是實現邏輯思維的過程衫搜陪,所以學習編程語言的或蠢人往往需要具備一定的邏輯思維能力,而數學基礎對於邏輯思維能力有較大的幫助作用。其實軟體開發問題說到底就是數學問題,而軟體編程過程說到底就是演算法和的整合。因此,數學基礎對於軟體開發人員,尤其是研發級程序員來說,是非常重要的。第三:實踐能力。編程語言本身就是一種工具,所以要想順利的掌握一門編程語言就一定要有較強的實踐動手能力,學習編程語言一定要多做實驗。不少程序員在學習新的編程語言的時候,往往都是一邊用一邊學,所以多做實驗是快速掌握編程語言的訣竅。
㈤ 怎樣學習編程
學習編程的方法:1、選擇一門編程語言。雖棚攜然目前編程語言有600種左右,但是比較流行的編程語言只有幾十種,所以盡量選擇流行程度比較高的編程語言來入門編程。對於沒有明確編程場景的初學者來說,盡量選擇全場景編程語言,比如Java、Python、C#等就是不錯的選擇,不僅應用范圍廣泛,而且也有大量的開發案例可以參考學習。2、建立基本的編程思想。編程語言本身的難度並不高,只要余蔽掌握了相應的編程規則就能逐漸建立起自己的編程思想。建立編程思想的第一步是了解編程語言的基本語法規則,以Java語言為例,要掌握各種抽象概念,比如類、對象、屬性、方法等;第二步是了解基本的編程過程,比如類的定義、對象的創建、方法的調用;第三步是學習經典的編程模式。3、注重實驗。學習編程語言一定要重視實驗,實驗不僅能夠幫助理解各種抽象概念,也能在一定程度上積累編程經驗。4、學習相關知識。在學習編程語言的過程中,也需要同時學習計算機網路、資料庫等相關知識,在當前的雲計算和大數據時代背景下,還需要掌握如何通過雲計算(PaaS)來輔助開發,以及如何利用大數據平台的各種資源。學習編程的技巧 1、尋求幫助嶄新的眼睛或對主題的新解釋可以迅速緩解似乎無法解決的錯誤或主題。無論是在線的還是面對面的,都不要理會巨魔,也不要害怕尋求幫助,因為每個程序員都曾在這里工作。此外,大多數開發人員都喜歡編碼,如果有個人熱愛的事物,那就是與他人分享他們的知識。2、尋找更多的在線資源
如果某個特定的概念沒有意義,則可以在教科書中或在課堂上講課時保持自信,並尋找其他在線資源來學習相同的內容。每個人的學習方式都不一樣,僅僅因為一個來源沒有道理,並不意味著您有什麼問題。這意味著您無需單擊材料的交付,用於學習計算機編程的在線資源無窮無盡,並且總是有教程或博客說明,這些內容可以使手頭的材料豎和州變得清晰。
㈥ 如何能學好編程
如何能學好編程?有些小夥伴說太難了簡直不可能,但是對於編程很感興趣的小夥伴認為編程其實挺簡單的,其實學習編程首先需要我們帶編程感興趣,其實我們要有一顆持之以恆的心一直學習下,三天打魚兩天曬網是學不會編程的。當然在學習編程的同時也需要掌握一些學賀慧纖習方法和技巧可以幫我們學習的更快速。那麼如何能學好編程?
接下來針對如何學好編程霍營北大青鳥提供以一些學習編程的技巧和方法,希望對你有所幫助。
1、學習編程一定要看書
現在學習編程變得比以前容易多了,除了有大量的視頻教程外,還有專業的IT培訓機構,這都使學習變得更加傻瓜化,然而我要說的是,編程雖然變得越來越容易學,卻只是代表入門容易,並不代表這門編程技術就真的變簡單了。如果僅僅學了些皮毛,高手寫的程序是你望塵莫及的。在學習的過程中,書籍永遠是知識最好的載體,很多優秀的程序員大師精心編撰的編程書籍,富含的不僅僅是一些知識,更多的是他們所傳授的思想,通過看書,鑽研書籍中的內容,會讓你變得更加聰明,寫的程序也更加的精煉。
2、學編程的時候,一定要獨立思考
現在網路很發達,我見很多程序員總愛網路,包括我帶的許多學生也是這樣,一個jdbc這么初級的東西,他們編程幾年了,每次用還總是網路查。這個東西應該是熟記於心的。隨時用,信手拈來,這樣才能成為高手。就好像一個修理工,一邊查手冊,一邊給你修車,亦或是一個醫生,一邊看教程,一邊給你看病,想想就覺得恐怖。
3、學習編程演算法很重要,要不斷的優化程序
現在很多人都是快速的學習,快速的練習,反復的練習。而我的建議是,無論你學到什麼階段,都要去不斷的優化自己的編程,能用3行實現的程序,不用5行,這樣你編寫的程序才能更加凝煉。而且,編程學習的中後期碧枝,就要重視演算法,盡量使編程優質,這才是編程的美妙之處。
4、寫一個程序,不斷改進
你學習的過程可能很漫長,我建議你從一開始的時候,就想著寫一個小程序,比如一個計算器的程序,開始可能很簡單,僅僅通過命令行的方式呈現,功能可能也只有加減乘除,但是隨著你學習的深入,你可以不斷的完善這個程序,直到有一天,你把它做成一個非常完善,性能非常卓越的程序後,你就真正學成了。
5、記得寫一些經驗和技巧,要不斷總結
不要一步一扔。要學會總結,經常禪仿把自己遇到的問題及解決方案記錄下來,經常瀏覽自己曾經記下的這些東西,有了這些內容的積累,你會發現,你成長的很快。
㈦ 怎樣學習編程
如何學習編程,主要有自學和報班兩種途徑,至於需不需要報班,可以結合自己的實際情況來進行判斷,這里簡單介紹下。
學編程的注意點:
1、要確定好自己一定能學下去,不能是三分鍾的熱度,只是學個熱鬧,這樣永遠沒有辦法學的會。
2、一定要打好基礎,剛開始學習編程的時候可能會很慢,感覺自己沒學會啥,這可能是因為正處於打基礎的階段,只有把基礎打好,未來才可以學得更好。
3、要注意實踐操作,理論知識學得再多,如果不能實際的運用,還是等於0的。
自學還是報班:
1、如果你可以規劃好自己的學習過程,堅持一步步向前走,那麼自學當然是很好的。
2、如果你沒人監督就學不進去,也沒有自己的學習規劃,那麼還是建議你報班,可以少走冤枉路。
不管是自學還是報班,學編程的要注意的點是相差不大的,希望我的回答對你有幫助!
㈧ 學編程要怎麼學
學編程入門建議:
1.學編程要從根本出發,從理論上來說,需要廣泛的閱讀。了解演算法的博大精深和計算機的基本理論。
2.從實踐上來說,需要有廣泛的練習,練習的廣泛在於練習不同的內容。然後就是創新精神和數學思維能力,這些都是需要培養的。基礎要打好學編程要具備一定的基礎。
3.邏輯思維能力的培養、學程序設計要有一定的邏輯思維能力。「思維能力」的培養要長時間的實踐鍛煉。要想成為一名優秀的程序員,最重要的是掌握編程思想。要做到這一點必須在反復的實踐、觀察、分析、比較、總結中逐漸地積累。
㈨ 如何學好編程
學習編程是一件好事 不過之前你得先了解 你學習編程的目的是什麼 這個很重要 因為目的決定發展方向
目前對於編程有很多種編程語言以及相對應的開發軟體 下面說明一些常用的編程語言 根據你的情況選一種語言進行學習 不要盲亂學習
C語言 一種可移植性和多系統平台的編程語言 開發軟體TC
VB 一種可以說是既學既用的軟體開發語言 開發軟體如:VB6.0
DELPHI 一種和VB差不多的既學既用的軟體開發語言不過其功能遠比VB強大 代碼書寫上更加方便
開發軟體 DELPHI7.0
JAVA 一種功能強大可移植性強開發語言
程序語言,顧名思義就是語言,是用於交流的,程序就是計算機的語言和人的語言的翻譯者,做一個程序員就是要把人類世界的問題用計算機的方法去解決和展現,可是因為種種原因,大多數人在如何學好語言,如何學好開發平台上疲於奔命,到頭來你只會敲寫代碼。
程序基本上都是自學的,買書是一開始碰到的最頭痛的問題,計算機的書大多都很貴,現將我的一點經驗供大家參考:
如果想做一個合格的程序員,C++是一定要學的,
首先你要花兩個月的時間學習C,C++,這樣的書很多,去選一些大學的教材足亦,切記,不要花過多的時間研究C++,兩個月夠了,只要學會其中語法就行了,不要為了深入用DOS編寫菜單什麼的,那是吃飽人參了。
如果你有過多的時間,接下來你可以學習數據結構,推崇《數據結構C++語言描述》,清華大學出版,58元,但如果無過多時間,還是不看為妙,至少我現在從未用過這本書的知識,許多東西MFC VCL等開發平台都為你已經做好。
接下來開始學習Windows下的SDK編程, 推崇《Windows程序設計》160元,建議去借,不要買,而且你只看上冊,你只要了解Windows的運作機制即可。兩個月
然後你將轉入VC的世界,既然要在Windows下編程,VC不可不學, 推崇《VC++技術內幕》第四版,96元,三個月,不要全部看,看前面的三部分,後面不要看。後面的只是對COM,資料庫,Internet形如雞肋的介紹。
接下來你應該考慮一下你將要發展的方向,如果是做資料庫,你可以用VB和Delphi或CB, 如果要做通信方面,或者硬體,你將要深入VC, 如果是WEB相關的,去學學ASP,JAVA,JSP,XML等,但有一樣你必須要學的,COM。COM與其說是一樣新的技術,還不如說是種機制,推崇潘愛民的《COM原理和應用》39元,你可以一邊看這本書,一邊學習些ActiveX組件,ATL控制項等等。如果你有的是時間,不急於找工作,你還可以看看《Windows高級編程》或《Windows核心編程》,但不管怎麼樣,你要切記,VC不是用來做界面和資料庫的,做網路的現在也有JAVA,都是用來做一些很底層的東西,VC是很高薪的,如果你對自己有充分的信心和有的是時間,你才可以深入VC。否則的話,還是看看人才市場,看看行情,再說。
還有一點切記,有些書,諸如《MFC深入淺出》這些書主要是關於那些技術原理的介紹,我個人認為程序只是工具,只是技術,只要學會用,能完成任務即可,如果有的是時間,才會去探索根源,也許有許多人會說,懂了原理對你編程會有很大幫助,我不否認,但是,要知道,就算你編程技術如何了得,你只是個技術人員,當你學了那麼多的技術和知識,第一,計算機的知識其實是各大公司制定出的標准,標准變了,你不是白學了嗎?第二,當你花了幾年的時間學習,到頭來你只不過程序水平提高一點。我認為應當將你的大部分智力和精力用在如何與人打交道,電腦讓你用的好有什麼用,人腦讓你擺弄的好才算真本事,就如《黑冰》裡面的計算機工程師,雖然對計算機十分精通,可有什麼用,還不是死在王志文的手裡?而且死的很慘,臉都毀了。
另外,不要去學你喜歡的,也不要去費勁腦子想該學什麼,看看人才市場,市場需要什麼,你學什麼。
㈩ 編程怎麼學
編程學習方法如下:
學習編程的好處:
1、編程幫助人培養邏輯思維能力和抽象思維能力。為了使計算機能夠理解人的意圖,人就必須要將解決的問題的思路、方法、和手段通過計算機能夠理解的棗豎形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。學習編程能夠培養人的體系化思維、邏輯思維和抽象思維!經證實80%人在學習少兒編程後,自然科學理解能力有顯著提升凳襲大!
2、編程提升創造力,幫助人跳出思維定式。根據調查研究,人在15歲後便會形成思維定式,如果他們在此前從未有過發揮獨一無二的創造力的機會,將來不管遇到什麼樣挑戰,大腦會慣性地告訴他們,這件事是無能為力的,人的人生從此變得平庸。而編程的過程就像藝術一樣在創作,人們會享受到創造的樂趣。
3、編程增強人自信心,提高做事情的專注力。完成一個完整程序的製作能夠有效提高人做事情的專注力,一個由自己一步步建立而來的作品更是能夠增強人的自信心,讓他們可以更有勇氣地面對將來學習、生活中可能遇到的挫折。