国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

以培養(yǎng)計算思維為核心的數據結構課程教學改革研究

2020-06-29 07:17舒清錄廖明梅
微型電腦應用 2020年6期
關鍵詞:超星學習通數據結構計算思維

舒清錄 廖明梅

摘 要:根據數據結構與計算思維的內在聯系,分析了數據結構課程教學現狀,結合超星學習通,深入闡述在數據結構教學中融入計算思維能力的培養(yǎng)的教學理念與實踐,教學實踐證明此教學方法對促進學生計算思維的培養(yǎng)有較大的作用。

關鍵詞: 計算思維; 數據結構; 超星學習通; 案例教學法; 拼圖教學法

中圖分類號: G 642

文獻標志碼: A

Abstract: In view of the internal relationship between data structure and computing thinking, this paper analyzes the current teaching situation of data structure course, and expounds the teaching concept and practice of integrating computing thinking ability into data structure teaching in combination with Superstar Learning. The teaching practice proves that this teaching method plays a greater role in promoting the cultivation of students computing thinking.

Key words: computational thinking; data structure; superstar Learning; case teaching method; jigsaw teaching method

0 引言

數據結構是一門非常重要的計算機專業(yè)必修課,其上承高等數學、C語言程序設計和離散數學,下啟操作系統(tǒng)、數據庫原理、編譯原理、人工智能課程,在國家的課程體系中,是一個單獨的知識領域,是學生提高軟件設計水平的一門關鍵性課程。數據結構通過分解與抽象[1],構造出數據模型,寫出高效的算法,最后通過某種計算機語言來實現、解決現實問題。數據結構的學習過程就是算法構造性思維方法的訓練過程,可以培養(yǎng)學生的數據抽象能力、算法設計能力以及創(chuàng)造性思維能力,而這3種能力可以理解為計算思維能力[2]。但由于數據結構課程的復雜性、抽象性、課時少等綜合原因,導致老師不好教,學生不好學,特別是學生在計算思維方面的培養(yǎng)不被重視或得不到有效的體現。本文針對此問題,討論如何在數據結構的課程教學中更好地融入計算思維融,使課程的教學達到預定的教學目標。

1 計算思維的內涵

計算思維由來已久,早在公元前3000年中國人發(fā)明的籌算和唐末的算盤[3],是計算“算法化”思想的典型代表。計算思維被廣泛認同,還是2006年周以真(Jeannette Wing)教授在Communi-cations of the ACM上發(fā)表的“計算思維”。周以真指出計算思維是運用計算機科學的基礎概念進行問題求解、系統(tǒng)設計以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動,其本質內容體現了抽象、約簡、規(guī)劃、關注點分離、遞歸、優(yōu)化、分解等思維特征[4]。隨后我國學者也對此進行了相關研究和實踐,例如:李國杰院士對計算思維給予高度重視,并指出計算思維的培養(yǎng)是克服狹義工具論的有效途徑,是解決其他信息科技問題的基石[5]。陳國良院士和李廉教授發(fā)起并組織了若干次關于“計算思維”的研討會,對什么是“計算思維”及計算思維與理論思維、實驗思維的關系給出了科學的論述[6]。孫家廣院士在《計算機科學的變革》一文中明確指出,(計算機科學界)最具有基礎性和長期性的思想是計算思維[7]。馮博琴指出在課程中培養(yǎng)計算思維能力,關鍵是要提煉并展現隱藏在知識背后的計算思維的光芒,引起學生求知欲望和心理共鳴[8]。2010年《九校聯盟計算機基礎教學發(fā)展戰(zhàn)略聯合聲明》強調把“計算思維能力的培養(yǎng)”作為計算機基礎教學的核心任務[2]。計算思維是一種基本技能,就像讀、寫、算能力一樣必須具備的思維能力,也是一種問題求解的思維,是人人必須掌握的。

2 數據結構課程教學存在的問題

2.1 課程內容多且抽象,學習難度大

數據結構課程內容多,涉及到線性表、樹、圖、查找、排序等內容,光排序就十多種,涉及到的算法很多且還難,理解課程的概念、模型以及算法實現需要較強的邏輯性和抽象性。有些理論無法通過其他手段直觀展示出來,有些還涉及到動態(tài)規(guī)劃、分治法、貪心法等解題策略,給課程教學帶來了一定的難度,被大家認為是難學課程之一。

2.2 先導課程基礎不牢靠

離散數學和程序設計語言是數據結構的先導課程。程序設計語言一般開設在第二學期,學生基礎薄、學時少、教師重知識點傳授,使學生缺少思維能力培養(yǎng),直接影響到數據結構的教學。通過對本校前幾屆上百名學生的課程相關性數據挖掘時間,發(fā)現程序設計語言和離散數兩門成績都優(yōu)秀導致數據結構優(yōu)秀的支持度為21.1%,置信度為70.2%,表明兩門先導課程會直接關系到數據結構課程的教學效果。特別是程序設計語言課程,教學常常陷入重語法輕算法的誤區(qū),再加上對數據結構常用的知識(結構體、指針和遞歸等)存在或多或少的理解困難。以上這些問題最終課程教學效果不佳,學生學習興趣不高。

2.3 傳統(tǒng)的教學模式弊端較大、實訓環(huán)節(jié)薄弱

在傳統(tǒng)以“教師為中心”的教學模式中,計算思維能力的培養(yǎng)是隱形或是教師一筆帶過的,需要靠學生自己去體會。教師沒有把算法的思想和過程說透,結合實際問題太少。這些都會導致學習效果不佳,學生的創(chuàng)造性思維、自主學習能力得不到重點鍛煉。

由于課程本身較強的邏輯性和抽象性導致難度較大,算法思想問題就已經讓學生望而生畏,再加上學生程序設計基礎一般,即使有現存算法,也不一定能順利將算法改程序,久而久之,就會對編程失去興趣。更有部分學生認為此門課程是純理論課程,導致學生在思想上對此門課程重視不夠。沒有通過實踐證明的理論,學生是沒有辦法真正去理解的。

3 基于計算思維能力培養(yǎng)的課程教學改革

3.1 重視思想內因,開啟計算思維之門

教師是教學改革實施的起點,教師的觀念和態(tài)度決定教學改革的效果。長期以來,教師是課堂的主角,學生只能被動聽,缺少自主思考能力培養(yǎng),導致教與學的成效不高。而基于計算思維能力培養(yǎng)的課程教學設計,要求教師花費更多的時間去研究、解決很多實際問題,比如:如何圍繞教學目標和學生實際情況,設計合理有效的教學計劃;在課堂教學中,教師如何充分發(fā)揮學生的主體,激活每個學生的思維,調動學生主動探究的積極性;如何營造環(huán)境,精準服務學生;如何敏銳地抓住課堂新生成問題,推動思維的靈活遷移,促進課堂討論進一步深入;如何讓學生在課后對課堂內容進行拓展,及時了解學生的意見反饋,為課程的持續(xù)改進收集數據等。

學生的心態(tài)和思想也很重要,需要引導和保持,教學的終極目標就是為了學生在知識和能力上得到一定的鍛煉。數據結構是一門承上啟下的重要專業(yè)課程,需要學生一定的數學思維和計算機編程基礎,理論性和實踐性都非常強,對大部分學生來說遇到挫折是必然的。在整個教學環(huán)節(jié)上,需要教師對學生的思想進行教育、引導,幫助學生克服學習困難帶來的挫折或解決問題時存在的思維誤區(qū),防止學生破罐子破摔。

3.2 情境化和趣味化內容,助力計算思維實施

數據結構每章的知識點獨立且多,選擇合理的教學案例把盡可能多的內容串起來,對提高學生學習興趣和學習效率有很大的幫助。選擇案例應該符合貼近生活或專業(yè)實際,要充分考慮學生之間的個體差異(案例應設多個等級,便于不同層次的學生選擇,也便于進一步啟發(fā)學教學),案例充分反映所研究的數據結構且盡可能覆蓋多的知識點原則,案例的個數不宜多例在精而不在多(精心設計,層層剖析,逐步深入)。每章設計的情境化和趣味化案例,如表1所示。

3.3 多種教學方法并行混用,強化計算思維訓練

針對課程情況,數據結構課程教學以案例教學法為主線,在案例教學中啟發(fā)學生思維,適時采用拼圖教學法,組織學生3-4次小組討論。

案例教學法:是圍繞教學目標,在教師的指導下,讓學生對呈現的典型案例進行討論分析、歸納總結,從而培養(yǎng)其思維能力的一種新型教學方法[9],更強調學生的主體地位。

啟發(fā)式教學:是通過在教學中適當設置問題,引導學生去思考、解決問題,以提高學生學習興趣和主動性的教學方法[10],是學生發(fā)展智能和主動地獲取知識的一種雙向教學方法。此法能充分發(fā)揮教師的主導作用,最大限度地調動學生積極性,讓學生在不自覺中開展思維活動,使教與學相互協(xié)同促進。

拼圖教學法:是一種被實踐證明過的有效的合作學習法,非常有助于培養(yǎng)學生的自學能力,自主學習培養(yǎng),強化協(xié)同工作。作為一種合作式學習方法,拼圖教學法提出后一直被眾多的學者和教師廣泛研究[11]。其核心做法是:(1)教師把學生分成N個小組;(2)教學內容也分成N份;(3)讓每組的每一個學生承擔一個教學內容進行學習;(4)相同內容的學生組成專家學習小組進行學習;(5)專家組學生返回原來小組,輪流教授自己掌握的內容;(6)教師對所有學生進行所有內容進行測試和評估。此教學模式對激發(fā)學生積極性和主動性,培養(yǎng)學生分析解決問題能力、語言表達能力、以及發(fā)揚團隊合作精神都是大有幫助,但是要求教師對教學時間的把控、任務分割的合理性和人數控制等比較高,應當合理控制使用次數。

3.4 重視實踐環(huán)節(jié),促進計算思維升華

無論是理論教學還是實踐教學,可能在方式和側重點上不同,但以培養(yǎng)學生解決實際問題、抽象能力為終極目標的理念是一樣的。親自動手編寫、調試程序,不僅提高編程能力,解決問題,更能促進計算思維升華。

考慮到各方面的情況,將實驗分為基礎訓練和綜合性實驗兩部分。基礎訓練部分分步驟引導學生在問題解決過程中逐步完成編程訓練,記錄實驗中出現的問題與實驗結果,對問題分析原因,從而培養(yǎng)學生基本的計算思維能力。而綜合編程部分則是針對某些現實問題求解,學生發(fā)現問題,提出新問題,教師進行必要引導,重在對學生的應用能力和創(chuàng)新意識進行培養(yǎng)。如果實現難度大、任務多,可采用小組協(xié)作完成,通過群策群力來發(fā)揮學生主觀能動性。

上機指導過程中,教師的作用重在啟發(fā),引導學生自己找到問題的根源。學生在上機過程中,記錄好錯誤的原因以及解決辦法,使自己更深刻地理解、歸納總結相關知識。

3.5 合理利用現代教學工具,深化教學模式改革

超星泛雅一平三端網絡教學云平臺,同時支持教師端、移動端和管理端,這三端分別對應課堂教學、學生自學和教務管理,涵蓋了課前、課中、課后、日常教學全過程。課堂中使用包括如投屏、隨機提問、課堂小測試、在線問卷等多種課堂教學功能,后臺基于大數據分析,把學生參與教學的數據可視化,幫助教師進行數據統(tǒng)計。為課程的教學改革提供了良好的支撐,助力教學質量提高。

3.6 計算思維在教學中的實踐

教學案例:哈夫曼樹及其應用。

課前,通過布置一個常見的現實問題,讓學生思考并試圖提出解決方案,并從多種方案中選擇一個最優(yōu)方案。圍繞這個任務,引導學生將問題分解和簡化,得出一個數學問題,總結出問題的已知、未知量,然后引導、啟發(fā)學生推理出求解問題的方法和途徑。

課中,教師進一步引導、啟發(fā)學生進一步深入求解問題的方法,逐步引導學生挖掘出藏在問題背后的模型,為待解決的問題抽象出一個計算模型,并在此模型上進行擴展和新的應用。任務完成后,教師運用計算思維的遞推方式對整個過程概括和分享。

課后,通過上機實踐,讓學生真正理解計算思維的分解和抽象的本質,把新舊知識進行融合,反過來促進計算思維的升華。

3.6.1 課前任務布置

[案例描述-階段1]輸入一個100分制整數成績求其對應的等級,如表2所示。

通過自主學習,試完成以下內容:

(1) 寫出至少3種不同的實現算法,并要求畫出判定過程?

(2) 分析不同算法的性能,指出哪種實現算法最好,以10 000個樣本數據計算。

(3) 通過看微視頻和教師指定的Mooc資源,了解為什么哈夫曼樹又叫最優(yōu)二叉樹?

(4) 結合成績求等次的判定過程,分析與哈夫曼樹的關系。

(5) 完成一次課前測試,把完成作業(yè)和出現的疑問發(fā)布到超星平臺。

3.6.2 課中發(fā)揮教師的主導性和學生的主體性

(1) 檢驗學生學習成效和解答問題

教師通過超星學習通投屏,對學生提交作業(yè)和測試情況進行評價。根據學生完成情況給與一定的積分并計入過程考核總成績,肯定學生的努力。對學生提出的疑問嘗試讓學生間回答或搶答,最后教師對一些難以回答的內容進行補充和總結。

(2) 引出主題,探討算法實現

1) 在所有實現中,哪位同學的方案較好,為什么?

2) 還有更好地方案嗎?當前只有5種等級狀態(tài),如果有n種狀態(tài)呢?

3) 能否看出一些規(guī)律?

4) 教師正式提出并重新認識哈夫曼樹。通過成績等級轉換小案例,把權、路徑長度、最優(yōu)二叉樹、哈夫曼樹算法、哈夫曼編碼等主要問題進行闡述。

5) 課堂小測試,判斷{00,0,01,10,11}和{00,01,100,11}能否構成哈夫曼樹?總結哈夫曼樹的特點。

(3) 案例逐步升級,進一步啟發(fā)學生

[案例描述-階段2]對一段較為簡短且只包含小寫字母的字符串文件,為每個字符編制編碼,并對給定的1/0序列進行解碼。

對問題進行分析,分解成確定字符的頻率、建立哈夫曼樹、編碼、譯碼步驟。教師引導學生進行思考,逐一解決各個步驟的問題。

[案例描述-階段3]將任意的英文文件進行壓縮和解壓縮,計算壓縮比。

由于階段3是階段2的升級,所以只需要學生討論、探究一些重要的問題,比如:

1) 如何統(tǒng)計每種字符出現的概率,有更快的方法嗎?

2) 比如a字符的編碼為100,如果直接存儲a只需要1個字節(jié),但是存100需要3個字節(jié),起不到壓縮的目的,如何達到壓縮目的?

3) 壓縮后的文件應該有哪些信息,才能正常解壓?

4) 如何計算壓縮比?

3.6.3 課后鞏固,反饋教學

[實踐內容]將階段3的內容使用C#、Java等GUI編程實現。

經過上面的討論和探究,學生對問題有了一定的了解,計算思維得到一定的鍛煉,但如何將學生領悟到的知識進行自我消化,把新舊知識進行融合,反過來促進計算思維的成型?最好的答案就是上機實踐。所以教師應組織學生利用課外以團隊形式進行開發(fā)實現,最后將實現的算法流程圖和程序截圖發(fā)布到超星平臺,供其他人學習或評價,教師對學生完成的任務進行評價和定成績,計入總評中。

4 總結

計算思維作為一種解決問題的方法和能力,是每個人應當具備的基本能力,也是近年來研究的熱點問題。數據結構是一門重要的基礎課,同時也是進行計算思維訓練的重要工具之一。所以加大、重視數據結構課程的計算思維培養(yǎng)是很有必要的。經過一段時間的教學實踐表明,在超星等現代教育教學工具的助力下,結合多種教學策略,將計算思維融入數據結構課程教學實踐不僅能提高教學質量,同時對激發(fā)學生興趣、學生自主學習和解決問題能力有很大的幫助。通過上機實踐、鞏固、驗證和消化算法,進一步加強學生的動手能力,促進計算思維的培養(yǎng)。這種教學模式對其他程序設計類課程也有一定的借鑒意義。

參考文獻

[1] 張青,王囡囡.工程軟件開發(fā)技術[M].北京:北京理工大學出版社,2016.

[2] 鄧紅衛(wèi),趙磊,田小梅,等.以計算思維為導向的數據結構課程教學改革和實踐[J].福建電腦,2017(8):78-79.

[3] 管會生,楊建磊.從中國“古算”到“圖靈機”——看不同歷史時期“計算思維”的演變[J].計算機教育,2012(6):121-125.

[4] Jeannette M Wing. Computational Thinking[J].Communications of ACM,2006,10(3):33-35.

[5] 陳國良,董榮勝.計算思維與大學計算機基礎教育[J].中國大學教育,2011(1):7-11.

[6] 王嘯楠,雷大正.基于大數據過程評價的計算思維C語言混合式教學模式探究[J].赤峰學院學報,2018(4):145-147.

[7] 石云.“計算思維”帶給高師院校計算機教育的機遇與挑戰(zhàn)[J].中國校外教育,2012(7):167-168.

[8] 鐘紅艷.數據結構課程計算思維能力培養(yǎng)的思考與實踐[J].計算機教育,2014(5):1-4.

[9] 關秋,陳梅.案例教學的理論研究綜述[J].教育與職業(yè), 2011(20): 145-146.

[10] 董麗薇.“數據結構”課程教學方法的改進[J].沈陽師范大學學報(自然科學版),2012(4): 307-309.

[11] 陳昌兆,王兵,張曉森.拼圖式教學法在原子物理學課堂教學中的應用研究[J].大學物理,2015(4):47-56.

(收稿日期: 2019.08.12)

猜你喜歡
超星學習通數據結構計算思維
數據結構線上線下混合教學模式探討
重典型應用,明結構關系
基于超星學習通移動教學模式的課堂教學應用與研究
淺論超星學習通輔助外國文學教學改革的實現
基于超星學習通的混合式學習模式探索
超星學習通APP在高校推廣的可行性簡析
程序設計課程中計算思維和應用能力培養(yǎng)問題研究
民族高校C語言程序設計課程教學改革的研究
算法的案例教學探析
淺談藝術專業(yè)學生計算思維能力的培養(yǎng)