【摘要】隨著社會的發展,科技的進步,越來越多的高校開設編程語言類課程,特別是對于計算機類學科來說,編程語言類課程的重要性與日劇增,占的課時比例越來越大。本文就編程教學課程的目的與方法進行淺議。
【關鍵詞】編程教學;計算機教學;教學方法
一直以來軟件編程語言類課程在大學計算機專業里占有很重要的一席,從經典的C語言,到時下流行的C#、Java等,甚至有些還開設了便捷化的圖形化編程。到底應當如何提高編程語言類課程的教學質量,高效率地完成教學任務,培養出合格人才。本文從課程的目的和教學的方法進行探討。
一、編程語言類課程開設的教學目的
這里所講的目的并不是教學大綱所提的目的,教學大綱所提的目的過于細分,甚至有些過于“崇高”,筆者認為其目的分為三個大的方向:(1)培養軟件編程操作類人才,通常稱為程序員;(2)培養計算機研究類人才。其實這兩類教學目的無非是培養操作實踐類人才,或者是理論研究類人才。(3)培養計算思維,并應用其解決問題的能力。這個方向一般是非計算機專業的編程類課程的目的。
當然這三大方向只是不同的側重點,它們并不是彼此割裂的,在很多高校里將第一方向作為第二方向的基礎,即先操作實踐后理論研究。同樣,第三方向也是計算機領域的重要技能,它是第一方向和第二方向的基礎。
1、教學方向一:培養軟件編程操作類人才
以此為計算機編程教學目的的院校,大多是高職高專,甚至有些中職類學校。在這類院校里,學生畢業即面臨就業,而編程操作可以說是他們“吃飯的工具”。如何使學生熟練掌握“工具”是編程教學的主要目的。一般來說,這類院校的編程教學有如下幾個特點:(1)熟練使用軟件。要求學生能夠使用一些當前行業比較流行的編程軟件(Visual studio、JDK等);(2)以任務驅動、項目驅動為主,跟實際應用結合比較緊密,有條件的院校直接讓學生參與一些大型的項目制作;(3)校企結合,擔任這些編程類課程的教師,往往是有企業項目開放經驗者,這樣能夠更好地與企業接軌。
2、教學方向二:培養計算機研究類人才
大部分本科類院校以此為計算機編程教學目的。此類院校里,學生有可能進一步深造,或者做一些其它研究類工作。在這種情況下,學生學會編程主要是成為自己的技術手段,對信息技術相關的知識進行驗證,或者為自己科研理論做實驗實踐。總的來說此方向的編程教學有以下幾個特點:(1)理論化、系統化。編程課程往往是一個體系,從基礎的數據結構到控制臺類的語言,再到模塊化的其他高級語言,由多門課程組成。(2)注重知識間的遷移與聯系。例如,數據類型與存儲工作原理相聯系;多線程與CPU工作原理相結合;網絡連接使用網絡基礎的TCP/IP協議去理解。(3)課程進度往往較快,不注重學生練習,而注重學生理解。一些實踐類的操作一般是由學生自己的實踐,遇到問題需要自己去解決。
3、教學方向三:培養非計算機專業學生的計算思維
在國內非計算機專業開設計算機編程課程的院校比較少,而在國外,這一類課程是作為公共選修課開設的,而選修此類課程的大多是非計算機類學生,最后這些學生在結課時往往能設計出比較有創意的程序,從而達到了開發學生計算思維的目的。
一般來說,國內大學都有計算機公共課,有些院校規定學生需要通過國家的或者地方的計算機等級考試。這些計算機公共課,本應該是培養學生計算思維的,而現在往往成為了一種應試教學,而非計算機專業根本就不開編程類課。
筆者在此建議國內的高校多開些非計算機專業的編程課,哪怕是公共課也好,當然編程語言選擇上,最好使用圖形化編程軟件,例如:Scratch、Hopscotch等。
二、編程教學方法的探討
近年來,有關于編程教學的方法很多,比如說:結對編程、任務驅動、演示練習、分組實訓、項目驅動、發現式學習等等,甚至有些校企結合的院校直接將學生送入項目開發組學習鍛煉。但在此筆者強調一點,所謂的教學方法必須能夠因材施教,與教學目的相結合。
在此不妨將學生的素質能力分為高低兩個層次,大致對應于本科類和高職高專的學生,但是這種界定也不能太過于絕對,主要是針對學生的狀況而言。對于素質能力相對較低的學生來說,主要的教學方法是多動手,因此像任務驅動之類是比較好的選擇。而對于素質能力相對較高的學生來說,則要側重于多動腦,教師主要是引導學生去發現,普通的演示練習教學法即可,在學生達到一定程度時可以使用項目驅動來檢驗教學成果。
在此,還要強調的是學生的素質能力一般來說是正向發展的,這也是我們教育的努力方向,因此我們的教學方法并不是一成不變的,而是要隨時根據學生的情況作出相應的改變。
總之,作為編程教學的教育工作者,我們需要自身有良好的素質基礎,多參與一些企業類的項目,多擴展自己的計算機知識面,最好能夠融會貫通。而且更需要了解編程教學的目的,學生的基本素質情況,以及整個課程體系,只有這樣我們才能夠因勢利導、因材施教,高效率、高質量地完成教學任務。
【參考文獻】
[1] 曹吉花, 李 彪, 岳明道. PLC課程教學中任務驅動教學法的應用研究[J]. 宿州學院學報, 2013(07): 125-126.
[2] 李 青, 王江平, 朱 潔. Java多線程編程的教學研究[J]. 計算機教育, 2015(12): 65-68.
[3] 李 濤. 編程教學方法在Java語言中的思考[J]. 黑龍江教育學院學報, 2015(2): 71-72.
[4] 王佳欣, 劉維奇. 編程語言類課程中傳統教學與多媒體教學的利弊[J]. 福建電腦, 2015(4): 150, 50.
【作者簡歷】
朱兆松,男,南京特殊教育師范學院講師,主要研究方向:計算機軟件開發。