淺談建構(gòu)式教育理論在數(shù)據(jù)結(jié)構(gòu)教學中的應(yīng)用(2)
時間:
孫連山 趙曉1由 分享
2建構(gòu)式數(shù)據(jù)結(jié)構(gòu)教學
教學理論研究以及教學實踐反饋均表明,學生主動學習的效果遠較被動地接受老師灌輸?shù)男Ч玫亩唷R虼?,為實現(xiàn)上述教學目標,在建構(gòu)式教育理論的指導下,筆者探索并采用了一系列建構(gòu)式教學措施,激發(fā)學生的主動性和興趣,取得了較好效果。
建構(gòu)主義認為,學習并非學習者對教師所授知識的被動接受,而是學習者以自身已有知識和經(jīng)驗為基礎(chǔ)的主動建構(gòu)過程[4]。知識不僅是通過教師傳授而得到,更是學習者在一定的情境中,利用必要的學習資料,通過同化新知識、順化自身知識結(jié)構(gòu)的方式而獲得。建構(gòu)主義提倡在教師指導下的、以學習者為中心的學習,也就是說,既強調(diào)學習者的認知主體作用,又不忽視教師的指導作用,教師是意義建構(gòu)的幫助者、促進者,而不僅僅是知識的傳授者與灌輸者。學生是信息加工的主體、是意義的主動建構(gòu)者,而不僅僅是外部刺激的被動接受者和被灌輸?shù)膶ο?。下面從理論教學和實踐教學兩個方面介紹我們采用的一些教學措施。
2.1理論教學措施
課堂教學是數(shù)據(jù)結(jié)構(gòu)教學活動的主要部分,充分利用課堂教學時間,激發(fā)學生學習數(shù)據(jù)結(jié)構(gòu)的興趣和信心,幫助學生建立學習數(shù)據(jù)結(jié)構(gòu)的環(huán)節(jié)非常重要。我們采用了如下措施:
1) 組織小型討論。
好的開始是成功的一半,好的課堂教學須在上課之初就抓住學生的注意力,讓學生帶著輕松、愉快的心情聽課。我的做法是在課堂的前5分鐘,提出一個學生感興趣的話題,組織若干個有3~5位同學參與的小型討論。到一個學期結(jié)束時,每位同學都有至少一次的發(fā)言機會。討論的主題可以靈活設(shè)置,如時事、技術(shù)、社會熱點等。有時,課堂中間學生比較疲憊、注意力下降的時候,也可以穿插一點討論,改善課堂環(huán)境。大多數(shù)學生非常喜歡這種討論活動,積極參與其中,成為課堂的一部分,從被動上課轉(zhuǎn)變?yōu)橄矚g上課。
2) 重建理論知識所針對的問題。
國內(nèi)的經(jīng)典數(shù)據(jù)結(jié)構(gòu)教材側(cè)重嚴謹?shù)睦碚摚^少討論各種概念、算法出現(xiàn)的背景以及探討的問題是否仍然具有現(xiàn)實價值。而回答這些問題能夠幫助學生重建理論知識所針對的問題原型,重現(xiàn)解決方案的提出、發(fā)展乃至最終成熟的整個過程,更有助于培養(yǎng)學生解決實際問題的能力,養(yǎng)成批判性、創(chuàng)新性思考的習慣。眾所周知,關(guān)于樹的存儲方法很多,有雙親表示法,孩子表示法和二叉鏈表表示法[5],其中以樹的二叉鏈表表示法使用最廣,但其他存儲方法也有其適合的應(yīng)用。例如,在利用樹表示各個集合,求集合中的等價類時,雙親表示法更為合適。每一個集合都用樹的雙親表示法存儲時,并設(shè)樹的根結(jié)點的值為集合名,集合中的每個成員都對應(yīng)一個結(jié)點,這樣很容易找到一個元素所屬的子集(順著雙親指針找樹的根結(jié)點)。
3) 組織“我來講”活動。
數(shù)據(jù)結(jié)構(gòu)涉及很多抽象的概念和算法,初學者很難理解。而教師則對理論內(nèi)容比較精熟,常常傾向于從理論的角度逐步遞進、展開講解,這就增加了學生的學習難度。教師和學生在教學語言上的鴻溝是影響教學效果的一個重要障礙。教師當然可將抽象的理論概念與生活中更形象的概念進行類比,幫助學生理解,也可以將復(fù)雜的算法過程用多媒體動畫模擬出來,直觀地展示給學生,幫助學生掌握。但一方面,根據(jù)建構(gòu)主義理論,教師和學生的知識背景不同,由教師設(shè)計概念類比語境和算法模擬動畫實際上仍然是基于教師的知識結(jié)構(gòu)對知識點進行的同化和順化,而不是對學生知識體系的直接建構(gòu)。另一方面,教師的經(jīng)驗和智慧有其局限性,未必總能夠找到最適合的類比語境和動畫模擬。為此,筆者采用了充分發(fā)揮學生智慧的方法,組織“我來講”活動,要求學生通過設(shè)計算法的動畫模擬,創(chuàng)建概念的類比語境等方式進行學習,并隨機選擇學生走上講臺對抽象理論概念和復(fù)雜算法進行說明。這樣不但能夠調(diào)動學生思考問題,還能幫助那些無法完成自我知識體系建構(gòu)的同學從學生的視角去理解同一個問題。例如,對于n維數(shù)組是元素為n-1維數(shù)組構(gòu)成的線性表這一遞歸的類型定義,可采用符號推理的方式,培養(yǎng)學生的理論素養(yǎng),而同時可鼓勵學生根據(jù)自己的理解將抽象理論具體化,建立幫助理解和記憶的現(xiàn)實語境。
2.2實踐教學措施
數(shù)據(jù)結(jié)構(gòu)是幫助具有基本編程語言基礎(chǔ)的學生錘煉編程技術(shù)的關(guān)鍵課程。它揭示了程序設(shè)計的基本面,即如何處理相互之間存在一種或多種數(shù)據(jù)關(guān)系的數(shù)據(jù)元素所構(gòu)成的集合、如何設(shè)計算法并分析算法的優(yōu)劣。若沒有相應(yīng)的配套實驗指導學生如何將理論應(yīng)用于實際問題,只是泛泛而談、紙上談兵,學生容易迷失在數(shù)據(jù)結(jié)構(gòu)的一連串復(fù)雜概念和算法之中,而不知道學習數(shù)據(jù)結(jié)構(gòu)的意義何在。為實現(xiàn)教學目標,筆者鎖定實驗內(nèi)容設(shè)置和實驗考核等兩個關(guān)鍵環(huán)節(jié),實踐了如下措施,取得了較好效果。
2.2.1實驗內(nèi)容設(shè)置
實驗內(nèi)容設(shè)置是進行實踐教學的最重要部分。從覆蓋知識點的角度看,實驗內(nèi)容須面向數(shù)據(jù)結(jié)構(gòu)教學目標,即實驗內(nèi)容須能夠鍛煉學生的編程技巧,如算法設(shè)計、調(diào)試、測試以及調(diào)優(yōu)等能力,還能夠讓學生體會到圍繞復(fù)用開展軟件開發(fā)的威力以及思路。從覆蓋教育對象的角度來看,實驗內(nèi)容須面向大多數(shù)同學并充分考慮優(yōu)秀同學,即實驗內(nèi)容須劃分不同的層次,讓大多數(shù)學生能夠很容易入手,并讓有能力、有余力的學生能夠不斷地深入,直至形成綜合型課程設(shè)計。
基于以上考慮,并借鑒同行經(jīng)驗,筆者開展三個層次的實驗教學活動,一是要求所有學生都完成的實驗內(nèi)容,要求學生采用不同的數(shù)據(jù)結(jié)構(gòu)實現(xiàn)同一個問題并進行對比分析,例如,分別使用靜態(tài)數(shù)組和動態(tài)分配的連續(xù)內(nèi)存區(qū)實現(xiàn)順序表,使用整型、字符型數(shù)組或者鏈表實現(xiàn)長整數(shù)的乘法,使用帶頭結(jié)點或不帶頭結(jié)點的循環(huán)鏈表模擬約瑟夫環(huán)等;二是組織程序設(shè)計競賽,讓部分學有余力的同學能夠在算法設(shè)計、程序?qū)崿F(xiàn)和調(diào)試、優(yōu)化等方面得到鍛煉和提高;三是設(shè)計綜合型課程設(shè)計鍛煉學生解決問題的綜合能力,并通過適當分組,培養(yǎng)學生團隊協(xié)作精神和能力,鍛煉學生解決問題的綜合能力的目標,最終達到以點帶面全面提高學生能力的目的。
2.2.2實驗考核手段
考核手段在教學環(huán)節(jié)中至關(guān)重要??己耸侄问菍W生學習和鍛煉自身能力的風向標。為保證每位同學都能積極完成實驗并有所收獲,避免抄襲和敷衍的現(xiàn)象,筆者采取了綜合型的考核手段。其一,提交實驗成果,即程序及其運行結(jié)果;其二,記錄實驗過程、分析實驗結(jié)果以及總結(jié)實驗得失的實驗報告,對實驗報告進行選優(yōu)講評,培養(yǎng)學生撰寫科學實驗報告的能力;其三,每位同學必須面向教師講解自己編寫的程序,包括主要思路和細節(jié)性語法,優(yōu)秀的同學可走上講臺宣講自己的實驗方案和程序設(shè)計技巧。這就基本杜絕了學生相互之間抄襲程序和實驗報告的現(xiàn)象,使得學生真正能夠思考問題,并盡力動手完成實驗。綜合上述三種手段的綜合型考核方法既能夠達到督促大部分同學完成實驗、鍛煉動手能力目的,又能夠達到培養(yǎng)優(yōu)秀同學的目的。特別地,優(yōu)秀同學宣講活動能夠使學生觀摩到如何從學生的視角從無到有的解決問題的過程,這能夠培養(yǎng)學生解決實際問題的信心并激發(fā)其學習積極性。
3應(yīng)用中遇到的問題
建構(gòu)式教學模式在應(yīng)用和推廣過程中遇到的主要問題來自三個方面。其一,目前學生的課業(yè)負擔較重,習慣于被動“填鴨”而不習慣于主動“求索”,這是推動和開展建構(gòu)式教學模式的主要障礙。其二,建構(gòu)式教學活動,需要師生的密切交流,但現(xiàn)有師資不足難以滿足實際需求。一個可能的解決方法是綜合多門課程和多個老師,建構(gòu)整體的知識框架和學習體系,避免課程教學中的重復(fù)勞動,提高師資的利用率。另一個可能的解決方法是利用互聯(lián)網(wǎng)技術(shù),建立在線教學園地。其三,建構(gòu)式教學模式仍然處于探索階段,各學科缺乏建構(gòu)式教學素材。從筆者在實踐教學的體驗來看,應(yīng)盡量從學生的學習背景和能力成長規(guī)律出發(fā)而不僅僅是從學科背景出發(fā),為學生建構(gòu)知識體系設(shè)計更平滑的路線。
4結(jié)語
筆者提出將“培養(yǎng)超越具體程序設(shè)計語言技巧的編程技術(shù)”和“培養(yǎng)圍繞復(fù)用的軟件開發(fā)方式”作為普通本科院校的數(shù)據(jù)結(jié)構(gòu)教學目標,在建構(gòu)式教育理論的指導下,設(shè)計并實踐了一系列建構(gòu)式教學措施,分析了應(yīng)用建構(gòu)式教學模式所遇到的一些問題。
未來將開展兩個方面的工作。一是通過問卷調(diào)查、統(tǒng)計分析等手段定量地分析建構(gòu)式教學方法的實際效果;二是創(chuàng)造和積累建構(gòu)式教學素材,如研究數(shù)據(jù)結(jié)構(gòu)課程設(shè)計過程中不同類型學生的知識建構(gòu)路線,挖掘并推廣其中優(yōu)秀的知識建構(gòu)方法。
參考文獻:
[1] 教育部高等學校計算機科學與技術(shù)教學指導委員會. 高等學校計算機科學與技術(shù)專業(yè)發(fā)展戰(zhàn)略研究報告暨專業(yè)規(guī)范(試行)[M]. 北京:高等教育出版社,2006:8-101.
[2] 蔡敏,鄭尚志,梁寶華.“數(shù)據(jù)結(jié)構(gòu)”課程教學改革之我見[J]. 計算機教育,2009(4):50-51.
[3] 揭安全,李云清,楊慶紅,等. 項目教學模式指導的“數(shù)據(jù)結(jié)構(gòu)與算法”教學改革[J]. 計算機教育,2008(22):21-23.
[4] 郝長勝,賈茹. 運用建構(gòu)主義理論構(gòu)建程序設(shè)計基礎(chǔ)的新型教學結(jié)構(gòu)[J]. 計算機教育,2007(1):24-25.
[5] 嚴蔚敏,吳偉民. 數(shù)據(jù)結(jié)構(gòu)(C語言版)[M]. 北京:清華大學出版社,2008:135-136.