編程學習方法

1.時間管理css

關於時間的管理。首先,要有一個大一點的計劃,好比年計劃,月計劃,周計劃。這一年大致上要打到什麼目標,這個月要學習哪些知識。html

而後是精確到小時的日計劃。每一天,哪一個時間段作什麼都詳細的列出來。前端

其次,不要太盲目自信。不少人其實歷來沒有完成過本身的計劃。若是你真的可以完成你制定的每個計劃,那如今的你必定已經很了不得了。java

若是你幾乎沒有完成過本身的計劃,那麼你一開始制定日計劃的時候,不要給本身太多的任務。由於若是你一旦完不成,就會影響本身的信心。python

最好的方式是,一開始制定一些簡單的計劃,而後天天很容易就能作到,而後慢慢的去增長本身天天的任務量。android

最後找到一個最適合本身的節奏。這個過程可能須要很長的時間,由於你要不斷的去嘗試,去改進。找到最適合本身的做息時間去休息,找到本身工做狀態最好的時間去工做等等。ios

關於時間管理以及計劃的制定,每一個人都應該有一套本身的計劃,由於每一個人的狀況不一樣。c++

最後,不要把你的計劃當擺設。雖然我上面說過,不少人其實歷來沒有完成過本身的計劃。可是我仍是但願你可以認真的去對待它,由於受益的有且只有你本身。git

2.學習步驟github

2.1確認學習目標  

首先,你須要確認你要學什麼,切記不要三心二意。學習最好一個時間段專注的去研究一個知識點,不要今天學 python 明天又想學 java 了。作什麼事都有有一個目標,否則容易成爲無頭蒼蠅。

目標往大了說,能夠是成爲某一個領域的大牛,往小了說能夠是今天的一個學習計劃。

hr 面的時候,一個常見的問題是:你的職業規劃是什麼。一個優秀的人,必然會有一個屬於本身的職業規劃,知道本身在什麼時期要作什麼,知道本身每一個時期要完成什麼樣的目標。

學習也同樣,當你有了一個清晰的目標的時候,你纔不會迷茫,纔不會不知道作什麼好。

2.2制定學習計劃

上面也提到了這點,計劃可能趕不上變化,也許今天正好有別的事情致使今天的計劃沒有完成,可是至少大方向是有的,你不會不知所措,不知道最近應該作什麼,這纔是計劃的根本價值。

因此,不要擔憂計劃完不成,這是給你本身學,一天的計劃完不成又能怎樣呢?

2.3本身找資料開始學習

請記住,不要當一個徹頭徹尾的伸手黨。由於輕易獲得的東西你是不會珍惜的。而且,你不要祈禱你這一生全部學習須要的資料都有人會提供給你,本身找資料自己就是自學能力的一部分。

固然,我並非說不讓你們去羣裏問,畢竟能問到也是一種本事,可是你必定要有本身的資料來源,不管是博客仍是書或者是官方資料。

2.4腦圖與流程圖

學習歷來都不是隻看看書就能學會的,本身構建相關知識腦圖和相關步驟的流程圖是很是有必要而且很是有效果的。

好比你要學習java,你能夠先從網上找一找別人畫的腦圖,對java有一個大體的瞭解,每學一個小的知識點,就本身繪製一個該知識點的腦圖,學完以後,本身再畫一個整個 java 體系的腦圖,這樣你會對 java 很是的熟悉。

好比你學 GC,光看書或者博客是很難記住那些流程的,這個時候,你本身畫一個流程圖,我保證你對這個過程會很清晰。記住:就算是有現成的圖,你也應該本身畫一個,本身畫和看別人的是徹底不一樣的兩個層次。

2.5編碼

上面的那些,都是掌握理論知識的步驟,是騾子是馬還得拉出來溜溜。編碼纔是重中之重,就算你能把一個知識點吹得天花亂墜,可是一句代碼不會寫依然沒有什麼用。

2.6筆記

好記性不如爛筆頭,學完的知識,而後記錄下來,本身總結一遍,收穫有多大大家試試就知道了。

2.7回顧

若是你學的東西,好久都沒用,忽然有一天你又要撿起它,你會發現,你以前作的努力,太特麼值了,你有資料!有腦圖!有流程圖!還有筆記!分分鐘就記起來了。

本身寫一個有實際應用的 demo

若是有必要,能夠寫一個有趣的應用,不是簡單的範例。

這個過程,實際上是很耗時的,學生建議按照這個流程來,由於學生的時間大把大把的,時間不多的就根據自身狀況取捨吧。腦圖和流程圖我以爲收益很高。

上面說到,有的時候看完一本書再從頭看,感受像是在看一本新書。因此我後面看書的時候,也會作相應的筆記,看的時候會在書上勾勾畫畫,給一些重要的地方打上標記,看完以後,合上書,用記事本把本身剛剛學的的東西寫一下(大綱就行),而後再和書上比對一下作一些修改。

當我看完一本書之後,對應的,我還會有一個筆記,之後我甚至徹底能夠看本身的筆記而不須要再看書了。看 + 回憶 + 記錄,可讓你充分的掌握一本書的核心。

步驟大致上是這樣,可是也千萬別死板的都按照這個過程來,畢竟仍是很耗時的。

 

3.外物的影響

 

我主要說的是手機。如今手機已經成爲人生活中不可或缺的東西了,它帶給咱們方便,可是同時,它也佔據了咱們大量的時間。

 

我不知道你們平時會不會時不時的打開手機,大部分狀況下它和以前毫無變化,可是你仍是忍不住的打開它瞅幾眼;

 

或者有幾個羣在不停的閒聊,而後你也忍不住的參與進去,不知不覺時間就溜走了。

 

不要成爲被手機支配的人,因此,當你工做或者學習的時候,把手機靜音,放在一邊,不去看它,這樣你會節省出不少的時間。

 

除了手機,另外一個外物的影響周圍的環境。若是你能在一個嘈雜的環境中學習,那就很棒了,若是不能,記得給本身找一個溫馨的學習環境。

 

 

關於大學生的學習

 

大學學計算機其實大部分時間仍是得看你本身,老師上課講的東西很重要,可是那些都是基礎中的基礎,憑藉這些並不可以讓你找到一份滿意的工做,因此你還須要本身去學不少不少的東西。

 

我簡單的概括了一下大學幾年要作的事,大家能夠參考一下(假設你之後的方向是 java )。

 

【大一】

 

這個時候,剛剛接觸計算機,你可能什麼都不懂,聽課也是一臉懵逼,什麼for循環,if語句,噁心的不得了。這個時候你要作的不是抱怨,而是去努力的尋找樂趣。由於你已經入了這個坑了,除非你轉專業,不然你是擺脫不了它的。

 

怎麼尋找樂趣呢?我以爲,編程最大的魅力,就是當你成功的時候的那種發自心裏的成就感。不知道你們還記不記得第一次寫 helloworld 的時候,各類出錯———分號寫成中文的了,大括號少了一個———可是最後終於成功的輸出告終果的那種喜悅。

 

對於一個剛剛接觸編程的人,我以爲,寫遊戲是最容易得到成就感的。這裏給你們推薦一個知乎專欄—- 作遊戲,學編程(C語言)。

 

專欄的做者,經過讓一些學生作遊戲來學習c語言。我以爲這個一個很好的學習方式,即有挑戰性,又能夠培養出成就感。

 

大學的入門語言差很少都是c或者c++吧。。若是不是,你也能夠參考一下專欄裏的小遊戲,而後用你本身的語言試着寫一下。

 

可是,我要重點說的是。寫遊戲實際上是一件頗有挑戰性的事。有的人也許會在一開始就陷入困境,不知道如何繼續下去。這個時候,若是你能堅持下去,多問問老師,學長,百度,google,把問題解決,那你之後確定會很優秀。

 

若是你放棄了,不要灰心,由於並非全部的人都適合經過遊戲來培養興趣,你也能夠經過作一些 acm 的題來提升本身。每一個學校應該都有相關的網站吧。若是沒有的話,能夠去浙大的看看。

 

或者 leetcode 或者牛客網也能夠 。作一些本身能力範圍以內的題,也能夠提升本身的興趣。

 

固然,這些只是針對一部分同窗,畢竟不少人其實對代碼無感。。根本耐不下性子去寫代碼。對於這部分同窗,我建議去學習 html 和 css。

 

由於它們入門超級簡單,是用來寫網頁的。沒有 c 語音那麼複雜的邏輯,幾個標籤,幾個css就能夠設計出一個精美的網頁,我想這也會頗有成就感吧。

 

大一的這一年,是打基礎,培養興趣的一年。不須要你有多麼大的成就,寫出多麼厲害的程序。只要你可以培養出興趣,而且願意在編程這條路上走下去,那麼你的任務就算完成了。

 

因此,這一年,你要作的,就是培養興趣,讓本身愛上編程(最基本的要求)。

 

【大二】

 

假設你如今已經喜歡上編程了。可是通常大一隻會學一門語言(默認c/c++,不要問我爲何,由於我就是這麼學的。。)。

 

因此你可能只是寫了幾個小遊戲,寫了個小管理系統或者刷了一些題。你不知足於現狀,你想作一些更有意思,更好的東西。同時,這個時候,學校應該也開了 java 課了。(假設你要學 java )。

 

寫在前面:大二要作的,是拓寬你的廣度!!!廣度!!

 

首先,你要好好學 java。可能學校的進度是一個學期。可是我建議你們用一個月的時間學完。由於有了 c 和 c++ 的基礎,java 其實很容易就學會了(入門級學會)。

 

更好的狀況是,你在大一結束的那個暑假,就抽時間先搞定 java 基礎。這樣當開學的時候,別人還沒接觸 java,而你能夠驕傲的和別人說,你都學完了。成就感滿滿的。

 

那麼,怎麼學 java 基礎呢?個人建議是視頻爲主,入門書爲輔,本身跟着寫代碼。

 

看書實際上是一件很枯燥的事情,若是你初學 java,只是看書的話可能配置一個環境變量就要搞很久,這會打擊你的自信心。不要小看配置環境變量這個過程。我記得當時兩天配很差環境變量最後讓我幫忙的人可很多。

 

可是視頻就好多了,由於老師會親自演示給你看,你會少走不少彎路,而且也比書有趣多了。

 

書爲輔,是由於老師不可能記得全部的知識,總會有疏漏的地方或者講得不太好的地方,這個時候 書就能夠派上用場了。

 

看完一節課的視頻,而後關掉視頻,本身寫一遍相應的代碼,出錯了本身先試試能不能解決,是在不能的話,再看一遍視頻,直到跑通。而後去看看書裏對這部分知識的講解,加深印象,查漏補缺。

 

這裏的重點是,必定要本身寫一遍代碼。你看的時候以爲本身會了,但是大部分時間,你一寫全是錯誤。因此必定要本身寫。

 

而且,在你初學的時候,不要使用集成開發環境(eclipse idea NetBeans等),就使用 notepad++ 這種類型的編輯器就能夠。

 

這套流程最大的缺點就是耗時比較久,可是效果是很好的。java 裏有不少都和 c/c++ 同樣的,好比一些語句什麼的,若是你已經掌握的很好了,直接忽略掉這些也是能夠的,這就看你本身的狀況了。

 

推薦一些學習資料。

 

  • 視頻: 畢向東,馬士兵,韓順平的視頻都挺好的。口碑也都不錯,不信能夠本身去百度一下。我看的畢向東的,講的挺有趣的。可是每一個人口味不同,你能夠多下載幾套,都聽一下,而後選一套本身喜歡的。
  • 書籍:入門推薦《head first java 》。head first 是一個系列,這系列書最大的特色是圖文並茂和案例驅動,讓讀書的過程不那麼的枯燥。《瘋狂java講義》聽說也挺不錯的,可是我沒有看過,不作評價。
  • 編輯器推薦:notepad++ 免費,小巧。初學者夠用了,直接百度下載就好。sublime , vs code, atom 也能夠,挑一個本身喜歡的就好。

 

一個月,幹掉 java 基礎!這是你大二首先要作的事。

 

前面說過,這一年,你要作的是拓寬本身的廣度。什麼意思呢?就是說,你要儘量的去多接觸一些技術,多學一些知識,由於你之後很難再找到這麼多你能夠自由支配的時間了。

 

java 基礎搞定。接下來,學習 java web

 

你要知道,優秀的人永遠都走在大部隊的前面。不要學校安排什麼你就學什麼,學校不安排你就不學。事實上有的老師講的不是很好,大學裏真正有用的知識,都是本身學的。因此,接下來要作的是自學 java web。

 

依舊是視頻++寫代碼。

 

java web 更重要的是實踐。我當時學的時候的書就是學校的教材。。我是基本沒看書的。就跟着視頻一步一步來,有問題就 google。在大二上學期結束的時候,完成 javaweb 的學習。

 

由於須要和前臺作一些交互,因此免不了要學一點前端的知識(html + css + js)。

 

這個過程當中,遇到的問題千奇百怪,我記得我當時一個小問題 google 了一天都沒能解決,最後才知道是 jar 包版本的問題。。因此,遇到問題是很正常的,遇到很難解決的問題也是很正常的,只要你肯問,肯查總能解決。

 

好了,你如今已經有了本身寫一個小網站的能力了(醜點無所謂)。接下來去參加比賽!進實驗室!作項目!沒有什麼比作一個項目更能提升水平了。

 

因此,你大二下的任務就是儘量的去作項目,依次來鞏固你學的技術。能夠參加一些比賽,或者加入實驗室,或者尋求老師的幫助。總之,你要作項目!

 

除此以外,你須要繼續擴展你的視野。前端(不是你以前學的簡單的html),python,android,ios,cocos。。。只要是你感興趣的,就去接觸一下,不須要你學的多厲害,也不須要你徹底掌握。只是爲了讓你的視野更加開闊,知道原來還有這麼多技術,原來還能夠這樣。

 

大二的一年,你須要學會 java 和 javaweb,而且至少作一個拿得出手的項目。同時,儘量的提升你的視野。當你以爲你一無所知,你仍是個菜鳥,這一年的任務就完成了。

 

【大三】

 

這是很關鍵的一年,由於這一年你將決定是否考研。考研的我就無論了。。接下來是針對準備一畢業就工做的同窗的。

 

寫在前面:這一年,你要作的,是深度!

 

經過大二一年的努力,你的廣度已經足夠了。而且在這個過程當中,你應該也找到了本身最感興趣的方向,若是沒有,那就繼續研究 java 吧,總比你不知道學什麼好。不管怎樣,這一年,你的重心都應該放在一條路上。以 java 爲例。

 

首先,鞏固基礎!

 

這是最重要的。怎麼作呢?進階書籍+看博客+寫總結+寫開源項目。

 

這個階段的視頻不是不少,也沒有必要了。直接看書+看博客+開源項目,最後再總結就夠了。

 

我舉個例子,好比,我如今要學設計模式,我買一本《head first 設計模式》而後一個模式一個模式的學,每學一個模式,看一遍書,而後 google 一下這個模式,看幾篇高質量博客,結合書和博客本身寫一個總結,甚至能夠本身寫一個博客專欄,讓後來者也能享受到你的學習成果。

 

同時,能夠好好整理一下本身學習過程當中的代碼,放到 github 上,最好能夠試着封裝一下這個模式,讓其餘人更方便的使用這個模式。當你收穫一個又一個的star時,你會很是有成就感的。

 

上面是學習的大體方式。學完了,怎麼檢查本身有沒有學好呢?給你們提供一個網站牛客網,你打開就知道怎麼用了。

 

基礎都包括什麼呢?

 

  • 面向對象的思想。
  • java經常使用類。
  • 集合框架。
  • io
  • nio
  • 多線程併發
  • 設計模式
  • 算法
  • jvm
  • 計算機網絡
  • spring
  • orm框架
  • 。。。

 

每一個知識點,不僅是要會用,更要能理解一下底層的原理,有必要的話能夠看看 jdk 源碼或者框架源碼。

 

 

 

你要知道,bat 等大廠每一年會有兩次招聘,一次春招,在每一年3-5月,一次秋招8-10月。

 

春招是招實習生的,秋招是招正式員工。因此,若是你想進這些公司,就要提早作好準備。至少,上面的那些基礎你是必須得都掌握的。

 

大三這一年,要讓你的深度足夠,有能力的能夠繼續延伸本身的廣度。這個階段,最忌諱的是朝秦暮楚。

 

早上看 python,下午發現 go 頗有趣,看了一下午 go,晚上據說 R 很厲害,又去研究 R 了。

 

千萬不要這樣!不要成爲各個領域的雜牌軍,你如今要作的,是在一個方向有一些建樹。

 

【大四】

 

去實習。

 

實習的話我能給的建議很少,雖然個人實習經歷還蠻多的。可是畢竟不是混跡職場多年的人,就不亂說了。

 

找工做,待遇,環境挺重要的。可是我以爲,這個公司的技術棧,行業背景也是很重要的。我實習的三家公司是三個不一樣的行業,因此我知道,不一樣的行業差距仍是很大的。有的公司招聘的時候會要求你在這個行業有過經驗啥的。因此,行業背景仍是有必要注意一下的。同時,爲了本身爲了的前途,必定要問清楚公司的技術棧!

 

固然:做爲一個有抱負的人,畢業設計必定要向着優秀髮展!而且依舊要不斷提升本身的水平。這個時候,學什麼可能得根據公司的需求來了,可是,永遠不要中止學習!

 

簡而言之,這四年你應該這樣過:
大一:培養興趣
大二:橫向發展,廣度優先
大三:縱向發展,深度優先
大四:選好方向,不斷提升本身

 

5.獲取資料的途徑

找資料的途徑

  • 百度/google:先看看他都能幹嗎
  • 官網:官網的文檔通常足夠了
  • 相關書籍:京東和噹噹常常有活動的。
  • 社區:社區也會有人作教程的,還會有一些我的項目能夠參考
  • github:能夠在github 看看某個知識點的 awesome。
  • 各大博客以及知名博主的我的博客:看看一些高質量博客也不錯
  • 微信公衆號:試着找一下相關的微信,固然,微信上的文章不少都來自於博客,可是微信的好處就是,你不用本身找,別人已經幫你找好了,缺點就是,量太少。
  • 知乎專欄:和博客差很少。
  • 一些視頻或者 wiki 教程:如今有不少教學視頻的網站,有收費的也有免費的。常見的好比慕課網,菜鳥教程,網易雲課堂,極客學院,易百教程等。一些培訓機構的視頻有的也不錯
相關文章
相關標籤/搜索