• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于計算機思維的數(shù)據(jù)結(jié)構(gòu)課程的改革

    2019-09-19 11:34:52陳萱華
    電腦知識與技術(shù) 2019年20期
    關(guān)鍵詞:抽象思維數(shù)據(jù)結(jié)構(gòu)課程改革

    摘要:數(shù)據(jù)結(jié)構(gòu)課程改革的重點是培養(yǎng)學生的計算機思維。算法的設(shè)計、實施最能體現(xiàn)計算機思維。數(shù)據(jù)結(jié)構(gòu)課程教學應(yīng)從技巧教學中抽離出來,以問題的抽象、算法的構(gòu)造及實現(xiàn)為重點,結(jié)合豐富的生活實例,培養(yǎng)學生工程化思維、抽象思維、逆向和分治思維及即時反饋思維等計算機思維,實現(xiàn)數(shù)據(jù)結(jié)構(gòu)課程教學的跨越式發(fā)展。

    關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu);課程改革;計算機思維;工程化思維;抽象思維

    中圖分類號:G642? ? ? ? 文獻標識碼:A

    文章編號:1009-3044(2019)20-0102-03

    開放科學(資源服務(wù))標識碼(OSID):

    Abstract:The focus of data structure curriculum reform is to train students'computer thinking. The design and implementation of the algorithm can best reflect the computer thinking. The teaching of data structure course should be separated from the teaching of skills, focusing on the abstraction of problems, the construction and realization of algorithms, and combining with abundant living examples, training students'computer thinking such as engineering thinking, abstract thinking, reverse and dividing thinking and instant feedback thinking. The reform will achieve leapfrog development of data structure course teaching.

    Key words:data structure; curriculum reform; computer thinking; engineering thinking;abstract thinking

    數(shù)據(jù)結(jié)構(gòu)是計算機相關(guān)專業(yè)的核心基礎(chǔ)課,也是管理類、通信類專業(yè)的必修課程,是計算機相關(guān)研究的理論及編程基礎(chǔ)。在數(shù)據(jù)結(jié)構(gòu)課程中培養(yǎng)計算機思維,并引導學生學以致用,將會使學生更深刻地理解計算機的本質(zhì),形成計算機思維的思想與方法論。

    1 計算機思維概述

    計算機思維是一種思維過程,也是一種思維活動,即人們有意識地應(yīng)用計算機解決問題的原理,去分析與解決現(xiàn)實問題的一系列思維活動。[1-2]計算機解決問題的過程具體包括以下步驟:通過分解現(xiàn)實中的具體問題,抽象出適當?shù)臄?shù)學模型,識別數(shù)據(jù),定義數(shù)據(jù)結(jié)構(gòu),構(gòu)建算法,測試分析并進行性能評估,最終呈現(xiàn)出一定的問題解決方案。[3]

    計算機思維是有助于人類認識世界和改造世界的思維方式。管理學界認為計算機編程知識及其思想是理解新技術(shù)、新服務(wù)和新商業(yè)模式的第3只眼睛。[4]國外前些年已經(jīng)開始強調(diào)在小學生中培養(yǎng)計算機思維,國內(nèi)近兩年面向小學生的程序設(shè)計課程也開設(shè)得如火如荼,目的就是為了從小培養(yǎng)孩子的計算機思維。

    2 數(shù)據(jù)結(jié)構(gòu)課程中計算機思維培養(yǎng)的現(xiàn)狀

    2.1 對計算機思維的重要性認識不足

    雖然計算機思維已經(jīng)深入到我們生活的方方面面,我們也都在自覺不自覺地應(yīng)用計算機思維,但人們對計算機思維的理解仍然只停留在表層,計算機思維并未得到真正重視。很多人也沒有意識到生活中的這些應(yīng)用就是計算機思維。有些老師可能對計算機思維還沒有清晰的認識,沒有認識到計算機思維是人特別是大學生必備的思維方式之一。擔任數(shù)據(jù)結(jié)構(gòu)教學時,也沒有深入認識數(shù)據(jù)結(jié)構(gòu)的本質(zhì),沒有發(fā)現(xiàn)數(shù)據(jù)結(jié)構(gòu)背后的計算機思維的價值,沒有考慮計算機思維對學習、工作和生活的深刻影響。

    2.2 對計算機思維的培養(yǎng)重視不夠

    目前任何一個行業(yè)都離不開計算機,為了促進就業(yè),都開設(shè)了計算機相關(guān)課程,但更多的只是為了掌握計算機的應(yīng)用,對計算機思維的培養(yǎng)重視程度不夠,主要表現(xiàn)在以下三個方面:一是數(shù)據(jù)結(jié)構(gòu)課程教學改革的重點放在培養(yǎng)學生的計算機技能,而不是計算機思維;第二,孤立地看待每一個算法;第三,計算機思維的培養(yǎng)僅僅局限在課堂。

    開展數(shù)據(jù)結(jié)構(gòu)教學時,很多老師徘徊在教學舒適區(qū),按照自己多年形成的習慣去教學,不轉(zhuǎn)變教學思路,不去鉆研新的教學方法,沒有花時間去思考、歸納課程中相關(guān)的計算機思維,數(shù)據(jù)結(jié)構(gòu)課程沒有與生活實踐緊密結(jié)合,往往就數(shù)據(jù)結(jié)構(gòu)講數(shù)據(jù)結(jié)構(gòu),見山是山,見水是水,最后只能是培養(yǎng)學生的計算機技能。很多老師認為,學生掌握了計算機技能也就完成了教學任務(wù),也有老師認為,掌握了計算機技能,也就掌握了計算機思維。沒有鉆研的動力,缺乏與生活的聯(lián)系,導致計算機思維的培養(yǎng)得不到很好的落實。

    3 基于計算機思維的數(shù)據(jù)結(jié)構(gòu)課程改革

    數(shù)據(jù)結(jié)構(gòu)課程概念多、內(nèi)容抽象、算法復雜,實踐課時少,學生容易產(chǎn)生畏難情緒,傳統(tǒng)的課程考核模式也不利于調(diào)動學生的積極性。其實,開設(shè)數(shù)據(jù)結(jié)構(gòu)課程的目的不僅僅是學習和掌握相關(guān)知識和算法,更重要的是通過學習獲得思維方式,更好地理解人類的思維,掌握做事方法。因此,數(shù)據(jù)結(jié)構(gòu)課程改革的重點是培養(yǎng)學生的計算機思維,通過人的認知思維和計算機思維的互動,結(jié)合實際例子,有助于培養(yǎng)學生的成長型思維,提高學生的學習興趣,加強主動學習意識。將計算機思維的培養(yǎng)放置于核心位置, 在實際的教學過程中不斷向?qū)W生滲透計算機思維, 將會極大提升數(shù)據(jù)結(jié)構(gòu)課程實施的質(zhì)量。

    數(shù)據(jù)結(jié)構(gòu)包括堆棧、隊列、樹、圖等抽象數(shù)據(jù)類型,涉及邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)及基于不同存儲方式的運算等三個方面。算法的設(shè)計、實施、算法的時間效率和空間效率等都能體現(xiàn)計算機思維,體現(xiàn)問題求解、系統(tǒng)設(shè)計及人類行為理解等一系列計算機思維活動。

    計算機思維是全方位的,不可能通過這一門課程全部掌握,需要不斷的提煉,并通過和認知科學的互動不斷發(fā)展。表1所示是部分知識點重點培養(yǎng)的計算機思維。

    下面介紹數(shù)據(jù)結(jié)構(gòu)課程改革中重點培養(yǎng)的幾種計算機思維。

    3.1工程化思維

    算法設(shè)計和理論研究不完全一致,算法設(shè)計最終要落地實施,會受到很多約束條件制約,涉及具體環(huán)境、客戶需求及體驗等,講究可行性,還得考慮成本,即有用、用得起、體驗好,還要安全可靠,不容易被黑客攻擊。工程化思維是算法聯(lián)系現(xiàn)實世界的重要紐帶,工程是不可逆的過程,它與各種不確定、風險并存,工程化思維特別要處理好以下兩個方面的關(guān)系。

    (1)處理好大和小的關(guān)系。問題規(guī)模的增大會導致性質(zhì)的變化,問題達到一定程度后,不再是同類問題的放大,變成了另一個問題,需要的解決方案完全不同,要求我們學會轉(zhuǎn)化思維模式,這樣在舊問題已經(jīng)轉(zhuǎn)變成新問題時,可以更好地去應(yīng)對。數(shù)據(jù)結(jié)構(gòu)介紹復雜度的表示時培養(yǎng)學生量級意識:小量級或小量級的常數(shù)倍和大量級并存時,必須忽略前者。一個好的工程師,要懂得把精力放在從量級上改進工程方法,如排序算法規(guī)模增大時,算法優(yōu)劣的計算量天差地別。提醒學生寫小規(guī)模算法時就要重視算法的優(yōu)劣,努力設(shè)計較優(yōu)算法,不能因為計算量小就無所謂。生活中遇到復雜問題時要有拆解的能力,能夠梳理出其中各個因素在量級上的不同,把那些無關(guān)緊要的事情先從清單中刪除,而不是碰到什么問題就先解決什么問題。

    (2)處理好成本和性能的平衡關(guān)系。在數(shù)據(jù)結(jié)構(gòu)分析算法的時間復雜度和空間復雜度關(guān)系時,強調(diào)在時間復雜度和空間復雜度之間找到平衡,可以結(jié)合一些現(xiàn)實的工程問題培養(yǎng)學生的工程化思維。[5]人類很多時候強調(diào)對錯,喜歡要求最好的結(jié)果。但是,從工程的角度講,好和不好只是在特定的條件下相對的表現(xiàn),往往沒有全局最優(yōu)解。計算機里面無論是軟件設(shè)計,還是硬件設(shè)計,都在平衡性能和成本的關(guān)系。如語音識別,往往識別率提高一點點,付出的成本可能是幾倍甚至幾十倍,因此用戶通常在容錯的范圍內(nèi)達到最好即可。我們每天都在做許多的選擇和決定,小到去哪里吃飯,大到人生的重要決定,所以很多人都自嘲有選擇困難癥。這是因為現(xiàn)實世界是復雜的,有很多問題都是不確定的,加上有時信息不透明,而且人也不可能掌握所有的信息,面對百度中海量的信息,為了把事情做好,應(yīng)該什么時候停止搜索開始利用這些信息呢?關(guān)鍵是在各種錯綜復雜的體系中求得一種平衡,如果等到信息搜集整理全面、期待獲得最優(yōu)解,事情可能永遠沒有開始的時候。

    3.2 抽象思維

    抽象是人類認識復雜世界最強有力的工具之一,它從具體事物中抽取、概括出共性和本質(zhì)的屬性,暫時屏蔽非本質(zhì)的、細節(jié)的部分,有助于我們集中注意力,抓住重點,通過按層次分解抽象,能夠?qū)碗s的問題簡單化。抽象思維是計算機思維最本質(zhì)的特征,抽象可以完全用符號表示,這就要求在抽象的過程中進行精確的符號化和建模。[2]

    數(shù)據(jù)結(jié)構(gòu)課程有大量的抽象概念,圍繞抽象數(shù)據(jù)類型研究它們的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)及其運算,如樹、圖等是數(shù)據(jù)結(jié)構(gòu)課程中重要的抽象數(shù)據(jù)類型,但它們不能像基本數(shù)據(jù)類型那樣進行簡單的加、減、乘、除運算,這些內(nèi)容學生不容易理解,教師們在講解過程中可以采用形象化、結(jié)合現(xiàn)實生活精心設(shè)計案例等方法講解,進而培養(yǎng)學生抽象思維的能力。

    3.3逆向和分治思維

    通常情況下,人們習慣采用正向思維,如計算n!,根據(jù)定義計算,n!=1*2*3*…*n。但對于復雜的問題,用這種正向思維方式可能沒有辦法解決,如“八皇后”問題,這時可以試試逆向思維方式,問題就會迎刃而解。如n!也可以采用逆向思維方式計算,即n!=n*(n-1)!。這種程序調(diào)用自身的編程技巧稱為遞歸,遞歸的本質(zhì)是自上而下通過調(diào)用自身而層層展開,并利用堆棧保存上下文,再不斷重復自下而上一步步回溯,堆棧里的數(shù)為空時遞歸結(jié)束。遞歸層層展開時常常結(jié)合分治,因為復雜的問題能解決的人不多,碰到復雜的問題通過分治抽象變成相似的規(guī)模小一點的問題,經(jīng)過逐級分解,問題規(guī)模越來越小,能解決的人就越多,工作開展就方便,效率提高,水到渠成。

    《數(shù)據(jù)結(jié)構(gòu)》課程介紹堆棧的應(yīng)用時強調(diào)遞歸的作用,介紹遞歸算法的快速排序時可以結(jié)合管理團隊的應(yīng)用,引導學生思考:假設(shè)你帶領(lǐng)一個團隊,結(jié)合計算機思維如何帶好團隊?帶好團隊可以綜合采用計算機思維中的遞歸、分治、規(guī)范化等。首先要建立一個規(guī)范,使這個團隊有共同討論的基礎(chǔ)和共同遵守的原則,再通過逐級授權(quán),授權(quán)相當于計算機思維中的分治,領(lǐng)導帶頭樹好榜樣,把自己好的工作方式和工作作風傳遞下去,上行下效,你怎么做,下屬怎么做,這樣不斷遞歸,就能形成團隊強大的合力。計算機教學需要讓學生掌握如何采用抽象和分解來控制龐雜的任務(wù)或進行巨大復雜系統(tǒng)設(shè)計的方法。

    3.4 即時反饋思維

    選擇結(jié)構(gòu)的分支走向就是即時反饋的結(jié)果,因此隨處可見反饋,數(shù)據(jù)結(jié)構(gòu)課程也不例外。如二分查找就是典型的即時反饋實例。心理學研究表明,做任何事情,有反饋和沒有反饋的結(jié)果,有著巨大的差異,通過反饋,可以及時校準偏差,糾正錯誤,所以刻意練習特別強調(diào)“反饋”。軟件最終要交付給用戶使用,用戶使用軟件的習慣方式、軟件的使用環(huán)境等可能和軟件設(shè)計師設(shè)想的完全不一樣,如果等到把最終產(chǎn)品交付用戶后才得到用戶的反饋,那肯定太晚了。因此軟件工程開發(fā)要求做好用戶調(diào)研,深入了解用戶需求,甚至讓用戶介入進來,根據(jù)用戶的反饋快速迭代。

    數(shù)據(jù)結(jié)構(gòu)課程教學抽象復雜,更需要教師得到學生的及時反饋,了解學員情況,適當調(diào)整教學進度,改進教學方法,通過上課提問、作業(yè)批改、隨堂測試、章節(jié)測試、課后答疑等方式了解聽課情況,同時,也讓學生得到即時反饋。

    4 結(jié)語

    綜上所述,數(shù)據(jù)結(jié)構(gòu)課程教學應(yīng)從技巧教學中抽離出來,以問題的抽象、算法的構(gòu)造及實現(xiàn)為重點,結(jié)合豐富的生活實例,培養(yǎng)學生工程化思維、抽象思維、逆向和分治思維及即時反饋思維等計算機思維,實現(xiàn)數(shù)據(jù)結(jié)構(gòu)課程教學的跨越式發(fā)展。。

    參考文獻:

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

    [2]董榮勝,古天龍.計算思維與計算機方法論[J].計算機科學,2009,36(1):1-4.

    [3]嚴蔚敏,李冬梅,吳偉民.數(shù)據(jù)結(jié)構(gòu)(C語言版第2版)[M].北京:人民郵電出版社,2017.1-2.

    [4]天極網(wǎng).告別編程課MIT展示自然語言編程[EB/OL]. (2013-07-16) [2014-02-25]. http://dev.yesky.com/406/35250406.shtml.

    [5]陳萱華,楊玲,張靜.“數(shù)據(jù)結(jié)構(gòu)”教學中的常見問題與應(yīng)對策略[J].公安海警學院學報,2018(12):52-53.

    【通聯(lián)編輯:王力】

    猜你喜歡
    抽象思維數(shù)據(jù)結(jié)構(gòu)課程改革
    淺論幼兒計算和幼兒體育教學
    未來英才(2016年2期)2016-12-26 14:01:57
    由“抽象”變“具體”
    考試周刊(2016年99期)2016-12-26 11:08:51
    新課標理念下的函數(shù)概念的教學
    數(shù)學實踐培養(yǎng),直擊學習能力
    “雙創(chuàng)”形勢下高職財務(wù)管理課程改革探索
    項目教學法在微電影制作教學中的應(yīng)用
    中國市場(2016年35期)2016-10-19 03:02:20
    基于創(chuàng)意的對口單招色彩課程改革突破點研究
    成才之路(2016年25期)2016-10-08 09:50:05
    校企協(xié)同實施高職專業(yè)課程改革的實踐研究
    科技視界(2016年20期)2016-09-29 12:54:06
    “翻轉(zhuǎn)課堂”教學模式的探討——以《數(shù)據(jù)結(jié)構(gòu)》課程教學為例
    高職高專數(shù)據(jù)結(jié)構(gòu)教學改革探討
    中國市場(2016年45期)2016-05-17 05:15:48
    金沙县| 芜湖县| 白山市| 莱州市| 陵水| 芦山县| 陆丰市| 大渡口区| 建瓯市| 镇远县| 巩留县| 徐州市| 海南省| 闵行区| 拜泉县| 灵丘县| 十堰市| 孟州市| 潞西市| 吴堡县| 射阳县| 洪雅县| 闻喜县| 汤原县| 东乌珠穆沁旗| 烟台市| 望江县| 靖远县| 昌吉市| 尼玛县| 灵宝市| 广元市| 苗栗市| 麻江县| 灵川县| 霍城县| 开平市| 青河县| 亚东县| 陇南市| 河曲县|