李 曲,程宏兵,韓姍姍
(浙江工業大學 計算機科學與技術學院,浙江 杭州 310023)
計算思維是一種能夠把問題及其解決方案表述成為通過計算工具進行信息處理的形式化思維過程。周以真教授認為:計算思維是運用計算機科學的基礎概念進行問題求解、系統設計以及人類行為理解等涵蓋計算機科學領域的一系列思維活動[1]。因而,計算思維成為今后學生學習和發展中應該掌握的關鍵能力。培養學生的計算思維能力成為計算機相關課程的重要任務和根本目標[2]。
計算思維教育既需要基于某一學科學習基本概念與原理,也需要在真實活動中進行綜合性的實踐與應用。隨著各個領域數據搜集需求的不斷提高,計算思維能力不僅成為計算機專業學生需要具備的基本能力,對于其他專業的學生也同樣必不可少。許多非計算機專業在計算機基礎課之外,也開設了Visual Basic、Visio FoxPro或C語言之類的程序設計課程,但程序設計課程并不等于計算思維的培養。對于非計算機專業的學生,培養他們的計算機問題求解能力對其成長和發展也具有重要的意義,同時也是十分緊迫和艱巨的任務[3]。
近幾年來,MOOC的迅猛發展給高等教育領域帶來了巨大沖擊,逐漸成為一種教育現象并引起全球范圍的廣泛關注[4]。SPOC[5]作為“后MOOC時代”的一種典型課程范式,在融合MOOC教育思想的同時,也把微課、小眾教學、集約化教育等融合在一起,形成了SPOC 特有的教育模式。SPOC是高校應用教育技術完成其使命的現實路徑,也是在線教育在高校校園教育中的真正價值所在[6]。
通過改變教師和學生在教學過程中的關系,激發教師和學生的能動性,通過學習模式和學習方法的改變來強化和落實全方位的計算思維能力培養。為此,筆者設計了面向計算思維能力培養的SPOC混合學習模式,并在教學中進行了實踐,取得了較好的效果。
計算思維是一種在實踐中解決具體問題的思維方式,因而計算思維教育應該在解決問題的過程中開展[7]。筆者認為計算思維包括問題分析能力、知識遷移能力、程序設計能力、協同創新能力和工程實踐能力等5個方面。課程安排與能力培養目標的對應關系可以用表1來描述。

表1 課程設置與能力培養目標的對應關系
課程安排對應了計算思維能力培養的5個方面,通過這5個方面的課程安排,學生的計算思維能力能夠得到全面深入的訓練。然而,由于這些能力的側重點不同,在實施基于SPOC混合學習模式教學方法時需要采用不同的具體方式來實施。
具體而言,在問題分析能力培養方面,筆者認為翻轉課堂和混合學習的方式更加適合,即學生在課前閱讀教材和視頻學習基礎知識的基礎上,提出自己對于相關學科應用問題的求解思路,教師適當給予導引,學生充分討論。例如,由于授課班級是綠色制藥相關專業學生,學生的知識背景更多是基于制藥相關背景的,因此,學生學習課程的目的是將數值計算的概念和方法運用在藥學相關的數據分析當中。在程序設計能力培養方面,學生也是通過視頻和練習在課外學習基本的程序設計基本概念和方法,在課上,教師會根據學生的學習情況和錯誤,進行進一步的現場程序演示和解答,從而實現實訓式的教學法;在知識遷移方面,更是混合學習的重點,在課程中互相合作,進行以小組為單位的協同學習,為培養學生的協同創新能力提供了很好的條件,并取得了良好的效果。另外,計算思維的根本目的是將所學的知識應用于工程實踐中,而該課程的最終結果是通過系統設計和實現來達到最終的實際應用,因此通過課程的學習,可以達到工程實踐能力培養的目的。
由于數值計算和計算機設計課程的目的是讓學生通過掌握數值計算方法求解制藥專業中實際的數據分析問題,同時采用計算機實現相關模型,因此更強調學生利用數學方法和計算機語言來解決制藥專業中涉及的具體問題。實踐證明,與傳統教學模式相比,基于SPOC混合學習模式能更好地支持計算思維能力的培養(見表2)。

表2 SPOC混合學習模式對計算思維能力培養目標的對應關系
在SPOC混合學習教學過程中,教師應將具有結構良好問題特征的基本概念和基本方法學習放在課前,讓學生在課前首先完成初級學習。在課堂導學中,教師更多地以案例討論的方式,引導和啟發學生針對制藥專業中的數據分析問題進行討論。學生通過課前的調查研究、合作探究,對問題形成了基本的認識。在課堂研討的環節中,每個小組的學生發表各自的意見,每個學生能通過討論獲得更多分析問題的角度,從而能更加容易地實現知識的遷移,形成自身對知識的深刻理解。客觀上講,這種課前和課堂上的低級學習和高級學習的清晰劃分,既是對計算思維能力中問題分析能力的培養,也滿足了知識遷移能力培養的要求。
建構主義學習方式中情境性教學主張弱化學科界線,強調學科交叉。在傳統的數值計算課程教學中,一般教師只講授教材中涉及的抽象數學問題,筆者雖然在教材編寫時盡可能考慮了醫藥相關專業的應用實例,但是現實的應用遠比教材涉及的問題要復雜和豐富許多。在SPOC混合學習教學過程中,筆者在課前讓學生進行調查研究,以小組為單位搜集與課程章節知識相關的制藥領域實際問題。因為學生本身具有制藥領域的背景知識,所以在本課程學習的過程中很自然地形成了一種以原有知識為背景的具體情境,學生所提出的實際問題既能豐富課堂的教學內容,又能啟發其他學生獲得更多的問題情境。這種弱化學科界線、重視學科交叉的情境性教學的實踐對于學生協同創新能力的培養有很大的幫助。
為了更好地激發學生的學習熱情,改變傳統“以教為主”的課堂教學傳統,基于SPOC的混合學習模式是傳統面對面課堂教學模式和SPOC線上學習模式的融合創新[1-10]。
混合學習活動設計以問題解決式教學設計為主線,面向藥學數據分析的數值分析課程正是以問題解決為目標的理論與實踐相結合的課程,非常適合采用混合學習模式。混合學習包括課前導學、課中研學、課后練學3個環節(如圖1所示)。在3個環節中,教師和學生都必須積極參與,相互合作,確保在各環節中各自發揮作用,共同完成好混合學習的全過程。

圖1 混合學習的分工與構成
在課前導學環節,教師需要根據課程準備教材,必要時可針對教材進行適當的內容補充和選擇。由于缺少面向藥學數據分析的數值分析教材,前期筆者采用的方式是采用以數學為基礎的數值分析教材,在教材之外補充MATLAB相關基礎知識和藥學數據分析相關的案例。隨著素材的積累越來越多,筆者在進一步搜集整理的基礎上,編纂完成了一本面向藥學數據分析的數值分析及實驗教材。基于教材內容和案例的內容,筆者每次在課前錄制的視頻,除了講解課程的基礎知識,還講解案例求解的數學模型,并結合MATLAB程序設計講解程序實現和調試,讓學生除了得到理性的概念之外,還對問題的求解過程有了感性的認識。
學生在課前導學環節,根據教師給定的教材、課外閱讀資料進行課前的預習,并嘗試回答教師在視頻中提出的相關問題。學生在通過視頻學習課內基本概念和方法之外,還需要結合自身的專業學習情況和興趣特點,進行一系列的調查研究,將課程所學到的基本理論與其他課程相關的實例和問題聯系起來。同時,學生還需要總結和整理自己在教材、課外資料、視頻學習和調查研究中發現的問題。在后續的課堂學習前,學生需要將這些問題整理成書面的材料,作為預習完成的任務提交給教師。
在課前導學環節,教師通過提問,啟發學生思考基本概念和基本方法中需要注意的關鍵點。同時,學生通過視頻學習和查找資料,對教材、視頻、文獻中遇到的問題進行思考和整理,這促使學生學會提出問題,而提出問題是分析問題的前提和基礎,也是計算思維能力培養的第一步。
在混合學習的學習過程中,教師不再是課堂唯一的講授人,教師更多扮演的是一個討論的主持人和協調人的角色。教師在課堂上,為了檢驗學生的學習效果,可以適當提問進行考查。但是,教師更多的時候應該提出問題供學生進行討論。在學生探討問題時需要一個協調人,教師對學生的討論甚至在爭議無法緩和時進行必要的引導,并適時對錯誤的問題進行解答;此外,教師應該根據學生對于問題參與度和貢獻度來進行評價,引導和激勵參與度和積極性不足的學生更多地參與到討論中并從中受益。
學生通過課前的學習、思考和調查研究,掌握了基本的概念和知識,同時積累了一些問題。在課堂研學環節,學生通過合作探究,結合已經學到的專業知識和新學到的課程知識,提出相關問題的解決模型,教師可以根據問題的難易、問題的內容對其中某些問題進行選擇,將適合課堂研討的問題提供給學生進行課堂研討,同時給予必要的引導、補充、說明和糾正。另外,為了讓學生真正提高解決問題的能力,在課上采用了操作實訓的方法,分組進行模型抽象、程序設計和調試。對于疑難問題,小組之間可以互相討論,必要時可以向教師尋求幫助,教師對共性問題進行進一步的講解。通過這種方式,學生能夠將課前學習到的基本知識和程序設計的思想結合起來,充分發揮協同學習的優勢,順利實現知識的遷移。學生解決問題的能力通過這種合作探究和操作實訓以知識遷移的方式得到提高。
在課后練學環節,教師除了常規的批改作業之外,還要對學生的課堂表現和作業完成情況進行評價。這種課后根據學生掌握情況來反思教學的方法顯然不是基于SPOC的混合學習所特有的,卻是后續總結優化和提升的重要基礎。根據課后反思的情況,教師通過總結優化,自身得到了提高,同時對后續的教學也能有更加清晰的目標和完備的準備。
學生在經過課前導學和課堂研學之后,對于課程的內容和需要解決的問題都有了清晰的認識和思考。課后學生需要完成的是完整地解決一個跟課程內容相關、與專業背景緊密結合的實際問題,完成問題分析、模型建立、代碼編寫、結果分析和報告撰寫的全過程,并以小組為單位展示問題求解的結果,其他組的學生可以進行質疑、建議和討論。學生之間可以采用互相評分的方式對其他小組的模型、代碼、結果和報告進行評分,與教師評分共同構成其他小組的最后評分。另外,更重要的是,學生通過這種質疑、比較和借鑒,對于課程知識的認識更加深刻和清晰,實現了知識的進一步鞏固和提高。
經過4年的比較研究和教學實踐,筆者認為采用基于SPOC的混合教學法對于學生計算思維能力的培養起到了明顯的促進和提高作用。
采用基于SPOC的混合教學法,通過課前導學,學生在課前就能對書本基礎內容進行學習;通過課前學生的反饋,教師能更清楚地掌握學生對于知識點的理解情況和重難點的掌握程度;通過課堂研學,教師對于學生共性的困惑和誤解能及時進行解答,課后學生能更多地通過實踐和反思,對課程的應用和擴展有更深刻的理解。這種課前課中課后的分工和合作能明顯提高學習的效率和效果。教師不用在課堂上照本宣科地講解學生本可自學的基礎內容,教師有更多的時間與學生進行互動,學生有更多的時間進行思考、合作和探索。
如前所述,程序設計和計算思維能力培養并非等同的概念。為了進一步分析程序設計和計算思維能力培養的區別,也對基于SPOC的混合教學法對于學生計算思維能力培養的效果進行量化的分析,筆者對學生程序設計課程的成績與數值計算課程的成績進行了相關性分析。該專業學生自2013年開始學習Visual Basic,筆者對2013級到2015級學生Visual Basic課程成績與數值計算課程成績進行了分析(見表3)。

表3 程序設計課程與本課程的相關性分析
分析結果表明,程序設計課程成績本身與計算思維培養課程的相關性并不十分顯著,且隨著計算思維能力培養的深入和SPOC的混合教學法的逐步實施,程序設計課程成績本身與計算思維培養課程的相關性出現了明顯的下降。這說明,隨著SPOC的混合教學法的深入實施,學生是否學過程序設計課程對于學習本課程的影響已經不明顯,并且學生包括程序設計在內的計算思維能力確實得到了顯著提高。因而,筆者有理由相信,基于SPOC的混合教學法對真正提升學生的計算思維能力確實起到了良好的效果。
學生是否接受和適應基于SPOC的混合教學法,也是整個教改能否成功的關鍵所在。為了了解學生對于基于SPOC的混合教學法的接受程度,筆者在學期末對學生進行了問卷,共收回有效問卷108份,其中除了最后一題外,其他全部是二選一的選擇(見表4)。
從上述結果可以看出,絕大部分學生對于基于SPOC的混合教學法是接受且能夠適應的,而且絕大部分學生認為:基于SPOC的混合教學法對于上述5種能力的培養起到了更好的促進作用。在回答對基于SPOC的混合教學法有何意見和建議的問題時,很多同學提到希望更多地引入醫藥生物等學科的相關案例、加大課堂討論和實訓式教學方法的課時占比等。筆者在后續的教學中將進一步對醫藥生物等學科相關的案例搜集整理,并增加實訓編程類型視頻課程的錄制。

表4 學生對于基于SPOC的混合教學法的反饋情況表
本研究在分析計算思維能力構成的基礎上,結合基于SPOC的混合教學模式,設計和實踐了面向計算思維能力培養的SPOC混合教學模式。實踐證明,在采用學習階段劃分和案例教學、實訓式教學和情境性教學的基礎上,通過小組討論、融合式測驗,在教學過程中始終堅持以解決問題為目的,重視應用,能夠實現學生知識的順利遷移,達到計算思維能力全面培養的目的。