計算思維訓(xùn)練下程序設(shè)計教學(xué)方法探討
時間:2022-10-13 11:26:30
導(dǎo)語:計算思維訓(xùn)練下程序設(shè)計教學(xué)方法探討一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
計算思維是高級思維。研究者普遍認為高級思維屬于高級認知能力,建立新思維過程是認知創(chuàng)新過程。積極性和批判是這個過程的兩個關(guān)鍵因素。依據(jù)學(xué)者馬扎諾的學(xué)習(xí)認知過程理論,積極性將激發(fā)思維訓(xùn)練者內(nèi)在的認知動力,將促使控制學(xué)習(xí)的自我系統(tǒng)調(diào)度工作,主動參與到認知建立過程中。如果積極性缺失,指揮認知系統(tǒng)處理知識的元認知等認知能力將無法發(fā)揮作用。思維訓(xùn)練中的積極性主要體現(xiàn)在三個方面:(1)積極參與教學(xué)活動,內(nèi)容要具有吸引性;(2)積極思考;(3)積極求精。著名教育心理學(xué)家斯騰伯格認為在照本宣科方式、問答方式和對話方式等三種基本教學(xué)方式中,對話方式是最適發(fā)激活學(xué)生的積極性,開展思維教學(xué)。同學(xué)通過對話逐步展開圍繞教學(xué)內(nèi)容的分析討論,激發(fā)學(xué)生的求知欲,調(diào)動學(xué)生的積極性,活躍學(xué)生的思維,使學(xué)生主動地思考,讓學(xué)生充分討論并發(fā)表各自的見解。教師通過對話適時引導(dǎo)和評判,促進學(xué)生對于自己思維過程的反思和批判從而提高思維能力。批判是對思維過程的觀察、分析和評估過程。它通過反思對思維進行整理和重組,發(fā)現(xiàn)新的、合理的和優(yōu)化思維模式。思維本身外界在人腦內(nèi)部的映射,思維活動發(fā)生在內(nèi)部,具有抽象性、非線性和隱蔽性等特征,將內(nèi)隱的思維過程信息顯性化是思維訓(xùn)練的關(guān)鍵因素。通過顯性化過程,將隱藏的思維結(jié)構(gòu)、思考過程及所運用的方法展示出來,幫助用戶進行思維活動規(guī)律的提取與整理活動。
二、融入計算思維訓(xùn)練的程序設(shè)計教學(xué)原則
現(xiàn)有程序設(shè)計類課程是計算機課程中的基礎(chǔ)性課程。傳統(tǒng)的教學(xué)目標(biāo)是使學(xué)生掌握計算機語言的基本語法語句和程序結(jié)構(gòu),能夠正確使用語言編程解決的一些簡單問題。教學(xué)形式以理論講解為主,在課堂上列舉出計算機語言語法的各個知識點,再結(jié)合上機實踐操作來鞏固鞏固提高。通過學(xué)習(xí),大多數(shù)學(xué)生擅長書面語法理論考試,回答各類填空或選擇題。懼怕上機編程,缺乏應(yīng)用計算機程序解決問題的能力?,F(xiàn)有的教學(xué)方法束縛了學(xué)生思維的發(fā)展,尤其是運用計算機綜合分析問題、解決問題能力的提高。目前,有許多老師開展了在程序設(shè)計課程中注重提高計算思維教學(xué)改革的嘗試。探討了算法與計算思維的關(guān)系,算法是計算思維在計算機求解問題的具體實現(xiàn),并采用一題多解的方法來實現(xiàn)教學(xué)提高計算思維能力。發(fā)揮案例教學(xué)法作為一種互動式教學(xué)形式具有能調(diào)動學(xué)生主動思考的優(yōu)勢,已被用在程序設(shè)計課程中培養(yǎng)計算思維。但是現(xiàn)有的教學(xué)案例方法只注意案例吸引學(xué)生的一面,在組織上,仍然是以傳輸知識為目標(biāo),沒有突出思維訓(xùn)練的教學(xué)形式。以C語言程序設(shè)計課程為實例,介紹將程序設(shè)計課程與計算思維能力培養(yǎng)的可行性。缺乏系統(tǒng)性的教學(xué)組織形式和組織方法。利用漢諾塔作為經(jīng)典案例探討計算思維和編程過程的關(guān)系。闡述程序設(shè)計課程教學(xué)中計算思維能力的培養(yǎng)方法。這些方法對于提高學(xué)生的計算思維能力起到一定積極作用,但是這些教學(xué)方法仍然是以程序語言為中心的教學(xué)模式。沒有從思維訓(xùn)練本身特點出發(fā),設(shè)計教學(xué)過程,從而影響了教學(xué)效果。編程過程是人們通過程序語言來表達解決問題的求解過程,即計算思維過程。程序語言是依據(jù)計算機構(gòu)造特點而設(shè)計的諸多表達符號和規(guī)則的符號集合,起到人與計算機之間的中介作用。程序是計算機指令的某種組合,控制計算機的工作流程,完成一定的邏輯功能,以實現(xiàn)某種任務(wù)。程序所反映的人們根據(jù)計算機的特點,用計算機語言表述解決問題的結(jié)果,是人的自然思維方式到計算機思維方式的轉(zhuǎn)換能力。程序是人類思考的結(jié)果,也就是計算思維的顯性化結(jié)果。對程序的批判和討論將有助于提高計算機思維的認識。
(一)設(shè)計教學(xué)對話場景
首先,要以實際經(jīng)驗情境為基礎(chǔ)案例。教學(xué)對話是通過對案例的剖析,以解決問題為主線展開。著名教育心理學(xué)家斯騰伯格美國教育家杜威又認為一個實際的經(jīng)驗情境,是思維的開始階段,實際經(jīng)驗情境的案例能夠活躍思維,促使學(xué)生思考問題。其次,案例不易太復(fù)雜要有多樣性,程序設(shè)計是基礎(chǔ)入門性課程,是建立計算思維的起點。太復(fù)雜的案例信息量大,學(xué)習(xí)時不易抓住重點,學(xué)生也會因難度大而挫傷積極性。多樣性的思維解決方案,這樣可以通過顯性比較這些思維的不同來促進認識計算思維,抓住各種思維的不同。最后,案例要有拓展性,能從計算思維的一個點,拓展到其它方面。通過不斷豐富,循序漸進。
(二)顯性化思維過程
(1)計算思維的本質(zhì)是抽象和自動化。通過不同層次的抽象,忽視一些無關(guān)細節(jié),將注意力集中在關(guān)鍵方面,控制待解問題的復(fù)雜性。抽象過程需要精確和嚴(yán)格的符號標(biāo)記和建模,保證最終能夠進行機械自動化求解。自動化是在抽象化模型基礎(chǔ)上開展算法設(shè)計,實現(xiàn)機械化求解過程。編程過程是顯性化計算思維的過程。圖靈獎得主N.Wirth經(jīng)典論述程序=數(shù)據(jù)結(jié)構(gòu)+算法。(2)數(shù)據(jù)結(jié)構(gòu)顯性化抽象思維。數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)與數(shù)據(jù)之間的邏輯關(guān)系,外界信息在程序中的抽象關(guān)系模型。(3)程序算法顯性化了自動化過程。算法是解決特定問題的步驟和方法。編程過程就是用計算機語言符號,如各種標(biāo)識符、常量、變量、數(shù)組、函數(shù)和結(jié)構(gòu)體等,描述實際問題的數(shù)據(jù)及數(shù)據(jù)之間的邏輯關(guān)系。問題求解實現(xiàn)的精確嚴(yán)格程序指令對算法的步驟進行十分清楚和準(zhǔn)確的描述,使得計算機可以實現(xiàn)期望的輸出結(jié)果。
(三)反思思維過程
通過對顯性化的數(shù)據(jù)結(jié)構(gòu)和算法的分析反思,可以提升計算思維能力。采用提問的方式,對編程中的思維過程進行觀察反思,整理和重組,發(fā)現(xiàn)新的、合理的和優(yōu)化思維模式。編程解決問題的思維過程分為三個主要內(nèi)容:抽象建模、算法選擇、編程實現(xiàn)??梢試@三個方面設(shè)計問題,一是思考的起點是什么?二是提出的解決方案是滿足需求?最后是在效率上是否有更好的辦法。
三、教學(xué)實例
程序設(shè)計教學(xué)一般分為兩個階段,第一個階段以語言教學(xué)為主,講授語言的基本命名規(guī)則和簡單語句,第二階段以語言的靈活運用為主,能夠解決簡單問題。第二階段是計算思維訓(xùn)練的重點。
(一)首先設(shè)計對話情境
例如,作為剛剛開始選擇程序設(shè)計解決實際問題的案例我們可以考慮選取學(xué)生非常熟悉的雞兔同籠問題作為案例。因為這個案例具有一定的趣味性,而且同學(xué)們從小學(xué)到高中都學(xué)習(xí)過這個問題的不同解法,具有多樣性。而且可以通過與程序解法的比較,來發(fā)現(xiàn)計算思維解決問題的不同。雞兔同在一個籠子里,從上面數(shù),有35個頭,從下面數(shù),有94只腳。問籠中各有多少只雞和兔?這是一個中國古代《孫子算經(jīng)》中經(jīng)典的問題。根據(jù)問題可以先給出下列不同的解法。
(二)反思討論
圍繞三種解法后面不同的思維方式展開對話討論。奧數(shù)解法的思維過程是通過認真分析和觀察問題對象中內(nèi)在的自然邏輯關(guān)系,通過算式加以表達的計算,重在一個巧字。數(shù)學(xué)方程解法較前一種解法上,在思維方法上多了一層抽象,用符號的形式表達了問題之間的聯(lián)系,并用數(shù)學(xué)方程工具加以解決。C語言的解題過程,具有明顯的計算思維特征。沒有太多的巧勁,而是分利用計算機數(shù)據(jù)計算準(zhǔn)度高并具有嚴(yán)格的操作時序等特點,發(fā)揮速度和存儲優(yōu)勢。利用雙重循環(huán),進行暴力搜索解決。這樣通過比較討論,將發(fā)現(xiàn)不同思維模式間的差異,有助于建立新的計算思維模式。C語言解法的顯性化展示了思維的過程,它通過變量j,t抽象表達了問題所涉及的雞和兔。兩層for循環(huán)給出說明了搜索過程。通過反思思考本案例還可以進一步延伸思考,目前循環(huán)次數(shù)是35*35=1225次。不可能同時存在35只雞和35只的情況,我們可以這樣進一步優(yōu)化減少循環(huán)次數(shù)提高算法效率呢?這樣的提問,將引導(dǎo)學(xué)生對于算法的進一步思考。
四、結(jié)束語
計算機程序設(shè)計是學(xué)習(xí)使用計算機解決問題的基礎(chǔ)性課程。能否運用計算機編程解決問題不只是語言的熟練程度,而是是否具備計算思維能力。在傳統(tǒng)以知識為中心的程序設(shè)計教學(xué),思維能力的培養(yǎng)是隱性的。因此,對于學(xué)生的編程能力的培養(yǎng),要求多做系統(tǒng),多上機調(diào)試。這樣的模式使得思維能力的培養(yǎng)效率不高。以思維訓(xùn)練為指導(dǎo)通過教學(xué)方法的改變,將計算思維嵌入到程序設(shè)計課程中。生動的案例教學(xué)對計算思維訓(xùn)練起到啟發(fā)和誘導(dǎo)作用,可以很好地激發(fā)學(xué)生思維活動。程序語言作為計算思維可視工具,教師給予適當(dāng)提問,促進學(xué)生反思思維過程。這些問題將學(xué)生把計算思維的理解不斷引向深入。在案例分析和討論中,每個學(xué)生的不同的思維理解在這里相遇,經(jīng)過交流與辯論,形成思維共振局面,顯性的培養(yǎng)了學(xué)生的思維能力,提升了計算機應(yīng)用能力。
作者:陽小華 劉杰 劉志明 徐卓然 單位:南華大學(xué)計算機與科學(xué)技術(shù)學(xué)院