張 昱,陳 默,李 封
(東北大學計算機科學與工程學院 遼寧 沈陽 110169)
當今的教育模式發(fā)生著非常重大的變革,教育正在向“泛在化、智能化、個性化”的方向發(fā)展。教育部2018 年4月發(fā)布的《教育信息化2.0 行動計劃》提出,“充分利用云計算、大數(shù)據(jù)、人工智能等新技術,構建全方位、全過程、全天候支撐體系,助力教育教學、管理和服務的改革發(fā)展”[1]。Python語言是目前在新技術應用領域最常用的程序設計語言,Python語言程序設計課程教學不能僅僅滿足于語言語法層面的教學,還應著力培養(yǎng)學生的計算思維能力以及解決相關領域實際問題的能力。因此,該課程的教學需要從實際的專業(yè)培養(yǎng)目標出發(fā),著力培養(yǎng)學生解決各學科應用問題的能力[2]。
Python語言程序設計課程在國內各高校開設的歷史雖然不長,但也經歷了幾年的教學積累。筆者教授的Python語言程序設計于2018 年開設,采取線上線下混合式教學方法組織教學。以線上教學依托中國大學MOOC 的自建課程開展,以線下教學翻轉課堂方式教學和機房實踐為主。在歷年的教學實踐和改革過程中,發(fā)現(xiàn)有若干問題,其中某些問題是程序設計類課程普遍具有的問題,而有些問題則是本課程在實踐過程中的新發(fā)現(xiàn)。
在教學的過程中,筆者發(fā)現(xiàn)有部分學生無法做到主動學習,規(guī)定的線上學習沒有達到要求,在后續(xù)的線下翻轉課堂中很難跟上老師的教學進度,同時也造成教師需要針對這一部分同學給予特殊的關注,尤其是需要花費線下教學的時間來完成應該在線上教學中完成的內容。
在混合式教學過程中,筆者還發(fā)現(xiàn)有部分學生因為慣性的原因對傳統(tǒng)的教學模式有很強的依賴性,具體表現(xiàn)在對線上教學的學習模式不夠清楚。舉例而言,有極少數(shù)學生為了獲得平臺方設置的觀看視頻完成的標記選擇觀看全部教學視頻,浪費了有限的學習時間。針對這一問題,需要提前對學生進行教育和說明,即教給學生具體的線上學習的方法,避免有學生把本來靈活的線上學習變成了僵化的學習。
課程知識點復雜,不利于學生掌握程序設計技能以及內化理論知識;Python 語言在業(yè)界得到了廣泛的認可,但目前的教學無法滿足行業(yè)發(fā)展需求。傳統(tǒng)的程序設計教學以《C 語言程序設計》為標準范式,而Python 作為一門風格完全不同的語言需要完全不同的教學模式和方法。
因此,使用“MOOC+翻轉課堂”的多元化教學模式,一是為了展現(xiàn)Python 語言簡潔和優(yōu)雅的特色。二是為了降低計算機入門學習的難度,發(fā)揮Python 語言的優(yōu)勢,促使學生專注于解決問題的方法、程序分析本身邏輯及算法的學習。三是以Python 為核心、架構具有Python 語言特色的課程教學模式、利用翻轉課堂與MOOC 的教學優(yōu)勢,有效提升課程教學質量[3]。
按照工程教育認證目標組織教學內容。按照《工程教育認證通用標準(2020 試行)》,本課程根據(jù)各個專業(yè)的特點、畢業(yè)要求、培養(yǎng)目標,從多個方面進行有針對性的大綱設計,也就是將程序設計應用于本專業(yè)的問題解決上。對學生而言,除了需要本專業(yè)知識外,還需要利用計算機編程知識來解決專業(yè)中遇到的各類工程問題。作為工程認證標準中的一項,團隊意識的培養(yǎng)也是重要一環(huán)。團隊合作可以有效培養(yǎng)學生的溝通合作能力以及組織協(xié)調能力。本課程在教學中多次采用了小組合作編程的方案。
以工程類案例為核心以問題為導向組織課程資源。以工程認證為標準,對課程內容的改革,更加符合成果導向教育(OBE)的理念。本課程針對授課對象遍及多個學科的特點設計以不同的工程類案例組織課程資源,同時注重以問題為導向,避免連續(xù)大段的理論知識講授。在內容組織上注重理論聯(lián)系實際并以實際為主[4-6]。課程以“Python 語言基礎”—“Python應用案例”—“Python 綜合練習”的順序組織教學,使學生真正做到“學以致用”。課程教學組織如圖1 所示。
加入課程思政元素。從程序設計中尋找問題,對學生進行正確的思政引導[7]。同時避免教條僵化的思政教育,一切從實際問題出發(fā)。例如,程序設計中的“模塊化程序設計”“代碼復用”以及相對應的案例表達了分工合作、團結合作的主題思想,首先將案例程序使用非函數(shù)形式編寫,再通過函數(shù)形式比對,使學生體會到利用函數(shù)可以實現(xiàn)團結合作并感受到團結合作的重要性,自然過渡到思政內容。
在教學形式上,采用了多種交互形態(tài)結合的方式,避免單一僵化的教學。結合當前的信息化技術,利用各類主流的教學平臺進行教學。其中,包含如下多種各具特色的教學手段:
實驗平臺的應用。教師利用線上實驗平臺,完成課上編程練習、課后編程練習及其他實驗類教學活動,并進行完善的過程管理。
課程演示文檔自動生成。教師利用Python 的Jupyter Notebook 工具,在教學中實現(xiàn)程序的現(xiàn)場編寫和演示,并且直接生成文檔用于學生的課后復習,效果顯著。
圖書館可采用人工咨詢服務、圖書館主頁、微信群以及電子郵件的方式開展圖書預約服務,以方便讀者接受該服務。
課上即時編程練習。教師利用混合式教學的優(yōu)勢,在實驗機房的教學中,進行課上的即時編程練習,使學生及時消化所學知識點,并能給予及時的指導。
MOOC 應用。教師通過課程的自建MOOC,為學生提供完善的預習和復習指導。
編程競賽。經常性地開展學生間的編程競賽,既提高學生的學習熱情,調動學習積極性,同時也是一種創(chuàng)新型的考核方式。
針對學生主動學習能力弱的問題,通過提高評價的實效性予以解決。例如,縮短線上學習周安排的測驗和作業(yè)等的截止時間,并且保證學生在翻轉課堂之前獲取評價結果。大多數(shù)學生都較為重視評價結果,實時性的評價會對主動學習能力弱的學生起到極大的督促作用。經過1-2 次的短期評價后,依據(jù)評價結果篩選出主動性較差的學生進行線下督促,并安排助教進行輔導。
課程組為課程建立了一套較為復雜的考核方案,包含各項考核方法:
MOOC 作業(yè):在中國大學MOOC上,課程每周安排至少2 道編程題作業(yè)。
MOOC 單元測驗:MOOC 中每一單元(每一章)安排一次單元測驗。
MOOC期末測試:MOOC中的期末考試,與線下期末考試時間相同,題目個數(shù)難度均保持一致。
實驗平臺作業(yè):在在線編程實驗平臺安排實驗編程作業(yè)。
實驗報告:每周交一次實驗報告。
過程性測驗:安排至少3 次過程性階段測驗,包含客觀題和主觀題測驗。
課程編程大作業(yè):以某個具體的工程任務為目標,安排課程大作業(yè),并要求學生除了提交源程序外,還需提交設計報告和錄屏講解視頻。
這樣的過程性考核方式除了能夠有效地體現(xiàn)學生的真實能力之外,還給予了學生一定程度的學習壓力,并且實踐設計類的考核分數(shù)占比較高,可以有效培養(yǎng)學生的工程意識以及綜合應用所學知識解決實際問題的能力。
創(chuàng)新教學的開展產生了積極的教學效果,具體可以從“兩性一度”這三個方面分別說明。
創(chuàng)新教學的開展為學生的知識能力素質提高拓寬了空間。相較于傳統(tǒng)線下教學,混合式教學更為靈活。以線上教學為基礎,本課程在線下教學中為學生拓展了多方面的知識,包括Python 程序設計中多個第三方庫的使用,如jieba、numpy、matplotlib 等等。這些高階知識的拓展對提高學生的實際編程能力和素質十分必要,而這是在傳統(tǒng)的線下教學模式中很難做到的。
教學的創(chuàng)新性從教學內容和教學形式兩個方面體現(xiàn)出來。
首先,在教學內容方面,根據(jù)混合教學的特點,Python語言程序設計課程將最新的程序案例、課程思政理念等引入課程。課程以案例式教學為重要手段,重在培養(yǎng)學生的邏輯思維能力、程序設計能力以及程序分析和調試能力,注重與學生專業(yè)相結合,培養(yǎng)學生解決實際問題的能力。課程結合具體專業(yè)特點制作課程案例,使學生有興趣進行后續(xù)更深入的學習。
其次,在教學模式創(chuàng)新方面,課程采用多形式的互動教學方法,除了使用中國大學MOOC 平臺之外,還使用了實驗平臺、QQ 群等多種交互模式,讓課堂活起來,提升學生的學習效率和學習質量,培養(yǎng)創(chuàng)新性和批判性思維。
課程的挑戰(zhàn)度與高階性、創(chuàng)新性是相輔相成的,本課程在提升課程內容深度廣度的基礎上,還開展了評價模式的創(chuàng)新,這進一步提升了課程的挑戰(zhàn)度。課程加強對學生課堂內外、線上線下學習的評價,豐富探究式、編程項目報告答辯式等作業(yè)評價方式,加強非標準化、綜合性評價等,從多環(huán)節(jié)、多維度考察學生的學習投入、學習成果和差異化能力,激發(fā)其學習動力和專業(yè)志趣。學生基于新的評價模式,會投入更大的努力來學習。
基于上述創(chuàng)新教學改革,取得了良好的教學效果。
Python語言程序設計課程立足于面向各專業(yè)的以計算思維為導向的計算機語言類教育,并為后續(xù)計算機課程學習奠定基礎。課程以案例式教學為重要手段,重在培養(yǎng)學生解決實際問題的能力。課程以“Python 語言基礎”—“Python 應用案例”—“Python 綜合練習”的順序,結合各專業(yè)特點制作課程案例,使學生能夠“學以致用”并有興趣進行后續(xù)更深入的學習。課程從教學內容組織、教學形式、課程考核等多個方向進行了創(chuàng)新性的改革嘗試,取得了良好的教學效果,為計算機基礎教學改革帶來新的面貌,提升了學生的計算機理論和實際應用水平。