前言:想要寫出一篇引人入勝的文章?我們特意為您整理了程序設(shè)計(jì)教學(xué)思維可視化技術(shù)應(yīng)用范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:從培養(yǎng)學(xué)生解決復(fù)雜工程問題的能力和計(jì)算思維能力的角度出發(fā),針對程序設(shè)計(jì)類課程教學(xué)中程序設(shè)計(jì)思維難以表達(dá)和傳遞的現(xiàn)象,結(jié)合Raptor的四個(gè)可視化特征對編程思維過程進(jìn)行可視化表述和傳播,討論Raptor在程序設(shè)計(jì)思維可視化教學(xué)中的三個(gè)階段,以及每個(gè)階段的目標(biāo)、特征和實(shí)施方式。
關(guān)鍵詞:計(jì)算思維;思維可視化;程序設(shè)計(jì);Raptor;復(fù)雜工程問題
工程教育強(qiáng)調(diào)培養(yǎng)、提高學(xué)生解決復(fù)雜工程問題的能力,針對計(jì)算機(jī)相關(guān)專業(yè)而言,該能力的代表就是具有分析性、創(chuàng)造性和系統(tǒng)性特征的計(jì)算思維能力。因此,培養(yǎng)和發(fā)展學(xué)生的計(jì)算思維能力應(yīng)成為計(jì)算機(jī)相關(guān)專業(yè)工程教育教學(xué)目標(biāo)之一。程序設(shè)計(jì)類課程是計(jì)算機(jī)相關(guān)專業(yè)的核心課程和入門課程,其目的是教會學(xué)生程序設(shè)計(jì)的思想和方法,培養(yǎng)學(xué)生的計(jì)算思維,并運(yùn)用該思維解決復(fù)雜工程問題。然而,傳統(tǒng)的程序設(shè)計(jì)教學(xué)模式偏重語法知識教學(xué)而忽視計(jì)算思維培養(yǎng),有相當(dāng)一部分學(xué)生缺乏將數(shù)學(xué)模型映射為計(jì)算機(jī)模型的能力,即計(jì)算思維薄弱[1],解決復(fù)雜工程問題的能力不足。為此,本文提出一種思維可視化的程序設(shè)計(jì)教學(xué)模式,運(yùn)用Raptor這一基于流程圖的可視化編程環(huán)境對程序設(shè)計(jì)思維(思考方法,思考路徑和思考結(jié)果)進(jìn)行顯性化表示,幫助學(xué)生發(fā)展計(jì)算思維,提高解決復(fù)雜工程問題的能力。
一、計(jì)算思維與程序設(shè)計(jì)
2006年,美國卡內(nèi)基•梅隆大學(xué)的周以真教授在美國計(jì)算機(jī)權(quán)威期刊《CommunicationsoftheACM》雜志上給出計(jì)算思維(ComputationalThinking)的概念和相關(guān)說明。周教授認(rèn)為計(jì)算思維的本質(zhì)是抽象與自動(dòng)化,它涵蓋了計(jì)算機(jī)科學(xué)之廣度的一系列思維活動(dòng),包括運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念進(jìn)行問題求解、系統(tǒng)設(shè)計(jì)、以及人類行為理解等[1]。自此,計(jì)算思維的培養(yǎng)迅速成為教育領(lǐng)域的研究熱點(diǎn),從大學(xué)到小學(xué)、從計(jì)算機(jī)學(xué)科到非計(jì)算機(jī)學(xué)科,以各種形式明確計(jì)算思維培養(yǎng)的重要性,它被認(rèn)為是創(chuàng)新人才應(yīng)該具有普適性的思維方式。隨著社會發(fā)展和科技進(jìn)步,人們不斷提高對計(jì)算機(jī)相關(guān)專業(yè)大學(xué)生實(shí)踐和創(chuàng)新能力要求,掌握一種或數(shù)種計(jì)算機(jī)語言,具備使用計(jì)算機(jī)解決復(fù)雜工程問題的能力是工程教育的目標(biāo)之一。程序設(shè)計(jì)過程完整演示了從問題到計(jì)算機(jī)求解問題的全部過程,包括了對問題進(jìn)行分析思考的思維過程、對算法進(jìn)行描述的設(shè)計(jì)過程、用計(jì)算機(jī)程序?qū)崿F(xiàn)算法的計(jì)算過程和用數(shù)據(jù)測試程序的驗(yàn)證過程。計(jì)算機(jī)求解問題的全過程都貫穿了計(jì)算性的思維———可計(jì)算性或可操作性,即計(jì)算思維[2]。這四個(gè)過程本應(yīng)該是相輔相成,融為一體的,然而在傳統(tǒng)教學(xué)中卻常常被分割,甚至被忽視。傳統(tǒng)課堂教學(xué)的重點(diǎn)常常是重視知識的灌輸而不是思維的發(fā)展,學(xué)生花了大量的時(shí)間應(yīng)付枯燥的語法細(xì)節(jié),忽視了對問題的分析思維過程和算法設(shè)計(jì)過程,直接跳躍到算法實(shí)現(xiàn)階段,通過程序的運(yùn)行結(jié)果來驗(yàn)證分析和設(shè)計(jì)過程。這種教學(xué)導(dǎo)致學(xué)生不適應(yīng)從自然語言到計(jì)算機(jī)語言的思維轉(zhuǎn)換,編程能力不強(qiáng),在使用計(jì)算機(jī)解決實(shí)際問題時(shí),總是無從下手,進(jìn)而缺乏學(xué)習(xí)的興趣和動(dòng)力。在這種背景下,程序設(shè)計(jì)類課程作為一門實(shí)踐性很強(qiáng)的課程,當(dāng)前教學(xué)的研究重點(diǎn)應(yīng)該是如何組織教學(xué)內(nèi)容和教學(xué)模式,培養(yǎng)的核心問題不應(yīng)該是對某種語言的掌握程度和各種編程技巧,而是培養(yǎng)學(xué)生發(fā)現(xiàn)問題、分析問題和解決問題的思維習(xí)慣和能力,即計(jì)算思維的培養(yǎng)。只有具備良好的計(jì)算思維,才能擺脫程序設(shè)計(jì)語言的限制,熟練應(yīng)對各種領(lǐng)域的問題。
二、思維教學(xué)與思維可視化
趙國慶在《思維教學(xué)百年回顧》中提到思維教學(xué)起源于“授之以竿”的“思維技能”教學(xué),發(fā)展于“授之以餌”的“思維傾向”教學(xué),回歸于“授之以漁”的“知識理解”教學(xué)[3]。這三種取向的思維教學(xué)不是彼此獨(dú)立的,而是相互重疊?;貧w“知識理解”的思維教學(xué)不是簡單而機(jī)械的知識學(xué)習(xí),而是在良好思維傾向指導(dǎo)下,用嫻熟的思維技能對知識進(jìn)行深加工,實(shí)現(xiàn)對知識更透徹的理解,以及從思維技能到思維能力的遷移。人們已認(rèn)識到培養(yǎng)思維的重要性,然而在實(shí)踐中卻收效甚微。長期以來,人們更看重外在的、有形的知識和思維技能,而忽視思維傾向的培養(yǎng)。常常認(rèn)為學(xué)生學(xué)習(xí)了知識和思維技能,只要多模仿和練習(xí),就可以自己摸索出隱藏其中的思維方法,培養(yǎng)思維能力。如同美國著名心理學(xué)家諾曼(Norman)曾指出的那樣,“我們要學(xué)生學(xué)習(xí),卻很少教他們怎么學(xué);我們要學(xué)生解決問題,卻又難得教他們?nèi)绾谓鉀Q問題……”[4]究其根本原因在于知識和技術(shù)是顯性的,而思維是隱性的。因?yàn)橹R和技術(shù)的顯性特征,在教學(xué)過程中,教師可以很容易地判斷學(xué)生對知識的掌握情況,對之進(jìn)行強(qiáng)化或補(bǔ)充;而思維的隱性特征,則導(dǎo)致無論是資歷豐富的老教師還是缺乏教學(xué)經(jīng)驗(yàn)的年輕教師在處理思維方式是否正確、思維技能如何遷移、思維傾向是否有建立等方面都存在疑問,進(jìn)而導(dǎo)致思維的培養(yǎng)可能會出現(xiàn)偏差。鑒于思維及其過程是不可見的,人們提出了“思維可視化”,目的是將看不見的思維過程和思維方法用一系列圖示技術(shù)呈現(xiàn)出來,這種“可視化”對學(xué)生而言有利于幫助理解特定的思維策略和思維過程[5],提升思維能力;而對教師來說,能真實(shí)了解學(xué)生的思考內(nèi)容、思考方法和思考過程,及時(shí)調(diào)整教學(xué)重點(diǎn)和方向。目前對思維可視化的研究主要集中在可視化工具及其應(yīng)用,通過應(yīng)用可視化手段與學(xué)科教學(xué)整合,將隱性的思維過程和思維結(jié)果顯性化,提高學(xué)生的認(rèn)知能力,培養(yǎng)學(xué)生的思維能力[6]。蔡慧英從“可視化知識、可視化認(rèn)知模式、可視化問題過程和可視化系統(tǒng)建模”[7]四個(gè)維度對目前已有的可視化技術(shù)工具進(jìn)行分類,并闡述不同工具的設(shè)計(jì)理念和應(yīng)用場景,提出融合多個(gè)工具的特色構(gòu)建新工具,支持不同的學(xué)習(xí)情景。
三、基于Raptor的程序設(shè)計(jì)思維可視化教學(xué)
本文選擇Raptor作為程序設(shè)計(jì)類課程中的編程思維可視化工具,避免了將教學(xué)重點(diǎn)放在程序設(shè)計(jì)語言的語法上,更重要的是利用Raptor的可視性培養(yǎng)學(xué)生的計(jì)算思維,強(qiáng)調(diào)程序設(shè)計(jì)不僅僅是一種單一的技能,更多的是一種思維方式,顯示呈現(xiàn)出學(xué)生在面對問題的提出、設(shè)計(jì)、實(shí)現(xiàn)、驗(yàn)證與改進(jìn)各個(gè)階段所涉及的思考內(nèi)容和思考方法。
(一)Raptor與可視化Raptor(theRapidAlgorithmicPrototypingToolforOrderedReasoning)是一款基于流程圖的能進(jìn)行有序推理的高級程序語言可視化算法原型工具。按照蔡慧英[7]的分類方式,我們從語法知識可視化、編程模式可視化、問題解決過程可視化和系統(tǒng)思維可視化四個(gè)維度對Raptor進(jìn)行分析,分別列出它在四個(gè)維度上的關(guān)注點(diǎn)、基本要素和可視化學(xué)習(xí)活動(dòng)的表征方式,見表1。具體來說:1.知識是學(xué)習(xí)的目標(biāo)之一。Raptor中所包含的語法知識真正做到了程序設(shè)計(jì)語言語法集合的最小化和原子化[8],用6種圖形表征了不同的指令,通過箭頭表示指令間的前后關(guān)系,將程序的結(jié)構(gòu)和內(nèi)容圖形化。因此,有助于滿足語法知識類的學(xué)習(xí)。2.能否熟練解決問題取決于對該類型的問題是否具備一定的思維模式,進(jìn)行有序的思考。Raptor利用子程序和子圖表現(xiàn)出參數(shù)的傳遞、函數(shù)的調(diào)用和返回,實(shí)現(xiàn)了模塊化程序設(shè)計(jì)模式的可視化,這既符合結(jié)構(gòu)化程序設(shè)計(jì)的主要原則,也是可視化體現(xiàn)了計(jì)算思維中關(guān)于問題求解的抽象化過程。3.計(jì)算機(jī)類學(xué)生一般是以某種計(jì)算機(jī)語言為載體解決復(fù)雜工程問題,這個(gè)過程包括分析、設(shè)計(jì)、編碼、測試、排錯(cuò)等不同階段。Raptor具備的可視化工具包括建立、調(diào)試、運(yùn)行、分析流程圖,因此,它適合問題解決技能的可視化培養(yǎng)。4.Raptor程序設(shè)計(jì)過程中采用計(jì)算思維的一系列方法對現(xiàn)實(shí)中的對象及其關(guān)系進(jìn)行建模和模擬,這是一種可視化?;陉P(guān)注點(diǎn)分離、抽象與分解、遞歸有利于輔助復(fù)雜問題的建模;基于流程圖的運(yùn)行和分析有助于理解問題的內(nèi)在變化和問題復(fù)雜性分析;基于流程圖到多種高級語言的自動(dòng)轉(zhuǎn)換能幫助學(xué)生對高級程序設(shè)計(jì)語言進(jìn)行系統(tǒng)化思考。綜上所述,我們認(rèn)為Raptor利用可視化技術(shù)將流程圖、算法設(shè)計(jì)、算法分析與程序設(shè)計(jì)融為一體,能較好地應(yīng)用在程序設(shè)計(jì)思維可視化教學(xué)的各個(gè)應(yīng)用場景中,涉及問題的提出-設(shè)計(jì)-實(shí)現(xiàn)-驗(yàn)證等各個(gè)階段,有助于實(shí)現(xiàn)知識的活化和思維的發(fā)展。
(二)Raptor在程序設(shè)計(jì)類課程教學(xué)中的應(yīng)用趙國慶[3]和趙姝[4]將思維訓(xùn)練分成的三大階段——隱性思維顯性化,顯性思維工具化,高效思維自動(dòng)化,Raptor在程序設(shè)計(jì)思維可視化教學(xué)中的應(yīng)用也分成三個(gè)階段,每個(gè)階段有各自的目標(biāo)、特征和實(shí)施方式。1.隱性思維顯性化———形成思維傾向,產(chǎn)生需求程序設(shè)計(jì)思維可視化教學(xué)并不是單純地畫個(gè)圖或表,其目的是為了將程序設(shè)計(jì)過程中深藏的思維過程和思維結(jié)果可視化,達(dá)到思維的共享和傳播。只可意會不能言傳的思維對大部分人來說都是很難獲取的,因此,思維教學(xué)的第一階段就是將編程過程中深層次的思維進(jìn)行提取、整合、重構(gòu),顯示成具體的、形象的思維,提升師生間的溝通效率,促進(jìn)學(xué)生的主動(dòng)思考。這個(gè)階段的實(shí)施主要是選擇哪些思維可以進(jìn)行可視化。前文談到Raptor可以將語法知識和結(jié)構(gòu)化設(shè)計(jì)模式(如賦值語句、輸入輸出、函數(shù)調(diào)用、順序、分支、循環(huán)……)進(jìn)行可視化,例如,函數(shù)調(diào)用體現(xiàn)了主調(diào)函數(shù)和被調(diào)函數(shù)之間的關(guān)系,表示出參數(shù)和返回值的傳遞;順序、分支和循環(huán)結(jié)構(gòu)體現(xiàn)了流程的轉(zhuǎn)向,表示出指令的執(zhí)行過程。從學(xué)生的角度來看,站在可視化的思維面前,有助于從程序視角來理解人類行為,對程序設(shè)計(jì)概念體系實(shí)現(xiàn)整體把握。2.顯性思維工具化———訓(xùn)練思維技能,形成策略Raptor的可視化策略貫穿流程圖繪制、調(diào)試、運(yùn)行、驗(yàn)證、分析的全過程,將直觀顯示人腦求解問題和計(jì)算機(jī)求解問題之間的區(qū)別和聯(lián)系。這個(gè)階段的實(shí)施主要是思維如何進(jìn)行可視化。Raptor中流程圖采用拖拽符號進(jìn)行繪制,克服非可視化環(huán)境下語法復(fù)雜的屏障,在盡可能少的語法限制下,讓學(xué)生能快速開展程序設(shè)計(jì);流程圖自動(dòng)運(yùn)行過程中通過設(shè)置斷點(diǎn)和單步執(zhí)行等調(diào)試手段,可以顯示觀察各種結(jié)構(gòu)的入口和出口兩點(diǎn)間變量改變情況,讓學(xué)生對程序進(jìn)行測試、運(yùn)行和驗(yàn)證;流程圖運(yùn)行結(jié)束后,Raptor會自動(dòng)給出所有操作步驟的統(tǒng)計(jì)數(shù)據(jù),讓學(xué)生直觀體驗(yàn)算法復(fù)雜性,便于改進(jìn)算法。思維顯性化的過程有助于改造思維進(jìn)程和思維方式,形成針對不同問題的程序設(shè)計(jì)思維模式。3.高效思維自動(dòng)化———提升知識理解,應(yīng)用思維程序設(shè)計(jì)思維可視化教學(xué)的終極目標(biāo)是在計(jì)算思維指導(dǎo)下自動(dòng)高效解決各種問題,這個(gè)階段的實(shí)施是思維如何遷移和自動(dòng)化。在實(shí)踐中,結(jié)合重點(diǎn)、難點(diǎn)開展大量的模仿和練習(xí),對知識進(jìn)行深加工,實(shí)現(xiàn)轉(zhuǎn)變性內(nèi)化和思維遷移。內(nèi)化意味著新創(chuàng)造的顯性思維又轉(zhuǎn)化為隱性思維,這是思維的應(yīng)用與創(chuàng)新,也是個(gè)人能力的提高;遷移意味著面臨不同的復(fù)雜工程問題時(shí),不斷地應(yīng)用思維、更新思維,分析問題、解決問題。Raptor中流程圖可以自動(dòng)轉(zhuǎn)換成C++等各種高級語言程序,復(fù)雜的代碼重新淹沒之前的可視化思維。這種從隱性到顯性再到隱性的思維循環(huán)轉(zhuǎn)化形成了一個(gè)螺旋形上升的思維創(chuàng)新過程,讓學(xué)生既培養(yǎng)計(jì)算思維,又掌握語言的實(shí)現(xiàn)。這三個(gè)階段并不是彼此孤立的,而是緊密結(jié)合,相輔相成,最終目的是為了強(qiáng)化計(jì)算思維,提高解決復(fù)雜工程問題的能力。
四、結(jié)束語
本文以思維可視化為手段,開展基于思維可視化的程序設(shè)計(jì)類課程教學(xué)研究,構(gòu)建以思維訓(xùn)練為導(dǎo)向的新型教學(xué)模式,改革計(jì)算思維能力的培養(yǎng)路徑與策略,高效地培養(yǎng)大學(xué)生掌握復(fù)雜問題求解的方法與技術(shù),培養(yǎng)計(jì)算思維能力與工程技術(shù)能力,增強(qiáng)自身數(shù)字化時(shí)代的生存技能與競爭力。
參考文獻(xiàn):
[2]丁海燕.計(jì)算機(jī)程序設(shè)計(jì)課程中計(jì)算思維的培養(yǎng)[J].實(shí)驗(yàn)技術(shù)與管理,2015,32(12):16-18.
[3]趙國慶.思維教學(xué)百年回顧[J].現(xiàn)代遠(yuǎn)程教育研究,2013(6):39-49.
[4]趙姝,趙國慶,吳亞濱,等.思維訓(xùn)練:技術(shù)有效促進(jìn)學(xué)習(xí)的催化劑[J].現(xiàn)代遠(yuǎn)程教育研究,2012(4):28-34.
[5]羅恩•理查德.哈佛大學(xué)教育學(xué)院思維訓(xùn)練課:讓學(xué)生學(xué)會思考的20個(gè)方法[M].中國青年出版社,2014:42-69.
[6]趙慧臣,王玥.我國思維可視化研究的回顧與展望[J].中國電化教育,2014(4):10-17.
[7]蔡慧英,陳婧雅,顧小清.支持可視化學(xué)習(xí)過程的學(xué)習(xí)技術(shù)研究[J].中國電化教育,2013(12):27-33.
[8]程向前.基于流程圖的可視化程序設(shè)計(jì)環(huán)境對大學(xué)計(jì)算機(jī)基礎(chǔ)教學(xué)的影響[J].計(jì)算機(jī)教育,2012,170(14):56-59.
作者:劉杰 李金玲 陳星 毛宇 吳菱艷 單位:南華大學(xué)