天天看點

程式設計困難沒思路,我差到哪兒了?

【來信】

老師您好!

  我是一名計算機專業大二的學生,我現在在做一系列c語言競賽一些容易的題目,可是我發現我碰到的問題會很沒有思路,不知道方向,看見網上的很多同學都能夠解決,而我卻不能,我不知道自己差到哪了,我不知道怎麼辦才好,都有很多中學生的水準都比我這個大學生的水準要高,我真的不知道,那些未上大學就已經在程式設計方面的同學就很牛的同學是怎麼做的,我感覺計算機這條路走的好難!

【我的回複】

  程式設計起步階段,的确是個坎。你現在的安排是對的,程式設計不容易,這個問題沒争議,咱不擱置,立即着手自己開發,盡管開發的不是項目,而是題目。

  遇到問題沒有思路?你提得籠統,實際上對遇到這個問題的同學而言,也真說不出難在什麼地方了。我也就猜測一些與你共享,但願有一條适合你。(1)人常說,見多識廣。是不是還屬于見得不多?凡事都要個積累,量變才能達到質變。此時知道自己的做法是對的,平靜一些,做下去即可。(2)在教育、學習中有個非常響亮的詞,舉一反三。反思在做過一道題以後是做完就将之放過去了,還是總結從這道解題中運用了哪些知識、技能?是否在做完若幹道題目後将之浏覽一遍也去悟一悟了?動手是表現形式,更深層的是要思考,這樣,做一道題目,可以獲得解答同類問題的啟示。(3)常說理論要聯系實際,其實,在實踐中也需要有理論的支援。有些理論,你以後會學到。在目前的階段,建議你能看一些通俗的程式設計方面的書,結合你做的競賽類的題,找些競賽輔導的書看還是可以的。前人總結好的什麼窮舉法、疊代法、回溯之類的,會對你有幫助。恰好我近期想多收集些題目買了些書,附上我的購書清單供參考。不過,守着大學,最好的方式,到圖書館,找到這類書的書架,翻到哪本覺得有感覺,就借哪本書看。

  随着進展,你的感覺會變好。從信中,我不擔心你現在做題不順,擔心你有天給自己找個“我不行、我沒興趣了”之類的借口而不再堅持到你向往的那一刻。其中,最擔心的是你的心态。急,急了後就去比,比的結果是讓人喪氣。看到與人的差距,設定了自己的目标,上路就行。在行進中,不再多想。起步本來就晚,速度還沒有提起來,你就老看着比你先起步的,速度還比你快的,自找不愉快。如果要比,比自己,做的題目比以前快了,程式比以前長了,問題比以前難了,你會看到自己的進步,享受其中的樂趣。想想龜兔賽跑中的龜的堅持和自我吧,當然咱不是那龜樣,它本來就跑不快,咱隻是起步晚,隻是速度還沒有上來,咱做的是加速運動,甚至加速度在遞增,是加加速運動。踏實地走在路上,不急不躁。

  人和人不能比。看到這句話不要洩氣。每個人有先天的一些因素,成長的環境、過程、機遇各不相同,有時,即使是你本來有天賦的領域也還來不及激活。着眼向前看,讓自己的前行更愉快些,人和人不要比。其實,你隻要平穩上路了,進步了,水準低但主動和牛人同學一起共事、學習了,他會成為你的助推劑,你會成為他們中的一員。從大學四年的角度,他們的最大的優勢不是現在已經掌握的知識,而是為之投入的興趣,和在這一領域深入學習的決心。對你考驗最大的是,在起步階段由于對自己的否定,不去看到自己的進步而喪失一切。

  最後建議找些人和你搭伴學。起點差不多,水準差不多,想法也一緻,做同樣的題,遇到類似的問題,一商量,一讨論,done。貌似90後不喜歡這樣?驕傲地宣告“我們幾個就是學習的!”可以按我對我的學生的要求,建一個技術部落格,記錄自己的成長。找到一些同樣在做程式設計題的博友,看他的程式,給他評論,回頭他也會投桃報李,網絡上的互幫互助也有了。

  辦法總比困難多,往前走吧。

  祝能順利過了這一關,走向下一段愉快的挑戰。

附:我近期買的幾本書

妙趣橫生的算法(c語言實作)(附cd-romCD光牒1張) 

挑戰程式設計:程式設計競賽訓練手冊 

算法藝術與資訊學競賽•算法競賽入門經典 

  

   

繼續閱讀