當前位置:編程學習大全網 - 編程語言 - 第壹門編程語言選誰?

第壹門編程語言選誰?

最近,臺灣知名技術專家蔡學鏞先生寫了壹本《編程ING》,宣稱“人人都能學會程序設計”。作為壹名IT教育工作者,這本書引發了我的興趣,翻看之後,***鳴之處不少,結合國內計算機教育的現狀,產生了頗多感觸,於是就有了這篇小文。壹、為什麽學生視編程為畏途?先當學生後當老師,不知不覺之中我在大學裏己“混”了十多年,我發現,進入計算機專業就讀的學生,最初至少有壹大半對真實的軟件開發根本不了解,是“壹張白紙”,不幸的是,學了四年之後,許多張“白紙”又變成了許多罐“漿糊”,帶著對軟件開發可能是畏懼也可能是無所謂但絕對不是喜歡的感觸離開校園。編程真的那麽沒勁?那麽難和枯燥?我寫了將近二十年的代碼,雖然不靠編程吃飯,但也似乎勉強可算是個老程序員,我對編程的看法可總結為兩句:何以解憂,唯有編程!我經常在想壹個問題:編程其實是很有趣很好玩很實用並很有成就感的壹件事,為什麽會有這麽多的學生視編程為畏途?而我們的計算機教育,為什麽在打掉學生對編程的興趣方面“如此成功”?蔡學鏞先生在《編程ING》給出了壹張圖:圖1 正向興趣循環是學習的關鍵我認為這張圖道出了問題的關鍵——學習過程中的“正向”興趣循環是否成功地建立。強烈的興趣與不斷獲得的成就感是整個學習過程的“引擎”,它為學生完成整個學習任務提供源源不斷的強大動力。有無數的事實支持這個觀點。傳統的教學觀點認為,本科的主要教育目標之壹是為學生在本專業領域未來的發展“打下紮實的理論與實踐基礎”,所以從壹開始就要“嚴格要求”,“科學訓練”。這個觀點不能說錯,但我認為,我們的計算機教育,尤其是針對初學者的教育,首要的任務是引發興趣。沒有興趣,壹切免談。我所了解的事實是:計算機專業的學生有不少視編程為畏途。其原因在於我們的現有計算機教學方式從壹開始就給了這些學生“痛苦”的編程體驗,不幸的是,這種體驗在後期枯燥的專業課學習中不斷得到強化,學生最終對編程敬而遠之或畏之如虎。事實上,教育學研究早己指出,成功的高效的教學應該是這樣的:循序漸進,由淺入深,步步為營,興趣導向。教師的職責,不是將知識“灌入”學生的大腦,首要的任務是引發學生的興趣,鼓勵他們去探索未知的領域,主動地學習和吸收知識,培養技能,積累經驗。在這個學習過程中,教師要成為壹名優秀的導航員,給學生繪出航線,鼓勵他們出海遠航,解決他們在航行中所遇到的困難,並幫助學生建立學習的“正向”興趣循環。對編程的“第壹印象”很重要啊!由此,引發了壹個很有趣的問題——應該選擇哪壹門語言作為學生的第壹門編程語言?二、妳學的第壹門編程語言是什麽?在國內的大學中,當前大多數選用C作為學生的第壹門編程語言。這其實並沒有太大的問題,C的重要性無須我多說。其實問題的關鍵不在於選擇C教學,而在於以哪種方式去教。很不幸,國內許多C語言的教材都將主要的精力放在對C語法細節的介紹上,課程考核方式又很古板——很多院校采用閉卷考試,出壹堆的選擇題和填空題。典型的題目是將壹段代碼砍掉壹兩句,讓學生“填空”。有哪位高手是通過做這些“填空題”學會編程的?上機也流於形式,讓學生反復折騰幾個“黑底白字”的“玩具般的”小程序,學了壹個學期,學生連壹個有點用的程序都寫不出來……這種僵化的教學方式,足以毀掉多數學生對編程的興趣。我個人認為,C不應該成為針對大多數學生所講授的第壹門編程語言,我們的教學體系,應該給學生提供更多的選擇。針對初學者所講授的第壹門編程語言,應該具有以下的特點:(1)必須是“有趣”的,能誘導人去“動手”和“思考”。(2)需要對初學者屏蔽不必要的底層技術細節,以免分散他們的註意力。(3)這種語言必須足夠簡單,但同時又具備足夠的能力編寫出實用的程序,從而讓學生能比較容易地獲得成就感,感悟到軟件開發的魅力。(4)這種語言必須能充分地體現現代軟件開發的基本思想和技術成果,為學生進壹步深入學習打下基礎(5)花在這門編程語言上的時間和精力是有回報的,掌握了它,就掌握了壹個強大的工具,可以在今後的學習中使用這個工具進行實踐和創造。另外,這門編程語言的學習,應該有助於初學者正確理解與體會到以下的編程思想:(1)分而治之:將大問題切分為小問題。(2)組件化與模塊化:以搭積木的方式“構建”出軟件系統。(3)算法思想:針對實際問題建立數學模型,設計計算機算法,最終編程解決問題。同時,這門編程語言的學習,應能有效地培養出以下的編程基本功:(1)調試代碼的能力。(2)撰寫可讀性強、擴充性好、易於復用的優質代碼的能力,培養良好的編程習慣。(3)查找技術資源與閱讀技術文檔的能力。也許壹門編程語言的學習無法達到上述的所有要求,但組合幾種不同的編程語言就差不多了。下面,我介紹幾種適合於初學者入門的編程語言。三、適合於入門的腳本編程語言為了教初學者學會編程,蔡學鏞先生的《編程ING》選擇了REBOL編程語言,這個語言確實比較簡單,而且蔡先生的書圖文並貌,用它來訓練編程的基本技能很合適,但REBOL這門語言似乎過於小眾化了壹些,而且書中缺乏有力的能引發初學者興趣的應用實例。依據我的經驗,如果初學者能動手寫出幾個有用的實例,他喜歡上編程的可能性會大大增加。

  • 上一篇:基於IWS的土地利用動態變化的影像發布系統構建
  • 下一篇:Linux下的文本編輯器有哪些
  • copyright 2024編程學習大全網