999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

計算思維培養在程序設計課程中的實踐

2013-04-12 00:00:00商書元
教育教學論壇 2013年39期

摘要:計算思維是目前計算機教育的一個重要問題。面向對象程序設計是一個算法設計、工程化開發方法、程序實現的平臺,也是數據結構、程序語言等課程內容融合的橋梁。在面向對象程序設計課程中,以貨運列車車廂的重排為例,對任務進行分析,設計并描述解決方案,不僅體現出類和類的繼承關系,還聯系了典型數據結構。利用案例教學、啟發式教學、鼓勵算法及問題的多種解法,特別是符合軟件工程理論要求的工程的開發方法訓練學生的程序開發過程,對計算思維培養進行了嘗試。

關鍵詞:計算思維;實踐教學;面向對象程序設計;數據結構

中圖分類號:G642.0 文獻標志碼:A?搖 文章編號:1674-9324(2013)39-0203-03

目前,計算思維已在教學當中逐步應用,但是,其本身還未成為獨立的學科體系,教學中的應用只是少數專家學者進行小規模探索性的實驗性教學,在培養過程中沒有系統性的應用計算思維的系列方法[1]。本文對OOP課程中計算思維培養的實踐教學進行了嘗試。

一、計算思維

計算思維是當前國際計算機界廣為關注的一個重要概念,也是當前計算機教育需要重點研究的課題。2006年3月,時任美國卡內基·梅隆大學(CMU)計算機科學系主任、現任美國基金會(MSP)計算機和信息科學與工程部(CISE)主任的周以真(Jeannette M.Wing)教授,在美國計算機權威刊物(Communications of the ACM)上,首次提出了計算思維(Computational Thinking)的概念:“計算思維是運用計算機科學的基礎概念去求解問題、設計系統和理解人類的行為。它包括了涵蓋計算機科學之廣度的一系列思維活動。”對于計算機科學的重要性,美國總統信息技術咨詢委員會認為:雖然計算本身也是一門學科,但是其具有促進其他學科發展的作用,21世紀科學上最重要的、經濟上最有前途的前沿研究都有可能通過先進的計算技術和計算科學而得到解決[3]。《中國至2050年信息科技發展路線圖》報告指出:計算思維是克服狹義工具論的有效工具,是解決其他信息科技難題的基礎[4]。

二、面向對象程序設計

面向對象編程技術從根本上改變了人們以往設計軟件的思維方式,降低了軟件開發的復雜度,能夠開發出具有高可靠、可重用和易維護的軟件,提高軟件的開發效率,是現今軟件開發的主流技術,對信息科學、軟件工程、人工智能以及系統科學等學科產生了巨大而深遠的影響[6]。

面向對象方法與人類習慣的思維方法一致。

面向對象的方法通過獲取客戶對系統的需求,建造需求模型;用基本的需求為指南來選擇類和對象,定義類的結構;由客觀實體的一般和特殊關系定義類的層次;而后建造對象關系模型,對象行為模型[7]。因此,面向對象軟件設計通過抽象和分解來控制龐雜的任務或進行巨型復雜系統的設計,其分析過程是一個把問題闡釋為如何求解它的思維方法。

三、計算思維培養與程序設計工程化訓練

程序設計課程中,強調學生對語言規則的掌握和對基本編程能力的培養,而不重視工程化思想的潛移默化,容易造就個體化編程思想的孕育。按照軟件工程理論,軟件研發過程中存在的軟件危機問題,一方面與軟件本身的特點有關,另一方面是由于軟件開發與維護過程中方法的不正確決定的。與軟件開發和維護有關的許多錯誤認識和做法的形成,可以歸結為在計算機系統的早期階段軟件開發的個體特點。錯誤的認識和做法主要表現為忽略或輕視軟件分析、設計的重要性,對問題和目標沒有正確認識的情況下,就匆忙進行代碼實現,認為軟件設計就是編寫程序并設法使之運行。

程序設計課程涉及到了詳細設計階段、程序實現階段的軟件開發工作。詳細設計階段的根本目標是確定怎樣具體地實現所要求的系統,經過這個階段的設計工作,應該得出對目標系統的精確描述,從而在編碼階段可以把這個描述直接翻譯成用某種程序設計語言書寫的程序。詳細設計階段的任務不是具體的編寫程序,而是要設計出程序的藍圖,以后程序員根據這個藍圖寫出實際的程序代碼。因此,詳細設計的結果基本上決定了最終的程序代碼的質量。考慮程序代碼的質量時,必須注意程序的讀者除了計算機還有維護程序的程序員。在軟件的生命周期中,涉及測試方案、診斷程序錯誤、修改和改進程序等都必須首先讀懂程序。實際上對長期使用的軟件系統而言,人讀程序的時間可能比寫程序的時間要長得多。因此,衡量程序的質量不僅要看它的邏輯是否正確,性能是否滿足要求,還看它是否容易閱讀和理解。

因此,在語言訓練的過程中,培養學生在掌握語言規則的基礎上,先進行問題分析,算法設計,最后代碼實現的程序設計過程,與培養學生的計算思維是一致的。

四、案例教學及題解多樣性

程序設計在計算機學科知識體系中處于核心地位,對計算機專業的學生來說不僅是職業技能的培養,也體現著創造性思維的信息素質培養過程。程序設計也是有形表達抽象思維的方法,在程序設計過程中貫穿閱讀判斷、分析思考、工具利用、抽象表達、綜合創造等多項技能,對計算機專業人才素質的培養至關重要[8]。程序設計實驗教學的教育價值在于突出計算思維,培養學生的創新意識、探索精神和問題求解能力。課程目標不僅僅是培養學生的操作技能,還要通過強調算法多樣性來提高學生的計算思維能力[9]。教學過程中要使學生經歷算法化過程并體驗計算思維,它有利于培養學生的理性思維和形式邏輯能力。培養學生通過計算機編程,最終形成計算思維[10]。

下面列車車廂重排的實例,對面向對象方法來說,涉及到類的設置,類的繼承,功能的擴展等重要知識。對于培養學生的計算思維有較好的作用。一方面可以對棧數據結構算法的特點加深理解,對其的應用有較深了解,另一方面,在解決問題的過程中,引導學生形成解決問題的思路,鼓勵不同的解決方案,用一定的形式將形成的思路描述下來,最后完成程序的設計。數據結構的基本算法與程序設計課程相結合,在教學內容上相融合,加強了課程之間的聯系,將孤立的知識點聯系起來。

一列貨運列車共有n節車廂,每節車廂將停放在不同的車站。假設n個車站的編號分別為1~n,貨運列車按照第n站至第一站的次序經過這些車站。車廂的編號與它們的目的地相同。為了便于從列車上卸掉相應的車廂,必須重新排列車廂,使得個車廂從前至后按照編號1~n的次序排列,當所有的車廂都按照這種次序排列時,在每個車站只需卸掉最后一節車廂即可[11]。將在一個轉軌站里完成車廂的重排工作,假設在轉軌站中有一個入軌、一個出軌和k個緩沖軌道(位于入軌和出軌之間),如圖1所示。

任務分析:在重排的過程中,車頭只能將車廂在入軌、轉軌、出軌三者之間移動,車頭不能跳躍到車廂之間,車廂的進出操作符合后進先出的特點。因此,可以該重排可以利用棧數據結構。一般,棧的基本算法包括進棧、出棧、取棧頂元素值、棧判空、棧判滿和棧的初始化操作。進行車廂重排,需要在棧中遍歷,查找指定編號車廂的位置。因此,可以進行公有派生,在派生類中增加遍歷和查找操作。

方案一:在待排車廂中查找最小編號車廂,依次排入出軌棧。

A?搖在緩沖軌A和入軌棧查找最小編號車廂,如果所有車廂遍歷完成,轉F;

B?搖如果最小編號在緩沖軌A,則將最小編號車廂至最尾的車廂依次通過轉軌棧,進入到入軌棧;

C?搖將緩沖軌A尾車廂(編號較小)通過轉軌棧進入出軌棧,轉A;

D?搖如果最小編號在入軌棧,則將最小編號車廂至最尾的車廂依次通過轉軌棧,進入到緩沖軌A;

E?搖將入軌棧尾車廂(編號較小)通過轉軌棧進入出軌棧,轉A

F?搖重排完成。

方案二:同時在待排車廂中查找最小和最大編號車廂,小編號車廂依次排入出軌棧,大編號車廂排入緩沖軌B,待排車輛處理完成后,將出軌車輛和緩沖軌B中的車輛鏈接,即可完成重排。

A?搖在緩沖軌A和入軌棧查找最小、最大編號車廂,如果所有車廂遍歷完成,轉F;

B?搖如果最小編號在緩沖軌A,則將最小編號車廂至最尾的車廂依次通過轉軌棧,進入到入軌棧;如果最大編號在緩沖軌A,則將最大編號車廂至最尾的車廂依次通過轉軌棧,進入到入軌棧;

C?搖將緩沖軌A尾車廂(編號較小)通過轉軌棧進入出軌棧;最大編號車廂通過轉軌棧進入緩沖軌B,轉A;

D?搖如果最小編號在入軌棧,則將最小編號車廂至最尾的車廂依次通過轉軌棧,進入到緩沖軌A;如果最大編號在入軌棧,則將最大編號車廂至最尾的車廂依次通過轉軌棧,進入到緩沖軌A;

E?搖將入軌棧尾車廂(編號較小)通過轉軌棧進入出軌棧;最大編號車廂通過轉軌棧進入緩沖軌B,轉A;

F?搖將緩沖軌B中車廂順序鏈接到出軌棧,重排完成。

方案一和方案二的區別,在于是否查找最小編號車輛的同時查找最大編號車輛。方案二提高了重排的效率。

由于數據結構具有抽象性和靈活性等特點,這給教學和學習帶來一定的困難。從算法的一題多解入手,對培養學生學習興趣和提高其程序設計及編程實踐能力起到了極大的促進作用[12]。

五、結束語

程序設計課程在計算機相關專業的作用不僅是掌握一門計算機語言,更重要的是通過這樣一個平臺,理解計算機一些重要的理論和方法,并將這些方法用于實踐,解決實際問題。在程序設計課程中,有意識地將課程之間的內容融合,開展案例教學,將軟件工程的軟件開發過程和方法貫穿于課堂和實踐教學活動中,不僅有利于培養學生的職業能力,也有利于對學生計算思維的培養。

參考文獻:

[1]牟琴,譚良.計算思維的研究及其進展[J].計算機科學,2011,(3):10-15,50.

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

[3]President’s Information Technology Advisory Committee. Computational Science:Ensuring America’s Competitiveness[EB/OL].http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf,June 2005.

[4]中國科學院信息領域戰略研究組.中國至2050年信息科技發展路線圖[M].北京:科學出版社,2009.

[5]陳國良,董榮勝.計算機思維與大學計算機基礎教育[C].第一屆“技術思維與大學計算機課程教學改革研討會”,西安交通大學教師教學發展中心,高等教育出版社,2012.07:21-26.

[6]張海藩.軟件工程導論(第5版)[M].北京:清華大學出版社,2008.2.

[7]錢樂秋,趙文耘,牛軍鈺.軟件工程[M].北京:清華大學出版社,2007.3.

[8]耿國華.程序設計能力培養模式的探索與實踐[J].中國大學教學,2009,(3):30-32.

[9]陳杰華,戴麗娟.以培養計算思維為核心的程序設計實驗教學[J].實驗技術與管理,2011,(1):125-127.

[10]陳杰華.程序設計課程中強化計算思維訓練的實踐探索[J].計算機教育,2009,(2):84-85.

[11]曹衍龍,林瑞仲,徐慧.C語言實例解析精粹(第二版)[M].北京:人民郵電出版社,2007.8.

[12]吳紹兵.計算思維和程序設計能力的培養[J].計算機教育,2011,(16):11-14,25.

基金項目:本文受北京市屬市管高等學校人才強教計劃(PHR201007132)和北京服裝學院教育教學改革項目資助

作者簡介:商書元(1963-),河北人,博士,教授,主要研究方向:虛擬現實與仿真。

主站蜘蛛池模板: 麻豆a级片| 伊伊人成亚洲综合人网7777| 久草热视频在线| 亚洲免费毛片| 国产99视频在线| 国产午夜看片| 国产亚洲精品91| 亚洲午夜福利精品无码| 99久久精品免费观看国产| 狠狠色噜噜狠狠狠狠色综合久| 国产精品9| 国产亚洲成AⅤ人片在线观看| 国产成人综合亚洲欧美在| 麻豆精品在线视频| 丁香六月综合网| 香蕉久久国产超碰青草| 国产成人精品一区二区不卡| 国产白丝av| 久久精品国产精品青草app| 丁香六月综合网| 亚洲一区波多野结衣二区三区| 欧美精品啪啪一区二区三区| 日本一区二区三区精品AⅤ| 国产av色站网站| 成年人福利视频| 5555国产在线观看| 深爱婷婷激情网| 波多野结衣爽到高潮漏水大喷| 永久免费无码日韩视频| 亚洲无码精彩视频在线观看| 国产成人亚洲欧美激情| 性欧美精品xxxx| 国模视频一区二区| 亚洲免费播放| 国产精品尤物在线| 亚洲美女久久| 国产精品第一区| 日韩精品亚洲人旧成在线| 日本免费精品| 四虎永久在线视频| 浮力影院国产第一页| 国产精品主播| 97综合久久| 五月天久久婷婷| 在线观看亚洲天堂| 午夜啪啪福利| 日韩在线播放中文字幕| 国产色伊人| 激情爆乳一区二区| 波多野衣结在线精品二区| 日韩a级片视频| 欧美一级一级做性视频| 久久77777| 高清不卡毛片| 91探花在线观看国产最新| 色哟哟国产成人精品| 最新国产成人剧情在线播放| 欧美精品一区在线看| 丝袜无码一区二区三区| 日韩欧美在线观看| 青草视频在线观看国产| 无套av在线| 国内精品一区二区在线观看| 精久久久久无码区中文字幕| 亚洲第一区精品日韩在线播放| 精品五夜婷香蕉国产线看观看| 夜夜高潮夜夜爽国产伦精品| 成人午夜福利视频| 麻豆精品视频在线原创| 国产视频一区二区在线观看| 欧美国产视频| 国产美女91视频| 99久久99视频| 亚洲视频免费在线| 欧美日韩在线观看一区二区三区| 国产精品无码翘臀在线看纯欲| 亚洲三级色| 亚洲无线观看| 国产精品成人免费综合| 国产欧美日韩va另类在线播放| 曰韩免费无码AV一区二区| 国产成人91精品免费网址在线|