如何提升編程能力
發(fā)布時間:2021-07-29 15:02:49
點擊上方藍(lán)字關(guān)注我們
為什么有的人學(xué)了很久很久編程,還是只會寫一些簡單的算法題?
學(xué)了幾個月編程,至今沒有寫出超過100行的小項目。
好不容易看完了一本書,合上卻發(fā)現(xiàn)前面的內(nèi)容全忘了。
以上現(xiàn)象你中招了嗎?
如果你中招了,可以考慮參考一下解決方案哦。
有不少同學(xué),一閑下來就迫不及待地打開一些刷題網(wǎng)站不停刷題,今天刷動態(tài)規(guī)劃,明天刷最短路......
所以刷題是為了提升編程能力,編程能力提升以后刷題就更容易了,是這樣嗎?
學(xué)編程,刷題一定是要的,但一定不是盲目地刷。
第一遍刷題是將你學(xué)習(xí)的算法和數(shù)據(jù)結(jié)構(gòu)理論變成實踐,強化知識。
刷題有助于我們將抽象的算法轉(zhuǎn)化為具象的代碼實現(xiàn),讓我們明白其中的原理。
我們需要培養(yǎng)自己的技術(shù)選型能力、方案選擇能力,具體是指:
當(dāng)遇到實際業(yè)務(wù)和需求的時候,你需要知道在什么場景下使用什么樣的數(shù)據(jù)結(jié)構(gòu)和算法,然后通過查詢或調(diào)庫使用這些算法。
技術(shù)是服務(wù)于業(yè)務(wù)的,編程是為了解決問題。
第二遍刷題是在你找工作面試的時候?qū)⒏鞣N算法寫給面試官看。
為找工作刷題無可厚非,為了拿到一個好的offer,你必須刷題。
死磕原理指的是什么?
拿最簡單的二叉樹舉例,下面是一個二叉樹。
我們把二叉樹比喻成一個知識體系,第一層A代表了你所學(xué)的所有的專業(yè)知識。第二層代表大學(xué)本科階段的各個科目,比如B有可能是Python課程,C有可能是算法和數(shù)據(jù)結(jié)構(gòu),當(dāng)然還有很多其他的科目,如高數(shù),英語等。
試問大家一個問題,如果掛了幾科第二層的課程,能畢業(yè)嗎?
好像是不能畢業(yè)的。
和學(xué)習(xí)編程一樣,第二層就像是你肯定要學(xué)習(xí)的編程語言、算法、數(shù)據(jù)結(jié)構(gòu)等學(xué)科,學(xué)好它們才能寫出一個靠譜的程序。
再往后的第三層,是你可能在研究生階段主攻的機器學(xué)習(xí)、人工智能等知識,或是架構(gòu)方向、圖像處理等方向。
我們不要一個胡同走到黑,初學(xué)編程的時候,一定要多多了解各個學(xué)科之間的聯(lián)系。
如果只是一味地學(xué)習(xí)編程語言語法和刷題是學(xué)不會編程的。
一定要去看一些框架、做一個項目,然后運用你現(xiàn)在學(xué)習(xí)的這些知識,把它們?nèi)诤掀饋怼T趯嵺`的過程中你會發(fā)現(xiàn)自己還欠缺很多其他的知識,這時你再去有針對性地學(xué)習(xí),知識轉(zhuǎn)化率才高。
“一口吃成一個胖子”的貪婪心理也是一個阻礙大家學(xué)習(xí)編程的絆腳石。
還是舉個例子:
我們學(xué)習(xí)一個框架或者學(xué)著做一個項目的時候,可能文檔或課程說明上會寫“學(xué)習(xí)本課程之前需要先會Java、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫、操作系統(tǒng)等知識”。
但你肯定不是全會啊,怎么辦?立馬放下這個項目去學(xué)習(xí)上述課程?
這就是典型的“一口吃成一個胖子”的表現(xiàn)。
我們做項目的時候不要怕自己這不會,那也不會。不會先上谷歌百度查一下,或者先直接參考別人的代碼,然后自己把問題記下來,后面再去深究。
當(dāng)你成功做出第一個項目后,你就會大受鼓舞,再去做第二個、第三個,然后就起飛了。
一定要采取項目驅(qū)動式的學(xué)習(xí)方法,不管是編程還是其他科目,我們除了系統(tǒng)學(xué)習(xí),還一定要建立一條“發(fā)現(xiàn)問題,解決問題”的學(xué)習(xí)路徑。
另外:盛圖科技8月班招生中,一流的老師授課,保證你學(xué)到最有用的知識,幫你構(gòu)建完美的知識體系,快速提高編程能力!
點擊下方鏈接查看課程安排:
嵌入式C++-西安盛圖軟件科技有限公司 (xastkj.cn)
- 上一篇:什么人適合轉(zhuǎn)行嵌入式
- 下一篇:什么是平衡二叉樹(上)