1引言
近年來,隨著信息技術的快速發展,計算機技術已滲透于物理學,金融學、生物學、醫學、商業、制造業以及證券業等各個領域與行業,并且與這些學科、行業之間的交叉越來越深入,已經成為它們不可分割的一部分。正如迪杰斯特拉所說[1]:"人類的思維方式與思維習慣受到他們所使用的工具所影響,所以人類的思維能力也將受其深刻的影響".因此,計算機技術的迅猛發展已完全影響人們的生活、學習和工作,同樣,信息技術產生的新產品的使用,也影響著人們的思維方式和思維能力。
當今,怎樣培養大學生的計算思維習慣?這正是我們當務之急要解決的一個問題。務必利用計算機科學中的相關概念對學生反復強化訓練,務必使學用對計算思維有深刻的理解和領悟。由于離散數學是計算機及相關專業的一門專業基礎課程,是連接計算機與數學的紐帶,其本身所具有的特點與計算思維活動存在很多共性。怎樣使計算思維的培養融入到離散數學的課堂教學中是本文探討的關鍵。本文將從教學內容的設計、教學方法的選擇、教學過程的監控及教師角色的轉變等方面對融入計算思維培養的離散數學教學方案進行全面介紹。
2計算思維與離散數學
在探討通過離散數學這門課程培養大學生計算思維之前,首先,我們要知道計算思維是如何定義的,其次,要搞清楚計算思維的本質內容是什么;最后,要研究計算思維與離散數學之間有什么關系,或者說如何通過離散數學這門課程來培養學生的計算思維能力。
2.1計算思維
2006年,卡內基梅隆大學周以真教授在《Communications of the ACM》中首次提出了計算維Computational Thinking這個概念。后來Cuny、Snyder和Wing等給出了定義:計算思維是指對問題及其解決方案進行闡釋進而將解決方案表示成可以被以信息處理代理有效實現形式的思維過程[2].可以看出,計算思維的本質就是抽象與自動化;從內涵的角度來看,計算思維就是人類怎樣像計算機一樣的思維;從外延的角度來看,計算思維是利用計算機科學中的相關概念進行人類行為理解、問題求解、系統設計以及與計算機科學相關的一系列思維活動[3].為了使人們深刻理解和掌握計算思維這個概念,周以真教授給出了如下詳細的解釋[4]:(1)利用規約、嵌入、轉化及仿真等方法,將困難問題詮釋為已有解決方法問題的方法;(2)將問題的代碼轉換成問題的數據,然后又將問題數據譯成問題代碼的一種處理方式,實質上也是一種遞歸方式;(3)對規模大而又復雜的問題,采用抽象與分解的方法來進行處理;(4)對所要處理的問題選擇一種合適的方式進行刻畫與建模,并使其易于計算與求解;(5)對系統出現故障進行處理時,常采用糾錯及容錯的方法將系統從最壞情況下進行恢復的思維方式;(6)將問題的分析與求解過程轉換為計算過程;(7)數學和工程思維的完美結合。
根據以上幾點,我們可以概括計算思維的本質[6]為抽象 (Abstraction)和自動化 (Automa-tion)這兩個核心概念。從而讓我們深刻理解與掌握計算思維的"內涵"與"外延"的定義。
2.2離散數學
離散數學[5]是近代數學的一個分支,其主要研究對象為離散量的結構及量之間相互關系的一門科學,是計算機學科發展的基礎。傳統課程教學注重培養學生的數學思維方式,導致學生普遍認為離散數學就是一門理論性較強的基礎數學課,這種教學方式沒有結合學生自身專業特點,不能很好地將所學知識和計算機應用結合起來?;诖嗽?,離散數學教學研究的基本問題就是培養學生運用離散量的結構及量之間的關系來構建問題的抽象數學模型,并在此基礎上進行分析與設計算法步驟,利用高級語言編寫程序來訓練解決實際問題的能力,這正是計算思維的培養核心所在。離散數學典型應用步驟如下:(1)通過對現實世界復雜的實際問題進行理解與分析,對問題和條件本身進行規約與抽象,并建立便于求解的離散結構數學模型;(2)對已建立模型選擇合適的數據結構來表示和存儲;(3)根據確定的數據結構設計正確的算法,要綜合分析算法的時間與空間復雜度;(4)運用程序設計方法學所確定的原則、原理和技術編寫程序;(5)編譯、調試、運行及完善程序。
可以看出,利用離散數學知識解決實際問題的本身就一個將復雜問題任務分解為若干個簡單問題的過程,并對其進行抽象,按照一定的規范逐步處理,因此,離散數學運用的每個步驟都能體現計算思維的理念。為了在離散數學這門課程授課過程中融入計算思維的培養,必須對教學內容、教學方法及教學過程重新組織和調整,以便于學生在學習離散數學基本知識的同時培養了計算思維能力。
3課堂教學方案設計
為了提高學生分析問題與解決問題的能力,必須加強學生的計算思維能力培養。因此,為了更好地訓練和培養學生的計算思維能力,在離散數學課程的授課中必須采用任務驅動教學法,亦即以問題或任務為導向的教學模式。
3.1教學內容設計
在以任務為導向的教學模式中,任務是連接知識點的主線,教學內容必須以任務為中心進行組織。任務設計的具體性和趣味性將直接影響教學效果,基于計算思維的驅動式教學法的內容設計需考慮以下幾點:
(1)任務設計要確定教學內容的難點與重點
將教學內容的相關知識點與計算思維中的相關概念進行關聯。明確哪些概念是還沒有學過的,要有側重點,并把這些概念融入整個任務設計中;(2)任務設計要以學生為中心??紤]學生的自身實際情況與特點,以學生為中心來設置任務的難易、大小、及實施進度;(3)任務設計要針對教學內容確定計算科學中的概念。教師不僅要求學生掌握離散數學基本理論知識,還要領悟離散數學知識點與相關概念之間的聯系,進一步引導學生用計算思維解決問題。
3.2教學方法選擇
任務驅動教學法是一種普遍且具有一定教學效果的方法,本課題中主要采用任務驅動教學法來提高學生的學習興趣。此方法是以解決實際問題,完成特定任務為主的教師與學生,學生與學生之間多維互動的教學方法。解決問題的過程是學生主動構建知識與經驗的過程,通過新知識和原有的知識的交互作用,不斷豐富自身的知識和提升自己的能力。利用任務驅動法可以有效、合理設計教學任務與分配學習任務,可以有效地培養學生獨立思考問題,分析問題及解決問題的能力。
3.3教學過程實施
教學過程是教學內容的實施過程,教學內容的實施過程就是學生在任務驅動下的學習過程,它決定的教學效果的好壞。為了達到良好的教學效果,在教學過程要注意以下幾點:
(1)提升學生的計算思維培養的意識觀念。任務實施必須讓學生從思想上認識到計算思維在實施任務過程中的重要性,如何在任務實施過程中利用計算思維中的哪些相關概念與方法來分析與解決實際問題,從而培養學生運用計算思維解決問題的能力,讓學生學有所用,體會到一定的成就感,這樣可以激起學生的學習興趣和熱情。
(2)教師與學生及時進行有效溝通。在運用計算思維解決問題時所遇到的困難及時與老師溝通,老師要及時做出回復,幫助學生解決任務實施過程中的難題并及時調整教學任務。
(3)加強對學生的過程控制與監督。在授課過程中教師應當把注意力放在幫助學生正確理解計算思維中的相關概念和方法,把控任務實施的方向以及加強任務實施的過程監督。
3.4教師角色的轉變
以培養學生計算思維能力為目標的任務驅動式教學模式中,教師的角色要發生根本的改變,由傳統的教學型轉向設計型、指導型和監督型。其職責可歸納為以下幾個方面:(1)積極備課,針對具體的教學知識點設計教學任務,特別是對涉及計算思維中相關概念和方法運用的教學內容進行設計;(2)教師在授課過程中引導學生完成學習任務,在此過程中不僅指導學生學習新知識,還要強化學生掌握計算思維及運用計算思維解決實際問題的能力;(3)把握過程監督和成績考核,教師應針對設計的任務制定恰當的考核辦法,以此來考核學生完成任務情況,檢查學生對計算思維的靈活運用的能力,能否真正做到舉一反三。
4結語
雖然離散數學由數理邏輯、集合論、代數結構及圖論等四個部分相對獨立的內容組成,但這些內容的教學目的從根本上來說是一致的。因此,從計算思維的角度重新審視離散數學這門課程,把握離散數學教學內容與計算思維之間的聯系。
重點強調教學任務的設計,教學方法的選擇及教學過程的實施,這些都是為了培養學生運用離散量的結構及量之間的關系來構建問題的抽象模型,并在此基礎上設計算法和編寫程序用以解決實際問題的能力,這種能力正是訓練和培養計算思維能力的關鍵所在?;诖嗽?,文中從教學內容的設計、教學方法的選擇、教學過程的實施及教師角色的轉變等方面闡述了一種基于計算思維培養的離散數學課程教學方案設計。后續將借助現有離散數學課程教學改革的基礎,進一步深入探討與研究培養學生計算思維能力的教學模式創新。