如何學編程

    一般理工科學生上大學都會學習一門程序設計語言C/C++語言。我曾經無數次的給學生說過,大學裏每個學期按5門課算,8個學期下來40門課,其實只要學會一門C語言,找工作不成問題,甚至找個高薪工作都不成問題。可是現實卻非常殘酷,我們很多學生大學四年下來對編程都不入門,學了再多課程又怎樣呢?我面試求職者的時候,經常問剛畢業的大學生,大學學了哪些課程,很多人只能說出課程的名字,連課程裏講什麼都說不上來。因爲大部分人都在應付考試,平時不學習,考試的時候突擊一下,還以此標榜自己有很強的自學能力。真是很滑稽啊,要不是老師考試前畫重點,而且範圍很明確,估計再怎麼自學也白搭,這些都是學習的誤區啊。有點扯遠了,還是回來說說如何學習編程。

  程序設計說容易很容易,說難也很難,說難和說容易都有道理,只是看問題的角度不同。程序設計容易的地方比如:語法、庫函數,這些東西很容易掌握。但是算法和編程的思路,以及調試程序,寫出高質量的代碼,這些就不是很容易的事情了。下面逐一來剖析一下:

  編程語言的語法。很多初學者經常犯的一個錯誤,就是儘可能的掌握所有語法,例如:C語言(C++和C#類似)都有表達式中運算符的優先級問題,很多考試的書上尤其是二級考試,經常出一些變態的不帶括號的複雜表達式,讓學生計算表達式運算的結果,這些都與實際編程能力的培養毫無關係。這都是缺乏有項目經驗老師的教學方式,我經常告訴學生的就是二八原理,也就是20%的語法能寫出80%的程序,剩下80%的語法用的非常少,只在特殊情況下使用。用到了再查都來得及。再舉一個例子:下面我(克念)和一個學生(小嬋@岳陽)的聊天記錄,談到的一個C語言字符轉義的語法,這個東西不用記嘛,會實驗就行了,這裏的實驗其實就是學會調試或測試程序。

wKiom1OgFRyTErM_AAIPl-u99wQ129.jpg

  庫函數。有一定工作經驗的程序員都知道,我們大部分情況下寫的程序代碼只是起膠水和粘合劑的作用,我們的程序只不過是調用一些現成的庫函數。因此,對各種庫函數的掌握就尤爲重要了,有了庫函數可以使程序開發的效率大大提升,而且程序質量容易保障。問題又來了,像.net framework類庫中有成千上萬個類,難道我們都要學一遍,記一遍嗎?我當年還真幹過類似的事情,我上大學的時候,自己學VC++ 6.0,沒有老師指導,拿着一本厚厚的MFC 2.0類庫參考指南一頁一頁的看,現在偶爾看到書上的圈圈點點,真是爲當年的學習精神和走的彎路唏噓不已。現在我經常給學生講學習類庫的辦法就是把英語學習好,因爲類的名稱都是英文單詞,剩下的就是學會使用MSDN,會搜索MSDN,找到類的描述和資料後,能快速閱讀和掌握一個類的使用要領。人腦不是用來記憶類庫的,這不是人腦的長處,人的腦子應該用來解決問題,應該用來想辦法,所以不要把電腦應該乾的事情交給人腦幹。

  編程思路、方法以及調試程序這樣的問題纔是程序設計的關鍵技術,往往需要教師有很多開發經驗,當然這裏也有方法論,這些方法論需要在軟件工程實踐中總結和提煉,還要能很好的表達給學生,這方面的資料教科書上講的都很少。這些話題不是一句話、兩句話就能說清楚的,以後再抽時間整理。現在網上有很多編程教學的視頻資料,甚至有很多是免費的,其實大家學習的效果並不是很好,看視頻學習並不能解決全部問題,關鍵是要找一個好的老師,看視頻的同時,有問題可以向老師請教,參與老師在線定期的答疑和指導,這樣能起到事半功倍的效果,在學習上少走很多彎路。(完)


注意:
1. QQ教學羣:301862163
2. C語言程序設計課程地址:http://edu.51cto.com/course/course_id-1040.html 
3. 51CTO課程中心: http://edu.51cto.com/lecturer/user_id-8606427.html 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章