如何有定力並高效的學習編程?

我是一個計算機專業大二的學生 也在參加ACM 但是在編程和學習的時候 經常一件事還沒做好就去做另一件事 跳來跳去 效率極其低

因此長久以來有很多漏洞

一個例子 我在做OJ上的題目 看到搜索 正在看代碼 看著看著發現一個容器不會 去看容器 看了一會容器發現stl中的函數又不會 又去看另一個點......根本停不下來

所以我的朋友總是看起來我很忙 水平卻提高甚微

長此以往 不是辦法

有哪些對於演算法學習和編程技巧提高行之有效的方法?


斷網


同感。

但是我覺得題主內容上說的不是自己沒有定力,反而是方法、做法的問題。那我說說我的看法吧。

首先演算法這個東西,知識廣度大。那就分治唄。

看出題主獲取知識主要是通過網路,強烈推薦使用谷歌搜索知識(如果已經是的話就忽略上面這條 ),谷歌可以快捷地幫你找到條理清晰,解釋詳盡的博文,學習完後適當筆記(筆記工具最好全平台支持的,筆記需要像書一樣天天看,天天修訂,想著10年後要出版!定力往往來自於一個看得見的增長的事物,比如各種養成類遊戲)

但是!!!這兩年的親身經歷告訴我自己,要想從下而上,系統地學習知識,看書才是王道!!!(很多人沉不下心看完)通過便捷的搜索獲得的知識,誤人子弟的不去說,即使是正確的,也很碎片化的。

編程這個東西嘛~看書後,自己實踐啊!自己實現啊!


這樣明明很正常啊,想短時間內有大提升反而不正常。

會跳到別的地方去學說明知識廣度不夠,只要控制在一個領域內,就算是寸進,積累起來也有尺長,一切都是能否堅持所決定的。

Just keep moving


和題主完全一樣的情況,目前正在知乎找答案!


多看看別人的代碼,找尋其中寫得不錯的地方,學著模仿


其實在最開始的時候這也很正常。

我的建議是 善於歸納總結做筆記,梳理自己掌握的知識。

還有就是。。STL容器的使用方法這類的基礎技能要紮實,不能成為你編程的障礙啊,最起碼你得能夠很迅速地通過查手冊把它搞定。建議系統地讀一本STL的書

ps:就讀書而言,讀紙質的書比讀電子書(即使是用Kindle)更讓我有「定力」。一點小建議。題主加油


推薦閱讀:

作為一名程序員,你為什麼歡迎或不歡迎轉基因食品?
能不能用double去取代float?
想自學編程怎樣下手?
如何評價中科大軟院的孟寧老師?
女生適合學軟體工程嗎?

TAG:編程語言 | 編程 | 軟體工程 | 學習方法 | 計算機專業 |