單純從學習編程語言的角度出發,初期加強手寫代碼能力的培養是有必要的,尤其是對于很多實踐機會比較少的同學來說,通過手寫代碼的作業要求,能夠促使學生盡快掌握基本的編程流程。
站在教學的角度來說,教學方法必須跟場景相結合,如果為大一的同學講解編程課程,我認為留手寫代碼的作業并沒有問題,畢竟很多同學還不具備實踐能力,通過手寫代碼的作業方式,也比較好衡量學生對于編程語言的掌握情況。
目前有不少大學不建議大一的同學攜帶筆記本電腦,尤其是大一的上學期,如果在這個階段學習編程語言,手寫代碼也是不得已的方式。
編程語言是計算機大類專業同學必須掌握的重要工具,而且由于在不同的場景下需要采用不同的編程語言,所以計算機大類專業的同學往往需要掌握多門編程語言,比如C、C++、Java、Python等語言,而很多同學在學習第一門編程語言的時候,往往都有過手寫代碼的經歷。
學習編程語言通常需要經過三個階段,第一個階段是基礎語法的學習,這個階段一定要重視多寫、多練,要盡快掌握基本的編程流程,要能夠使用編程語言來解決一些基本的問題,比如簡單算法的實現,對于處在這個階段的同學來說,前期通過手寫代碼來加強記憶,我認為是有一定必要的。
第二個階段是圍繞主攻方向做知識積累,比如目前大數據方向、人工智能方向等就是比較熱門的方向,這個階段的重點是運用編程語言來完成計算資源的調度,這個階段老師往往不會留手寫代碼的作業,而是會強調如何利用各種技術平臺(大數據平臺、人工智能平臺)來解決一些問題。
第三個階段是場景實踐階段,這個階段的重點是如何運用編程語言來解決實際生產場景下的問題,這個階段往往需要在實驗室里來完成。