[摘 要]數據結構是計算機相關專業的一門核心課程,在教學過程中,如何培養和鍛煉學生的計算思維是教育者比較關注的一個問題。本文分析了數據結構課程的教學現狀,討論了數據結構與計算思維的關系,并從案例設計、思維訓練和教學模式改革三個方面詳細闡述了在該課程教學過程中所采取的具體措施。

[關鍵詞]計算思維 數據結構 訓練 混合式教學

基金項目:西安翻譯學院2017年教育科學改革研究項目(項目編號:J17A04);陜西省教育科學“十三五”規劃2017年年度課題(項目編號:SGH17H478)。

數據結構課程教學現狀

數據結構是計算機學科知識體系中的核心,是計算機相關專業的一門重要的基礎課程,在整個課程體系中具有舉足輕重的地位。其理論與實踐并重,既具有抽象性,又具有動態性[1]。多年來,學生普遍反映該課程學習難度大。究其原因,主要表現在以下幾個方面。

首先,數據結構課程一般開設在第二或第三學期,學生沒有系統學習的背景,而數據結構課程知識點多且系統性較強,任何一個知識點的可視化測試背后都需要學生有編寫大量相關代碼的能力為支撐,這對于沒有系統學習背景,且先導課C語言程序設計掌握不熟練的學生來說,課程學習難度較大,容易使其產生畏難情緒,進而喪失學習的興趣和自信心。

其次,以“教師為中心”的傳統課堂由教師“獨霸”教學舞臺,在“滿堂灌、一言堂”的教學過程中,學生機械記憶、理解課程理論知識和算法,然后將課堂所掌握的理論內容,根據實驗大綱的要求,參照實驗步驟指導進行上機驗證,這種大眾式的、標準化的教學模式忽略了學生的個體差異,導致有的學生“吃不飽”,有的學生“不夠吃”。久而久之,學生就會喪失學習數據結構課程的積極性。

再次,受課時限制,當下大多數數據結構課程教學像壓縮餅干一樣去知識背景、去思維過程,直接明了地、平面地將知識灌輸給學生,粗暴地斷開了知識所指向的特定環境,讓學生很容易就陷入了淺層學習的泥潭,難以進行深刻的、批評性的、創造性的思考,很多學生不知道學習數據結構課程的用處,極易造成學習的盲目性。

數據結構與計算思維

自卡內基-梅隆大學的周以真教授提出“計算思維”概念以來,國際國內教育界就掀起了計算思維的研究熱潮[2]。計算思維作為人類三大思維科學之一,是運用計算機科學的基礎概念進行問題求解、系統設計及人類行為理解[3],是信息技術學科的核心素養[4]。如同提升學生的計算思維能力是計算機教學的核心目標之一一樣[5]。數據結構是計算機相關專業一門十分重要的核心課程,其核心內容是抽象數據類型、數據操作。幾乎課程的每個知識單元都對應著一種計算思維方法。課程教學的目標不僅是要培養學生計算機基礎知識的應用能力,更重要的是要提高學生分析問題、解決問題的能力,這也是計算思維的終極目標。因此,數據結構課程教學是計算思維培養的重要載體,是一種重要的計算思維訓練工具。以計算思維為導向進行數據結構課程教學改革,將學生思維培養與專業能力訓練相結合是當前計算機教學改革的方向[6]。

基于計算思維能力培養的數據結構課程教學

如何在數據結構課程教學中培養學生的計算思維,培養學生運用計算思維分析問題和解決問題的能力,就需要教師從宏觀角度重新審視教學目標,以計算思維為主線組織課程教學內容。在教學過程中改變教學環節,加大學生思維訓練力度,順應時代變遷,利用先進的信息技術深化教學模式改革。

1.設計具有思考性的、趣味性的知識情境

以計算思維為導向進行數據結構課程教學,需要教師為學生創造富有思考性的課堂環境。這就對教師提出了更高的要求,一方面教師需要深入社會實踐,對不同專業背景進行調研,熟悉并掌握計算機應用實例。另一方面教師需要認真學習、研究計算思維和數據結構課程內容,提煉并展現知識背后的計算思維,精心設計知識情境,引導學生根據實際情況進行任務分析、分解,引導學生主動探索知識,從而使每個學生都能夠成為問題的思考者,使整個課堂變得富有思考性、趣味性。比如,線性表是數據結構課程中的第一個抽象數據類型,針對這一知識點筆者設計了一個簡單的門診掛號系統,將學生分為幾個小組,每個小組圍繞以下幾個方面進行討論:系統的研究對象、對象具有的屬性(號碼、姓名、性別、年齡、簡單癥狀描述等)、關系(以號碼為關鍵字形成線性表)、特點(除第一個和最后一個病人,每個病人都只有唯一的直接前驅和唯一的直接后繼)、可能的操作(插入、刪除)等內容。通過實踐將線性表的相關知識點融入其中,能夠激發學生學習新知識的興趣,培養學生主動思考問題的習慣。

2.提高課堂實效,強化計算思維訓練

思維隨著知識的貫通而形成,能力隨著思維的訓練而提高。要想提升學生的計算思維能力,只具有思考性的知識情境還不夠,還需要進行有效的計算思維訓練。因此,筆者認為應該從多樣性的角度強化學生思維訓練。多樣性包括知識情境的多樣性和算法的多樣性,知識情境的多樣性除了教師要精心設計知識情境外,強調的是學生要認真觀察,發現生活中的類似案例,不斷進行計算思維自主訓練,算法的多樣性則強調對同一問題進行多角度求解。例如,在進行單鏈表的創建時,如果每次輸入的數據結點是有序的,則可以按照先來先入的原則建立單鏈表,即每次都在鏈表的尾部插入結點,這種單鏈表的建立方式稱為“尾插法”。根據結點插入位置的不同,讓學生從單鏈表的頭部插入結點,所不同的是形成的單鏈表是逆序的,即線性表中第一個元素位于單鏈表的最后一個結點中,最后一個元素位于單鏈表的第一個結點中,可以讓學生在單鏈表的頭部或尾部插入結點,還可以在鏈表中間插入結點。只是為了保證數據元素的有序性,需要在單鏈表中先找到元素的適當位置,然后進行元素的插入。因此,要啟發學生多角度思考問題,對同一問題采用不同方法進行解決。除此之外,還要鼓勵學生改進別人的算法,培養學生計算思維的多樣性和重構性。

3.開展混合式教學,深化教學模式改革

在信息技術的推動下,將傳統的面對面講授式課堂與基于“碎片”化管理的微課相結合,重構教學設計和教學活動,開展混合式教學能夠提高課堂效率,提升教學效果。目前,混合式已成為自“互聯網+教育”以來課堂教學改革的主流方向[7-8]。自2014年來,筆者及研究團隊一直致力于開展混合式教學研究[9],在數據結構課程教學中,錄制微課,制作數據結構課程微信公眾教學平臺,基于微信朋友圈構建學習共同體,把傳統課堂與翻轉課堂、“微課”相結合,按照課前、課中、課后分階段開展教學活動,并取得了一定的成績。實踐結果表明,開展混合式教學既能保留傳統教學附著于教師的隱性知識傳授,又能滿足學生的個性化學習。適當利用翻轉課堂能夠激發學生學習的自主性,能夠引導學生對問題進行多角度、重構性思考。短小精煉的微課實現了零存整取的“碎片化”教學效果,能夠有效擴充學生的學習空間與時間,有利于學生對知識的記憶、理解、消化和吸收。

結 語

數據結構是計算機專業的一門基礎課,同時也是進行計算思維訓練的重要工具之一。如何以計算思維為導向進行數據結構課程教學,本文分別從案例設計、思維訓練、混合教學三個方面進行了探索。當然,計算思維能力的培養不是一朝一夕的,僅通過一兩門課程的教學是不能完成的。因此,計算機專業教師應從計算思維層面看待所授課程,注重培養學生計算思維訓練的意識和行為,提高學生自主解決實際問題的能力。

參考文獻:

[1]邱勁、王平、徐展:《〈數據結構〉課程教學改革與實踐探索》,《西南師范大學學報》(自然科學版)2013年第1期。

[2]范文翔、張一春、李藝:《國內外計算思維研究與發展綜述》,《遠程教育雜志》2018年第2期,第3-15頁。

[3]李艷坤、高鐵剛:《基于思維視角的計算思維綜合解讀》,《現代教育技術》2017年第1期,第68-73頁。

[4]張立國、王國華:《計算思維:信息技術學科核心素養培養的核心議題》,《電化教育研究》2018年第5期,第115-121頁。

[5]龔靜、侯長林、張新婷:《計算思維能力發展模型與教學程序研究》,《現代教育技術》2018年第4期,第48-54頁。

[6]司明、厙向陽、李占力、李洪安:《突出計算思維訓練的數據結構教學實踐》,《實驗室研究與探索》2018年第5期,第195-201頁。

[7]李逢慶、韓曉玲:《混合式教學質量評價體系的構建與實踐》,《中國電化教育》2017年第11期,第108-113頁。

[8]李逢慶:《混合式教學的理論基礎與教學設計》,《現代教育技術》2016年第9期,第18-24頁。

[9]孫亞紅:《基于微信平臺的〈數據結構〉課程教學實踐探索》,《微型電腦應用》2018年第4期,第10-12頁。

作者單位:西安翻譯學院