熊光耀 何艷秋
【摘? 要】進入21世紀,在互聯網的推動下,各項技術取得了突破,大數據、云計算、物聯網、區塊鏈等信息技術也越來越為人們所重視,因此,在教育特別是高等教育中也加大了對學生的信息素養的培養,而要提高信息素養,就必須培養學生的計算思維能力,很多學校也開設了數據結構這門課程來培養學生的計算思維能力,良好的計算思維對解決各方面問題會產生積極的影響。
【關鍵詞】 計算思維;數據結構;教學改革
1.計算思維的定義
計算思維是運用計算機科學的基礎概念進行問題求解、系統設計以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動,由周以真于2006年3月首次提出,并被其進一步定義為通過約簡、嵌入、轉化和仿真等方法,把一個看來困難的問題闡釋成一個我們知道問題怎樣解決的方法;是一種遞歸思維,是一種并行處理,是一種把代碼譯成數據又能把數據譯成代碼,是一種多維分析推廣的類型檢查方法,是基于關注分離的方法;是一種選用一種合適的方式去陳述一個問題或對一個問題的相關方面建模使其易于處理的思維方法;是種用海量數據加快計算,在時間和空間之間,在處理能力和存儲容量之間進行的折衷的思維方法。
2.數據結構課程的現狀
數據結構是計算機專業的一門重要的基礎課,也是世界各國計算機專業必修的核心課程之一。數據是計算機處理的對象,人們使用計算機處理問題就是對數據進行加工處理的過程,因而數據的組織與結構被確立為計算機科學中最基本的內容。《數據結構》作為一門獨立的課程在國外是從1968年才開始設立的,多年來,學生普遍反映課程學習難度大。分析其原因,主要有以下幾個方面:①該課程作為一門基礎課,一般開設在低年級,此時的學生還不具備專業知識系統學習的背景,而且該課程知識點繁多,學生要測試、驗證需要編寫大量相關代碼,這就要求學生要熟練掌握C、PASCAL的先導課程,否則學生會產生畏難情緒,從而喪失學習興趣和信心;②以“教師為中心”的傳統課堂存在“滿堂灌”、“一言堂”的現象,學生無法發揮主動性,只能機械記憶,理解課堂的知識,實驗課也只能做一些驗證性實驗,這種教學方式忽視了學生個體差異,導致個別學生不夠學、跟不上。另外,教學方式和課程考核方式單一,筆試內容多以基礎知識為主,實驗考核也很少有解決實際問題,缺乏對學生創新能力和解決問題能力的培養;③教學難度大,《數據結構》這門課程比較抽象,涵蓋內容廣。大多數學生對一些抽象概念難以理解。另外還存在與先導課程銜接問題,有些知識能理解,但對于編程卻無從下手,學習效果受程序設計課程的影響較大。
2.1教學方法有待改進
現在數據結構課程教學仍然有一大部分采用講授型的教學模式,教師在課堂內傳授知識,偏重知識灌輸,學生在課堂外內化知識。教師沒有很好地挖掘數據結構課程中包含的思想方法,也沒有進行很好的總結歸納,沒有合理地組織教學內容,課程教學缺乏系統性和創造性。學生在學習過程中只是遵從、記憶和模仿,是被動地接受知識,這樣很難調動學生自主學習的積極性和協作學習的自主性,學生的思維和能力難以得到發展,最終導致學生創新能力不足,只具有一定的模仿能力。
2.2 教學資源不實用
現有教學資源主要表現形式有精品課程網站和網絡課程,這些綜合性教學平臺主要是整合各類優質資源,知識力度很大,提供的教學資源有長達45min的教學視頻,一個視頻包含多個知識點,視頻內容和傳統課題表現形式相似,主要體現教師授課場景、PPT內容展示等,教學重點不突出,學生無法聚焦學習重點,資源可用性較差,學習效果不佳。同時,這些教學資源開發通常依賴專業的多媒體技術人員,任課教師難以親自開發,而技術人員不一定熟悉教學規律,開發的資源不一定適用于教學,從而造成需與求之間的不對稱,不利于教學活動的正常開展。
2.3 實踐環節不到位
數據結構課程知識點多、抽象性高、邏輯性強、程序復雜,一般教材中只有算法的關鍵代碼,不包含完整的宏和結構體的定義,學生學習的積極性不高,無法上機直接驗證算法,同時算法的理論性較強,和開發實際項目差別較大,理解算法較困難,學生體驗感差。此外,學生沒有很好地學習先導課程,編程語言掌握不夠扎實。數據結構課程的算法描述采用C語言居多,C語言中的函數、指針、結構體等是學習難點。學生學習了結構化程序設計思想,但對于函數、指針、結構體等難點知識掌握得不夠好,不能透徹理解相應的數據結構和算法描述,不能靈活地應用于程序設計,導致不能很好地完成課程的實踐環節。
3.計算思維引入數據結構課程教學
計算思維的本質是抽象和自動化,通過對數據的抽象建立數據的對象模型,通過對問題的抽象建立問題的數學模型,通過對數學模型進行算法設計實現問題的計算機求解,從而實現編程的自動化。“模型+算法”是數據結構的實質,數據元素之間存在的相互關系的集合就是狹義的數據結構,而廣義的數據結構是在狹義定義的基礎上加上基本操作的集合,完成數據結構的實現。 建立應用數據的對象模型就是從問題中抽象出數據對象,分析數據對象中各元素之間的邏輯關系,確定數據的邏輯結構,選取數據的存儲結構,確定存儲結構的基本操作。建立數學模型就是對問題原型進行分析,抽象、分解,挖掘數據間的關系和數據的變化規律,建立可用計算機求解且與原問題本質相同的理想化對象,數據結構中常見的數學模型一般有樹形模型、圖論模型、集合模型和排序模型等。最后,確定好計算策略,選取合適的算法對數學模型實現問題的求解。
4.改革內容
將從引入計算思維的角度對理論教學、實踐教學進行改革
①理論教學方面。選擇合適的教材是取得好的教學效果的前提,有些教材采用了類C或類Pascal語言描述,該語言無法直接在機器上運行,學生無法直接體會,為此,教學過程中應選擇一本全用C語言或Pascal語言的教材。
②實驗實踐教學方面。數據結構這門課程的傳統實驗實踐教學內容多以驗證性實驗為主,應用型、創新性的實驗項目偏少,也很少能通過實驗項目將各章節的內容有機組合,針對每個章節的內容,將設計若干個貼近生活的實驗項目,這樣可以極大提高學生的學習興趣和主動性。比如在排序問題上應用在圖書館圖書查詢,最短路徑問題應用在城市交通網絡,棧應用在迷宮問題上等。
5.結語
計算思維已經成為一種計算機通識教育的研究熱點,而數據結構這門課程主要是對算法的研究,將計算思維引入該課程,對教學質量的提高,學生思維能力、創新能力的培養都會產生積極的影響。
參考文獻
[1]孔德宇,徐久成,孫全黨,等.基于計算思維的大學計算機基礎課程教學改革與創新研究[J].計算機教育,2014(17):16-19.
[2]伍民友,過敏意.論MOOC及未來教育趨勢[J].計算機教育,2013(20):5-8.
[3] 司明,厙向陽,李占利,等.突出計算思維訓練的數據結構教學實踐[J].實驗室研究與探索,2018,37(5):195-201.
[4] 趙媛,王杰,周立軍,等.以計算思維為導向的C語言程序設計MOOC建設[J].實驗技術與管理,2018,35(4):147-15
課題基金:名稱:大學生計算思維的培養研究? 以《數據結構》為例,(課題編號:2018jzyb-18)。