付 淼
(中國醫科大學,遼寧 沈陽 110122)
現代醫學模式正面臨重大變革,人工智能、大數據等新技術與醫療健康領域的結合越來越緊密。智能醫學需要具備學科交叉、有創新實踐能力的復合型醫學人才。大學計算機基礎教學是培養大學生用計算思維方式解決專業問題,并成為復合型人才的基礎性教育[1]。計算思維是運用計算機科學的基礎概念進行問題求解、系統設計以及人類行為理解等涵蓋計算機科學的一系列思維活動[2]。隨著大數據時代的到來,各種決策將日益基于數據和分析而做出,計算思維將成為人們認識和解決問題的基本能力之一,從計算機能力的培養到計算思維的養成是對高等院校計算機基礎教學的一個新挑戰[3]。
2010年《九校聯盟(C9)計算機基礎教學發展戰略聯合聲明》中也指出要把培養學生的計算思維能力作為計算機基礎教學的核心任務[1]。在2010年“第六屆大學計算機課程報告論壇”大會報告中,陳國良院士同時也闡述了計算思維對學生創新能力培養的重要性,并為大學計算機基礎課程改革提供了一種以提高學生計算思維能力為目標的新模式[4]。在《中國高等院校計算機基礎教育課程體系2008》中將程序設計課程的學習目標確定為:學習問題求解的思路和方法(即算法)和理解計算機是如何具體實現算法的(即如何才能有效利用計算機編程),課程學習的重點是算法思想和問題求解的思路,即培養學生使用計算機編程,并最終形成計算思維[5]。程序設計課程是計算思維培養的重點方式,計算思維最終需要程序設計去實現[6]。
Sandwich(即“三明治”)教學法是對理論學習和實踐學習相結合的一種形象比喻,是“理論—實踐—理論”的人才培養模式。后來由德國海德堡大學醫學院將該理念運用于課堂教學而發展形成的一種新的課堂教學法[7]。該教學法將以教師講解為主的課堂結構打散,強調以學生為主導,教師的授課過程中穿插學生小組討論、小組交叉學習、學習匯報等環節,即課堂上教師首先向學生講解本次課要學習的內容并提出本次課程的學習目標,學習過程主要是以學生分組討論、學習小組交叉討論、學習匯報的形式展開。學生匯報后,教師要對學生的匯報和本次課程進行總結,然后提出新的問題。學生根據本次課程所掌握的知識討論解決新問題,最后教師對學生解決問題的情況進行反饋和評價。
Sandwich教學法改變了傳統以教師為主導的授課方式,將集體學習和個體學習相結合,讓學生真正參與到課堂教學中,教師和學生之間、學生和學生之間進行溝通和交流,以達到調動學生學習能動性和激發學生學習興趣的目的。計算思維教育就是在課程學習過程中逐漸形成的一種解決問題的思維能力和習慣,而更多的則是隱藏在教育教學方法和能力培養過程中,其目的是培養一種學習與思維習慣,以提供理解物理、社會及其他現象的一個新視角,給出解決問題的一種新途徑,從而提高學生的創造和創新能力。計算思維的養成能讓學生在學習工作中敢于思考、勇于創新[3]。
在Sandwich教學法的實施過程中提倡由學生自主探索知識,在學生學習新知識時,教師不限制獲取知識的方式,可以通過閱讀教材和參考資料、使用互聯網搜索資料、學習網絡MOOC以及學生之間進行交流等。在學生獲取知識的同時就形成了一種自主學習的形式和習慣。通過小組討論,學生能夠有機會將自己學習后所理解的知識及觀點表達出來,并在討論過程中不斷修正和完善其對知識的理解。在學生匯報環節,學生可以在匯報過程中進一步消化理解所學知識,同時鍛煉了學生語言表達和邏輯思維能力。在學生運用所學知識解決問題的環節,不但檢驗了學生在上一學習環節中對所學內容的掌握情況,同時還鍛煉了學生運用已掌握知識解決具體問題的能力,從而使學生在學習過程中逐漸養成計算思維。
在程序設計課程教學中,應避免陷入語言表達形式的誤區,教學應該突出體現編程解決問題的方式和方法,而不是語言本身。在程序設計課程的教學實施過程中應當特別注重實踐,使學生通過實踐能夠確實感受和領悟到計算機問題求解的基本方法和思維模式[1]。
根據程序設計課程的特點及計算思維能力培養的需求,構建基于計算思維的Sandwich教學模型,見圖1。在該模型中,將Sandwich教學分成6個教學模塊。

圖1 基于計算思維的Sandwich教學模型
(1)教師引導教學:例如教師通過“雞兔同籠”問題引入本次課的學習重點,并提出本次課程的學習目標是掌握程序設計中的分支結構和循環結構以及循環和分支結構的嵌套使用,熟悉程序書寫流程。用計算機程序求解一個實際問題,首先要從這個實際問題中抽象出一個數學模型,然后設計一個解此數學模型的算法,接著根據算法編寫程序,再經過程序調試、編譯、連接和運行,最后完成該問題的求解[8]。因此,教師要提出本次課程的問題:①找出求解“雞兔同籠”問題的數學模型。②設計求解該數學模型的算法。③編寫程序實現該算法。
(2)學生自主學習:在這個模塊中包含小組討論和交叉小組討論兩個部分。在第一次分組時,每個小組的學生可以通過閱讀教材相關章節或利用搜索引擎、MOOC等方式進行基礎知識學習,然后通過討論完成數學模型及算法的求解。在重新分組討論時,學生將第一次分組討論的情況講給其他同學,并進一步討論教師提出的3個問題,最終達成一致意見。因為計算機編程中數學模型及算法的提出對于初學者相對比較難理解和掌握,因此,在這個交叉分組討論過程中,可以修正第一次分組時求解教師提出問題不是十分正確的小組同學的答案,同時也可以在與其他同學的交流討論中不斷啟發和開闊學生思路。
(3)學生學習交流:學生進行兩輪討論后,已經對教師提出的問題有了答案和理解,接下來就是學生進行匯報的時間。讓學生自己將學到的知識和求解的問題講給大家,不但可以加深學生對問題的理解,同時也鍛煉了學生的語言表達能力。
(4)教師點評總結:根據學生討論和匯報情況,教師指出存在的問題,并分析問題的原因及解決方法,同時結合本次課程的學習目標,歸納總結學生需要掌握的知識點和算法思想,解答在教學過程中學生沒有涉及的具有代表性的問題。為提高學生的創造和創新能力,教師需要提出新的案例進行拓展。該案例可以是在原有問題上的進一步深入(如當雞、兔的頭與腳的數量未知時如何進行求解),也可以是與之相似的一個新的問題。
(5)計算思維實踐:程序設計可以通過對數據和操作的分析、歸納和驗證來提高學生分析和解決問題的水平,從而能夠更好地激發和培養學生的多種思維能力[8]。經過前面的討論、匯報和教師總結環節,學生對本次課程的知識點已經有所了解和掌握。在這個環節,學生需要將所學知識運用到解決實際問題中去,從而鍛煉自己的分析思維能力、培養自己的創新意識。學生需要對教師提出的問題進行再次分組討論,分析教師提出的新問題,同時要給出解決新問題的算法和方法。同時,這個環節也是對學生學習情況及運用知識解決問題能力的一個檢驗過程。
(6)學生教師反饋:學生分享本次課程的收獲、學習心得和存在的問題,同時提出對Sandwich教學方法的意見和建議。教師對“計算思維實踐”環節進行簡要解答和總結,并對學生的課堂表現進行評價。
隨著信息化時代的到來,善于運用計算機技術和手段進行學習工作和解決專業問題已經是高級人才必備的素質[1]。計算機不僅是一個工具,同時還提供了一種對學生從事任何事業都受益終生的思維方式[3]。盡管計算機科學不等于程序設計,但學習程序設計方法是理解計算機的最好途徑,對于非計算機專業學生而言,學習程序設計的目的是學習計算機分析問題和解決問題的基本過程和思想,同時程序設計課程內容也最能體現問題的求解方法,是計算思維培養的重要內容[1]。
Sandwich教學法是一種培養學生自主學習、勇于思考、敢于探索新知識的新型教學方式,教學過程融入個體學習、集體學習、總結匯報等多種形式,使學生和教師之間、學生和學生之間進行互動交流,在激發學生學習興趣和學習主動性的同時,提高學生獲取知識、團隊合作、語言表達、解決問題等多方面的能力,實現了培養學生計算思維的目的。