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