程式設計學習之談

2021-07-03 02:32:50 字數 1645 閱讀 9246

最近發現了一篇文章,是講的關於程式設計方面的學習方法,看過之後覺得這個講的非常的簡單,但是往往不是每個人都做得到的,因為你覺得它簡單所以你不屑於,本人覺得這個學習方法講的很在理,不像大部分講的要怎麼實踐、怎麼多看書、怎麼怎麼...而這個方法實現起來也是相當的簡單的,只要你能做到,相信會有所收穫!

tanky woo的程式人生在部落格中發表了《關於程式設計的淺學習與深學習》,文章是關於程式設計學習的乙個提議、歸納、總結。

以下是文章全部內容:

關於程式設計的學習,大家肯定都知道,也是大家都說來說去的,就幾句話:

1. 多看書。

2. 多看**。

3. 多敲**。

這些我不想多說,也覺得沒有多說的必要。

經常在csdn上看到有人問「我學習c++一段時間了,該如何高階?」,然後接著就是一大堆的人,重複這上面的三句話或者更多,我不是說這些方法是錯的,我只是認為,這樣沒有點到本質,初學者喜歡依賴於書籍,他們看書了,他們也照著書敲了**,但是他們就是感覺一直在基礎的層面上打轉,這是為何呢?

在c++裡定義複製建構函式時,大家知道,一般對於類中含有指標的,要進行深複製,而不是淺複製。而我在這裡也要講乙個類似的方法,那就是關於程式設計的淺學習與深學習的問題。

大家在這裡可以先試著想想自己平時是怎麼學習程式設計的?遇到乙個新函式、新概念,大家是看書?記住概念?看看**?抑或是其他?

我根據個人的理解和經驗,在沒遇到乙個新知識時,我把學習這個知識點的深度分為三個層次,依次深入:

1. 看了書,看了**。

2. 在1的基礎上,照著書把**敲在電腦裡執行了。

3. 在2的基礎上,自己根據自己的理解和腦海裡的記憶,不看書,把**敲在電腦上,並執行。

對於第1個層次,一般會發生在以下情況下:平時沒學習,考前瘋狂的看書,但是沒時間敲**,於是把書和**都用學習概念的方法—->死記,這樣,直接導致了考時忘光光,考後欲哭無淚。

對於第2個層次,大部分人應該都處於這種情況。大家平時學習時,是一種機械化的學習,也就是第2種層次所說的,照著書敲**,這樣雖然當時把程式執行出來了,很高興,但是,如果我接著讓你不看書,自己動手再敲一遍,有幾個人可以敲出來?或是,我把題目要求改一改,讓你們用這個新學到的方法做,有幾個人可以做出來?

這就是第2種層次的弊病,網上很多人都建議,自己動手把**敲在電腦上,但是我相信,他們的本意是讓大家不看書,把**敲上去,而不是只是簡單的照著書敲**。

對於第1種層次,根本談不上是學習;而第2種層次和第3種層次,就是我在文章標題裡所說的淺學習和深學習的區別。

我說了很多,可能有些人覺得是廢話,只需要一兩句就可以說清楚的。本文的目的,只是為了分析淺層次與深層次學習的區別,進而能自己去區別學習層次,雖然一兩句話也可以說清楚,但是卻無法印刻在讀者的腦海裡,更無法自己去形成這個概念,也就無法判斷自己的學習是否到位。

最後,我像把文章用幾句話總結一下:

一、學習程式設計,要完成三個步驟:

1. 看書,看**;

2. 對照著書敲**;

3. 拋開書本,自己根據自己理解,去敲**,或者自己給個題目,然後用新學到的知識去解決;

二、學習程式設計,如果只做到上面兩個層次,不如不學,把時間留著去打會球,因為這樣根本沒學到知識,當然,不排除有些人記憶力超強。

三、以上學習方法可以運用到其他學習上去。大家自行去理解,尋找一套適合自己的學習方法。

以上是我對程式設計學習的乙個提議、歸納、總結。

C 語言程式設計 經驗之談

1 c語言的專案記憶體管理很讓人頭疼,自始至終你要明白哪些記憶體應該要釋放,哪些到最後才能釋放,不然的話,就會出現一些堆被破壞的錯誤 2 每寫乙個函式一定要記得寫它的測試程式,不管那個函式簡單的還是複雜,不然的話,到最後會忙死你,有時還會犯一些低階的錯誤。這個教訓我就犯過,寫了一大堆utility工...

個人學習經驗之談

由於個人工作職責變化,學習重點偏向其他內容,所以想把本打算研究的互動設計課題轉交給學弟學妹完成,正好也有利於他們的學習。通過交流,發現他們自身還存在一些問題,這些也是我早期讀書時遇到過,自己也走了不少彎路。每個人都很有想法,但是真正去實踐的沒有。沒有作品集,沒有文章,沒有實踐經驗。資料很多,但是沒有...

工作之談14 7 13

幾個月前我還在南昌的一家軟體公司實習,因為是小公司,而且也缺乏真正的技術人才。現在畢業了,來到了深圳,進入的也是一下不怎麼大的公司。這家公司的專案很多,我聽佩服這家公司的技術部主管,他乙個人完成了公司的前期的 從設計到建設。但可惜,一點專案設計記錄都沒有做,完全憑藉個人經驗完成。現在公司打算擴充套件...