胡 濤 周 南 邱 杰
湖南交通工程學院,湖南 衡陽 421001
為培養(yǎng)高質量實用型人才,高等教育在專業(yè)設置上應主動適應社會經(jīng)濟發(fā)展需求和產(chǎn)業(yè)變革,課程規(guī)劃和內容設置應注重基礎理論和創(chuàng)新實踐能力的結合,鼓勵專業(yè)課程采用“理實一體化”教學模式。2020年新冠肺炎疫情突襲,各高校不得不將課堂從線下搬到了線上,運用網(wǎng)絡平臺進行在線教學,解決停課不停學問題。進一步促進了線上線下混合教學模式的發(fā)展[1],同時也為課程改革提供了新的方向。
“理實一體化”教學模式是將理論教學、實踐教學融于一體的復合型教學模式。其基本思路是以理論知識為基礎,以“實驗室、實踐基地”為載體,整個教學過程理論實踐互相融合,“教、學、做”一體化完成課程教學模式?!袄韺嵰惑w化”課程教學內容涵蓋專業(yè)理論知識和實踐技能操作,應知、應會的知識點、技能點多,受課時限制,理論教學內容無法深度講解,實踐操作中教師無法及時跟蹤每個學生操作情況和解答學生學習中遇到的每個問題。針對這一問題,提出將線上線下混合式教學模式引入“理實一體化”課程教學實踐中,深化課程改革,全面提升課程教學質量。
“理實一體化”教學模式是一種理論、實踐一體化的教學模式,全程構建素質和技能培養(yǎng)框架,將學科知識與實踐活動結合,真正做到學做結合[2]。采用“理實一體化”教學模式,不僅可以滿足學生在線完成理論和實踐學習的需求,還能在極大程度上緩解教師的教學壓力,讓教師能有更多的精力致力于構建優(yōu)秀的教學資源和開展個性化教學,從而提升教學質量。
為了滿足不同領域人才對計算機語言的不同要求,培養(yǎng)不同專業(yè)學生運用信息解決本專業(yè)領域問題的素養(yǎng)和能力,湖南交通工程學院面向全校所有專業(yè)學生開設了Python語言程序設計課。由于學科不同、專業(yè)不同,學生思維方式以及計算機語言應用水平、基礎相差較大。如果采用傳統(tǒng)的“以教師為中心”的課堂授課,先理論后實踐,不論是在線教學還是線上線下混合教學,大部分的教學安排將導致一些問題:教師連續(xù)的兩節(jié)課內講授理論知識,學生課上記住了理論知識,由于沒有及時實踐,不能進行程序思維轉換,容易遺忘,無法掌握并合理應用所學知識;實踐教學環(huán)節(jié)重結果、輕過程,評價標準單一、模糊;實驗條件不夠、部分課程實驗環(huán)境配置要求高而復雜;學生練習效果不易監(jiān)督和評價等問題,致使教學效果不理想。為此,將理論與實踐相結合的“理實一體化”教學模式引入Python程序設計教學中,以期提升教學效果。
作為一門新的程序設計入門課程,Python程序設計一般開設在低年級。大多數(shù)低年級或者非計算機專業(yè)學生只會簡單的電腦的操作,對編程環(huán)境的搭建和操作存在一定的困難。Python語言可以分為兩個板塊,一是基礎知識,如基本輸入輸出、數(shù)據(jù)類型、表達式等;二是應用,包括程序結構、程序設計等。對大部分同學而言,第二個板塊的學習難度更大,因為這需要同學們改變傳統(tǒng)地解決問題的思維方式,培養(yǎng)程序思維。例如,我說:“把那個凳子搬過來?!比绻胱層嬎銠C聽懂這句話,就需要和計算機表達:
1.定義對象:什么是“凳子”;
2.把凳子向上移動n厘米;
3.往前(某個方向)移動m米;
4.把凳子向下移動n厘米。
如此,計算機才能按步驟完成我們想要它做的事情。相較于人類之間交流的隨意與感性,和計算機對話時,必須具備嚴謹、理性的思路,每一步都要給出準確的指令,這樣就能讓計算機按照指令執(zhí)行,才能得出唯一準確的結果。
Python程序設計課程甚至所有編程語言的思維與傳統(tǒng)思維方式本來就存在很大的差異,思維的轉換不能僅僅停留在課堂的說教上,必須讓學生及時進行實踐練習,從實踐中總結經(jīng)驗,才能牢固記住課堂理論知識并轉換成自己的能力,養(yǎng)成良好的程序思維能力。
一改傳統(tǒng)教室(在線)+機房教學,基于學校已有的網(wǎng)絡教學平臺搭建“理實一體化”教學平臺。既可線下集中教學,也可以進行線上教學。教師可以通過平臺完成課前備課、課堂上課、課后指導以及考核全部教學工作;學生也可以通過平臺提供的開放資源進行課前預習和課后復習。無需重建機房或大力建設一體化教室,只需一臺計算機,在網(wǎng)絡環(huán)境下,通過瀏覽器登錄教學平臺,編程開發(fā)實訓環(huán)境直接配備在課程章節(jié)里面,通過放映視頻、動畫和演示PPT等方式進行理論知識的講解,圍繞課堂教學內容設計對應的實踐內容,一個完整的知識點講解完后,通過單擊相應“按鈕”快速跳轉的實訓環(huán)境,無須安裝配置,快速跳轉。在跳轉到實訓環(huán)境后,可以一邊對照上機實驗指導,一邊在虛擬環(huán)境中進行編程訓練。整個實踐過程非常連貫,不會因為不熟悉編程軟件或編程環(huán)境本身的問題而影響學習進度。教學環(huán)境的“理實一體化”使學生緊跟教師步伐,教師講解和學生練習有機結合,邊講邊練,在學中做,在做中學,真正做到了“教、學、做”一體化。
課程組織結構,按難度和學習過程由淺入深、由易到難、由基礎到系統(tǒng),分為四個階段,即基礎教學、驗證性實驗、設計性實驗、綜合性實驗。以此為基礎,循序漸進,將教學目標分解、細化,每個階段都有與理論對標的學習任務,且學習任務不會太復雜,一方面幫助學生完成從理論到實踐的學習過程,另一方面,學生通過簡單的實驗以及運行結果,體會成功,不僅能夠增強學生自信程度,還能提高學習興趣和積極性。
在“理實一體化”教學中,將實踐內容融入理論教學環(huán)節(jié)中,教學過程中讓學生獲取知識之后,及時動手實踐,一方面,加深對理論知識的理解,另一方面,在編程環(huán)節(jié)中及時發(fā)現(xiàn)問題和解決問題,避免問題堆積。
教學過程參照以教育目標為導向,以學生為中心的教學模式——BOPPPS教學模式,針對整個教學過程設計六個環(huán)節(jié):
導入——將課程內容和學生的已有知識或者未來可能碰到的問題有效銜接起來;
目標——“看效果”,每個知識點開頭展示編程結果,強化學習效果的具體性,加強學習成就感;
前測——針對課程內容將知識點進行分解,就已學習知識和預習效果進行檢測;
參與式學習——“學理論”,由程序案例引申,系統(tǒng)學習相關理論知識,深入理解系統(tǒng)基礎知識,“強實踐”,理論學習之后,提供編程案例,加強實踐訓練;
后測——“測能力”,提供豐富的練習題、拓展題以及實踐項目,檢查學習效果、拓展知識面;
總結——由學生根據(jù)對理論知識的掌握和實踐結果的呈現(xiàn),進行知識的歸納總結,并共享在教學交流平臺,供同學們共享、學習以及再總結。然后教師再針對學生的總結強調重點、難點,以及延伸拓展應用。
重構教學內容旨在培養(yǎng)具備專業(yè)編程能力、應用能力、計算思維能力和復雜專業(yè)問題求解能力的新工科人才。教學內容陳舊、缺乏深度、實踐教學內容分散、缺乏創(chuàng)新的案例等,影響對學生自主學習能力和創(chuàng)新能力的培養(yǎng),導致學生具備的能力與實際工作崗位要求相差甚遠。
Python程序設計的課程內容體系包括基礎知識以及生態(tài)圈兩部分[3]。其中,基礎知識主要指Python程序設計的語法,而生態(tài)圈則指第三方庫的應用?;A語法簡單易學,入門較快。生態(tài)圈是Python在工程情境中的優(yōu)勢體現(xiàn),它是學生解決實際問題的關鍵所在。因此,需要根據(jù)專業(yè)的不同,有針對性地制定培養(yǎng)目標、設置項目案例。在教學學時安排有限的情況下,適當弱化基礎知識教學,這部分的教學可借助一體化教學平臺或MOOC教學等提供的教學資源自學;對于第三方庫的使用則通過分析具體解決問題的過程,制定學習和實踐案例,鍛煉學生解決實際問題的能力。因此,可以根據(jù)市場崗位需求,結合課程內容組織結構,按基礎教學、驗證性實驗、設計性實驗、綜合性實驗反向設計Python程序設計課程教學內容。
基礎知識部分是所有學生必須掌握的內容,要求學生掌握基本語法、序列、文件操作、函數(shù)、模塊、面向對象設計思想及應用、異常處理的基礎知識和數(shù)據(jù)庫操作、第三方庫等相關知識[3]。在這一部分教學過程中,穿插驗證性實驗和簡單的設計性實驗,例如,在講解“列表常見基本操作”時,介紹完方法名稱、功能和基本格式后,就把課堂交給學生,“理實一體化”教學平臺打破了傳統(tǒng)教學的理論、實踐脫節(jié)以及環(huán)境束縛,讓學生及時驗證各種基本操作的結果,加強對理論知識的理解和記憶。當一個完整的知識點講授完成后,給學生一個簡單的設計實驗案例,例如,在講解完“字典”后,設計“生成1000個隨機字符串,統(tǒng)計每個字符的出現(xiàn)次數(shù)”,讓學生嘗試解決實際問題,通過反復練習加強工程能力。設計貼近社會、生活實際需求的實驗項目,例如設計“通過數(shù)據(jù)爬蟲,獲取每日相關統(tǒng)計數(shù)據(jù),并在此基礎上生成柱狀統(tǒng)計圖”等案例[4],促進“學以致用”,激發(fā)學生學習興趣和動力。
當今Python程序設計語言已全面滲透至各產(chǎn)業(yè)應用,如,人工智能、互聯(lián)網(wǎng)、金融等行業(yè)。在綜合性實驗環(huán)節(jié),則根據(jù)專業(yè)、學生個人選擇方向制定如爬蟲、數(shù)據(jù)處理、可視化、機器學習、神經(jīng)網(wǎng)絡、游戲、網(wǎng)絡安全等方向的多組面向工作崗位的實驗項目[3],學生組隊完成實驗環(huán)節(jié)。比如,財務管理專業(yè),離不開報表和數(shù)據(jù)分析工作中,最常見的便是使用Excel進行數(shù)據(jù)處理。因此,針對財務管理專業(yè),可以設計“使用Python自動化生成數(shù)據(jù)報表”一類項目,利用Python實現(xiàn)原本利用Excel或其他工具完成的數(shù)據(jù)處理工作,讓學生體驗通過Python提升數(shù)據(jù)分析效率。
通過高級綜合性實戰(zhàn)項目實踐,不僅能促進學生鞏固知識要點,提升編碼能力,還能增強團隊協(xié)作、人際交流、邏輯思維、撰寫文檔等項目能力。
打破傳統(tǒng)的重理論、輕實踐,重結果、輕過程等現(xiàn)象,在遵循多元、發(fā)展、科學、過程等評價基本原則的基礎上,根據(jù)課程標準,結合學科知識特點、學生認知規(guī)律等,合理設計理論與實踐相融合的考核標準,構建具有應用型人才培養(yǎng)特色的能力評價方法。改變傳統(tǒng)只重視筆試的考核模式,將“20%出勤+10%作業(yè)+10%實踐操作+60%筆試”改成“10%作業(yè)考勤+60%實踐操作+30%筆試”。其中,出勤情況以平臺簽到數(shù)據(jù)和在線時間為依據(jù);課后通過平臺發(fā)布作業(yè),利用平臺的自動判題功能模塊批改并統(tǒng)計作業(yè)情況,輔助教師進行數(shù)據(jù)統(tǒng)計,教師通過平臺統(tǒng)計數(shù)據(jù)記錄學生的作業(yè)情況;在實踐環(huán)節(jié),為避免出現(xiàn)“流于形式”的實踐考核,學生通過教學平臺提供的開發(fā)環(huán)境編寫并運行程序,后臺收集運行數(shù)據(jù)并生成分析報告,教師通過平臺生成的監(jiān)督數(shù)據(jù)記錄實踐成績,同時實施個性化教學(根據(jù)分析數(shù)據(jù)進行有針對性的指導),幫助學生消化當堂課程內容。如此,通過降低作業(yè)考勤以及筆試成績的比例,大幅提升實踐操作比例,加深學生對Python程序設計的基礎理論知識理解,提升應用程序解決實際問題的能力。使學生深刻明白實踐操作的重要性,將更多的時間及精力用于實踐操作,以更好地訓練程序思維。
基于“理實一體化”教學模式開展Python語言程序設計課程改革不是簡單地從理論+實踐教學方式的組合,是理論與實踐的深度交叉與融合。應用“理實一體化”教學平臺為學生提供了Python語言的學習平臺,擺脫對實驗條件的依賴性;自主創(chuàng)建的“理實一體化”教學資源和教學模式為學生創(chuàng)設了更好的學習機會和環(huán)境。案例式教學使學習充滿了趣味性,及時“實踐”提高了學生積極性,理實結合充分訓練了學生的程序思維能力和實際應用能力。通過這一改革嘗試,培養(yǎng)更多具有創(chuàng)新能力的專業(yè)復合型人才。