(Photo byLuca BravoonUnsplash)
編者注:自2015年起,ITBegin的云端教學平臺陸續接入563所大學,通過老師接入、學院接入、專業共建、教改合作、大賽平臺、課題研究等方式開展合作,為大學提供以云編程技術為核心的在線互動式編程教學平臺。
近期,ITBegin發布了《國內大學編程教學數據報告》,該報告整理了從2015年7月1日至2017年6月30日的使用數據,包括地域活躍度、課程語言、教學過程、學生學習行為四個方面,反映出國內大學目前編程教學的部分現狀,希望能對國內大學編程教學改革提供借鑒和幫助。
一、地域活躍度:浙江、江蘇、安徽、山東、黑龍江是云端教學活躍省份
截至2017年6月,在線接入的大學規模達到563所,分布在28個省(含直轄市)。接入規模排名前三位的省份是江蘇9.95%、浙江9.41%、安徽7.82%。其次是山東6.57%、黑龍江5.86%、廣東5.15%。
大學編程教學在線使用的老師規模達到871位。其中老師使用規模排名前三位的省份是浙江13.5%、黑龍江12.34%、安徽9.43%。其次是山東8.96%、江蘇8.84%、重慶4.82%。
二、課程語言:前端課程持續遞增,項目課程增漲最快
老師開設的編程語言課程中:
? C語言課程占比25%,單門課程占比最高;
? JAVA語言開設2類課程:語法基礎和面向對象,合計占比26%;
? 前端語言開設6類課程:HTML4入門、CSS2入門、HTML5入門、CSS3入門、JavaScript語法基礎和JS DOM入門,合計占比24%,其中HTML5占比最高;
? C++語言開設2類課程:語言基礎和面向對象,合計占比9%;
? SQL語言課程占比8%;
? 數據結構占比3%;
? 網站開發項目課程占比5%。
從2015年下至2017年上,前端語言課程每半年持續遞增,截止到2017年上成為使用率最高的課程。網站開發項目課程在2016年上線后經過平穩試用,2017年呈現出快速增長趨勢。JAVA、C++、SQL等課程基本保持穩定,值得關注的是:C語言課程在2017年上半年遞減接近50%。
三、教學過程:翻轉課堂逐步增加
截至2017年6月,在線接入的老師在教學過程的核心環節上課、預習、作業的使用情況如下:
單獨使用一項功能:39%的老師只用上課,6%的老師只用作業,1%的老師只用預習;
合用兩項功能:18%的老師上課+作業,7%的老師上課+預習,1%的老師預習+作業;
合用三項功能:28%的老師上課+作業+預習。
從按半年教學使用老師數趨勢圖看,上課+作業+預習三項功能合用的老師數每半年持續增加。我們回訪了部分老師,得到的答案是“有了平臺的輔助,可以進行翻轉課堂的教學”。
從按月使用次數的趨勢圖看,教學過程使用的高頻期為每年3月-6月和9月-12月,這與大學春秋兩季的學期規律吻合。
四、學習行為:用敲擊+運行次數反應學習行為
按每次課程1.5小時統計,學生上課平均練習題數是2.5題,老師演示題數和學生練習題數比例是2:1。
上課有老師引導的情況下:
67%的學生敲擊次數在10-100次和100-500次之間
4%的學生敲擊次數超過500次的占4%
29%的學生代碼敲擊次數在10次以內
上課的運行次數比例分布較為平均,表明有老師指導下,30%的學生可以1次完成代碼結果,同時其他學生經過1次以上的代碼運行調試后完成結果。
這里說明一下運行的重要性:邊寫代碼邊運行既是檢查程序結果,也是編程人員需要培養的良好習慣。一切不以運行為導向的代碼敲擊都是耍流氓,運行次數可以反應出學生編程學習的行為習慣。
相比上課,沒有老師引導的預習敲擊次數明顯變低:
79%的學生代碼敲擊次數在10次以內;
20%的學生敲擊次數在10-100次和100-500次之間;
只有1.17%的學生敲擊次數超過500次。
預習的運行次數比例中70%的學生運行1次,也就是運行看一下演示代碼的結果就算預習完成。
按每半年為一個學期統計作業數據,平均每個學生收到的作業題數是16題。
作業的敲擊次數分布如下:
40%的學生敲擊次數在10-100次和100-500次之間;
10%的學生敲擊次數超過500次;
50%的學生敲擊次數在10次以內。
目前作業編輯器沒有禁止拷貝,因此出現50%的學生敲擊次數10次以內存在2種可能,一類學生是其他編輯器拷貝過來,另一類學生是抄襲。
作業的運行次數中39%的學生運行2-5次,符合完成一份代碼所需的運行次數。也說明從其他編輯器拷貝過來的學生會再次調試代碼。26%的學生運行1次,可以判斷存在拷貝或抄襲情況。
作業批改功能給老師提供了敲擊次數和運行次數的數據,如果敲擊和運行次數同時很低的學生,老師可以標注為抄襲。
作業題提交時間集中在課程當天到課程后第7天,課程后1天提交比例最高占27%,到第7天回落。這與大學每周一次課程的教學規律吻合。
分析與討論
1.云端教學對傳統教學方法是個挑戰
在網絡和數字技術裂變式發展的時代,我們接觸到的大學還是處于相對封閉的狀態。大學機房是切斷外網的,也有大學一年級禁止學生帶筆記本電腦,還有大學編程課程以教師“講授”為中心,理論與實踐嚴重脫節。所以教學方法的改變是思維能力和思想方法問題,也是理念和觀念問題。
并且,大學在職稱評定、獎金考核、管理政策的導向上沒有傾向教學,所以是否也削弱了老師改革教學方法,嘗試新工具的積極性?
2.一線編程教學師資力量不足
從老師使用規模與大學使用規模的對比分析,浙江、江蘇、安徽、黑龍江、重慶、云南、山東平均每所大學超過2位老師教學使用,其他省份每所大學平均1位老師使用。并且使用老師中有半數集中在C和JAVA的語言級教學上。
大學計算機專業中,有很大部分老師承擔算法、相關理論基礎等課程教學,可以承擔企業級項目開發教學的師資力量不足,掌握互聯網、移動互聯網新技術的師資就更加少之又少。
3.編程教學改革開始與時俱進
隨著創新創業帶來的人才缺口和技術提升,我們接觸到已經有高校開始時增加前端工程化開發、移動開發、云計算開發這些課程內容。
并且大學對項目驅動教學的欲望越來越強烈,經過我們多方面測試,即使學生沒有學過C語言、JAVA語言,一開始就從做項目開始,也可以依樣畫葫蘆直接實現一個Hello World的網站。在項目驅動模式下,學生直接動手作出一個產品,然后一步步深入使產品更加完善,同時展開學習更多更細節的語法知識。
2016年初,ITBegin推出項目課引擎,其所涉及的技術涵蓋前端、j2EE、虛擬化、實時互動等龐大的體系,以服務器集群的方式部署此引擎,可支持幾萬人同時運行網站項目。項目課程經過2016年試用后在2017年開始大幅遞增。
4.學生主動學習意愿尚未激發
從預習數據反映出學生面對新知識時主動實踐和編譯代碼的比例很少。按每個學期16-18周,每周一次課程1.5-3小時計算,如果一個學生僅僅是被動跟隨老師學習,那么學生的編程時間和編程數量是明顯不足的。
如何在編程課程中真正實現“翻轉課堂”?如何激發學生主動學習的意愿,在沒有老師督促的情況下也能積極實踐?這將是下一個重要的課題。