林穎賢
(集美大學(xué) 計(jì)算機(jī)工程學(xué)院,福建 廈門 361021)
基于建構(gòu)主義的高級語言程序設(shè)計(jì)教學(xué)策略研究
林穎賢
(集美大學(xué) 計(jì)算機(jī)工程學(xué)院,福建 廈門 361021)
建構(gòu)主義理論對現(xiàn)代教育教學(xué)改革具有借鑒作用。為了激發(fā)學(xué)生的學(xué)習(xí)興趣、培養(yǎng)學(xué)生的計(jì)算思維能力和分析問題、解決問題的能力,高校計(jì)算機(jī)專業(yè)高級語言程序設(shè)計(jì)課程應(yīng)把“學(xué)生為主體,教師為主導(dǎo)”的原則貫穿整個教學(xué)過程,合理設(shè)計(jì)課前、課堂和課后教學(xué)策略,充分利用網(wǎng)絡(luò)教學(xué)平臺和資源,采用案例教學(xué)法和啟發(fā)式教學(xué)法等手段和方法。
建構(gòu)主義;高級語言程序設(shè)計(jì);教學(xué)策略
高級語言程序設(shè)計(jì)是計(jì)算機(jī)專業(yè)的一門基礎(chǔ)課,在培養(yǎng)學(xué)生邏輯思維能力過程中發(fā)揮著十分重要的作用,也是學(xué)好后繼課程(如數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)等)的重要前提條件。該課程的教學(xué)目標(biāo)是:“借助程序設(shè)計(jì)的知識載體,傳授基本問題的求解過程和基本思路;建立算法意識,培養(yǎng)良好的思維習(xí)慣;從學(xué)科方法論上打基礎(chǔ),培養(yǎng)計(jì)算思維能力和分析問題、解決問題的能力”[1]。因此,如何激發(fā)學(xué)生的興趣、提高學(xué)習(xí)的積極性,加強(qiáng)學(xué)生抽象思維能力和邏輯思維方法的訓(xùn)練,培養(yǎng)學(xué)生的計(jì)算思維和應(yīng)用能力,是該課程教學(xué)研究的重點(diǎn),也是計(jì)算機(jī)專業(yè)教學(xué)中人們不斷探索的問題。目前該課程存在的主要問題是:過分強(qiáng)調(diào)語句語法,忽視思路和方法的訓(xùn)練,難以激發(fā)學(xué)生學(xué)習(xí)的積極性。本文借鑒建構(gòu)主義理論和方法,結(jié)合課程的特點(diǎn)和目標(biāo),探析如何在課程教學(xué)中培養(yǎng)學(xué)生學(xué)習(xí)積極性、主動性和分析問題和解決問題的能力。
近二十多年以來,隨著心理學(xué)家對人類學(xué)習(xí)過程認(rèn)知規(guī)律研究的不斷深入,把學(xué)生作為知識灌輸對象的行為主義學(xué)習(xí)理論,已經(jīng)讓位于把學(xué)生看作是信息加工主體的認(rèn)知學(xué)習(xí)理論——建構(gòu)主義。建構(gòu)主義認(rèn)為,學(xué)習(xí)者的知識是在一定情境即社會文化背景下,借助于他人(包括教師和學(xué)習(xí)伙伴)的幫助,利用必要的學(xué)習(xí)資料(信息),通過意義的建構(gòu)而獲得的。由于學(xué)習(xí)是在一定的情境即社會文化背景下,借助其他人的幫助即通過人際間的協(xié)作活動而實(shí)現(xiàn)的意義建構(gòu)過程,因此理想的學(xué)習(xí)環(huán)境應(yīng)當(dāng)包括情境、協(xié)作、交流和意義建構(gòu)四個部分[2]。建構(gòu)主義提倡在教師指導(dǎo)下的、以學(xué)習(xí)者為中心的學(xué)習(xí)。也就是說,教師的作用不能只是“傳道授業(yè)解惑”,而是實(shí)現(xiàn)學(xué)生意義建構(gòu)的幫助者和推動者。學(xué)生是信息獲取和加工的主體,是意義的主動建構(gòu)者,而不是外部刺激的被動接受者和被灌輸?shù)膶ο?。建?gòu)主義提倡的教學(xué)模式是:“以學(xué)生為中心,在整個教學(xué)過程中由教師起組織者、指導(dǎo)者、幫助者和促進(jìn)者的作用,利用情境、協(xié)作、交流等學(xué)習(xí)環(huán)境要素充分發(fā)揮學(xué)生的主動性、積極性和創(chuàng)造性,最終達(dá)到使學(xué)生有效地實(shí)現(xiàn)對當(dāng)前所學(xué)知識的意義建構(gòu)的目的?!保?]建構(gòu)主義學(xué)習(xí)觀和教學(xué)觀改變了傳統(tǒng)教師和學(xué)生的地位和作用,使傳統(tǒng)教學(xué)模式發(fā)生很大變化。教師應(yīng)吸取新的教學(xué)理念,并且在教學(xué)過程中應(yīng)采用新的教學(xué)設(shè)計(jì)和教學(xué)策略,避免以教師自己為中心、片面強(qiáng)調(diào)傳授知識的傳統(tǒng)教學(xué)模式。由于高級語言程序設(shè)計(jì)課程教學(xué)的重點(diǎn)不是概念和知識點(diǎn)的識記,而是培養(yǎng)學(xué)生的思維能力和運(yùn)用能力,使學(xué)生最終能獨(dú)立分析和解決編程問題,因此有必要借鑒建構(gòu)主義原理,把“學(xué)生為主體,教師為主導(dǎo)”的原則貫穿整個教學(xué)過程,合理設(shè)計(jì)課前、課堂和課后教學(xué)策略,培養(yǎng)學(xué)生的自主學(xué)習(xí)能力,最終實(shí)現(xiàn)自我建構(gòu)。
由于觀察的角度和認(rèn)識的維度不同,國內(nèi)外學(xué)者對教學(xué)策略的界定不盡相同,對教學(xué)策略的內(nèi)涵也存在分歧,但是他們對教學(xué)策略的理解卻有相似之處。那就是,教學(xué)策略是指在教學(xué)過程中,為了實(shí)現(xiàn)某一具體目標(biāo),根據(jù)不同的教學(xué)內(nèi)容、學(xué)生特點(diǎn)以及教學(xué)條件,所使用的指導(dǎo)思想和方法,如:教學(xué)順序、教學(xué)活動程序、教學(xué)組織形式、教學(xué)方法和教學(xué)媒體等。根據(jù)建構(gòu)主義理論,我們把教學(xué)過程分為課前、課堂和課后環(huán)節(jié),把學(xué)生的自我建構(gòu)過程劃分成課前建構(gòu)、課堂建構(gòu)和課后建構(gòu),并根據(jù)高級語言程序設(shè)計(jì)課程特點(diǎn)設(shè)計(jì)相應(yīng)的教學(xué)策略。
課前建構(gòu)就是教師分析每一章節(jié)內(nèi)容,抓住重點(diǎn)和難點(diǎn),以實(shí)現(xiàn)教學(xué)目標(biāo)為主要任務(wù),根據(jù)學(xué)生的具體情況,充分利用教學(xué)資源,設(shè)計(jì)學(xué)生借助已有的認(rèn)知結(jié)構(gòu)去建構(gòu)新知識的策略。課前建構(gòu)強(qiáng)調(diào)教師對問題的設(shè)計(jì)和學(xué)生使用資源的策略,目的是培養(yǎng)學(xué)生的“自我建構(gòu)”意識,即自主學(xué)習(xí)能力,要求學(xué)生帶著問題走進(jìn)課堂。課前建構(gòu)應(yīng)注意已學(xué)知識和新學(xué)知識的聯(lián)系和銜接,學(xué)生新知識學(xué)習(xí)的過程就是通過利用可獲取的資源、解決教師提出的問題、修正以往知識的過程。這個過程對于知識的建構(gòu)具有重要作用。
教師在講授新課之前,可以先列出每一章節(jié)必須掌握的主要內(nèi)容及常用算法,利用本課程已建立的教學(xué)網(wǎng)站和資源,引導(dǎo)學(xué)生自主學(xué)習(xí),讓他們發(fā)現(xiàn)問題,帶著問題走進(jìn)課堂。這樣,學(xué)生可以有目的地集中注意力參與課堂教學(xué)活動。例如:在講到程序控制這一章節(jié)之前,教師可要求學(xué)生寫出這一章節(jié)的預(yù)習(xí)報(bào)告,完成一些典型選擇題并閱讀所給的書寫規(guī)范的編程題,如判斷任意整數(shù)是否回文、n個數(shù)找出最大數(shù)等(可通過教學(xué)網(wǎng)站進(jìn)行),要求他們與前面章節(jié)編寫過的找3個整數(shù)中最大數(shù)及判斷五位整數(shù)是否是回文進(jìn)行比較,總結(jié)它們的不同點(diǎn)。通過程序控制這章的講解,學(xué)生掌握了用循環(huán)控制實(shí)現(xiàn):輸入任意n位整數(shù)判斷該數(shù)是否回文。講到數(shù)組這章之前,課前又可以布置這樣一道編程題:輸入的值可以是數(shù)字或字符串(如:12321,abcdcba),如何判斷該值是否為回文?學(xué)生通過自學(xué)數(shù)組這章節(jié),發(fā)現(xiàn)用所學(xué)的知識無法實(shí)現(xiàn),必須用到數(shù)組。因此,從這題又可以引申到下章要講的數(shù)組。講到函數(shù)這章之前,又可以讓學(xué)生思考如何用遞歸函數(shù)來實(shí)現(xiàn)該題。
課前建構(gòu)主要通過利用各種信息資源建立教學(xué)資源庫、搭建網(wǎng)上教學(xué)平臺和進(jìn)行網(wǎng)上導(dǎo)學(xué)手段進(jìn)行。導(dǎo)學(xué)內(nèi)容可以包括:學(xué)習(xí)任務(wù)和要求、學(xué)習(xí)計(jì)劃、學(xué)習(xí)方法、根據(jù)具體教學(xué)內(nèi)容提供各種形式的導(dǎo)學(xué)材料。在教師的指導(dǎo)下,學(xué)生結(jié)合自己的實(shí)際情況,明確課程學(xué)習(xí)的具體步驟、目標(biāo)、方法等。
課堂教學(xué)是教師發(fā)揮主導(dǎo)作用的核心環(huán)節(jié),是實(shí)現(xiàn)學(xué)生“自我構(gòu)建”的重要過程。教師要避免 “一言堂”和“填鴨式”的教學(xué)方式。因此,高級語言程序設(shè)計(jì)的課堂教學(xué)模式應(yīng)彰顯學(xué)生的主體地位,強(qiáng)化師生之間的互動,充分發(fā)揮學(xué)生的積極性和參與性。教學(xué)過程應(yīng)強(qiáng)調(diào)教師導(dǎo)入和教師設(shè)問。教師導(dǎo)入和教師設(shè)問其實(shí)就是情境的創(chuàng)設(shè),是課堂建構(gòu)過程的重要環(huán)節(jié)。當(dāng)學(xué)生課前已學(xué)的知識不足以解決當(dāng)前遇到的問題,學(xué)生就迷惑了,求知欲望便被激發(fā)。這種激發(fā)求知欲望的情境正是新知識意義建構(gòu)的契機(jī)。新知識意義建構(gòu)的過程就是就是教師引導(dǎo)學(xué)生探索、解決一個個問題的過程。在課堂構(gòu)建中,可以采用案例教學(xué)法和啟發(fā)式教學(xué)法。
(1)案例教學(xué)法
教師在進(jìn)行“案例教學(xué)”的過程中,要精選案例,選擇上要注重系統(tǒng)性,實(shí)踐性、啟發(fā)性和趣味性,要能夠體現(xiàn)知識點(diǎn)之間的聯(lián)系。這樣才能激發(fā)學(xué)生學(xué)習(xí)程序設(shè)計(jì)的興趣和參與的積極性。在課堂案例教學(xué)中,教師在講解每一新的知識體系前,運(yùn)用即將學(xué)到的知識設(shè)計(jì)一個吸引學(xué)生的小游戲、動畫程序或圖形設(shè)計(jì)內(nèi)容。例如:在講解程序控制這一章節(jié)時,課堂上先給學(xué)生展示一個簡單“貪吃蟲游戲程序”,并在課堂上現(xiàn)場編寫該小程序,讓學(xué)生了解通過學(xué)到的if語句、while語句,再加上gotoxy()、kbhit()、getch()、printf()函數(shù),就能實(shí)現(xiàn)光標(biāo)上下移動,并能吃掉發(fā)現(xiàn)的巧克力豆。該題的解題思路關(guān)健在于通過輸出空格來覆蓋當(dāng)前位置的圖案。通過這題的講解,學(xué)生掌握解題的基本思路。這時教師可以設(shè)問:為什么該程序小蟲移到屏幕四周后無法再控制?通過提問、互動,學(xué)生掌握了解決該問題的關(guān)健:必須判斷坐標(biāo)點(diǎn)是否超出屏幕的范圍,如果超出,重新設(shè)置坐標(biāo)點(diǎn)。課后要求學(xué)生在教師所給的例子基礎(chǔ)上加以創(chuàng)新,如:通過自學(xué)和上機(jī)調(diào)試,在這簡單的程序中增加計(jì)時功能、障礙物;或增加背影音樂及難度級別等。伴隨著課程教學(xué)內(nèi)容的逐步深入,要求學(xué)生將學(xué)到的新知識不斷運(yùn)用到該小游戲中。例如:在講完函數(shù)這章節(jié),要求學(xué)生能用多文件修改該程序;講到結(jié)構(gòu)體和文件這章節(jié),要求學(xué)生定義食物和小蟲的結(jié)構(gòu)體來修改程序并將結(jié)果保存到文件中。通過這一案例,增強(qiáng)了學(xué)生的學(xué)習(xí)積極性,提高學(xué)生綜合分析問題的能力。這樣,隨著學(xué)生完成的案例積累,學(xué)生的操作水平也逐漸提高。每完成一個案例,學(xué)生就有一種成就感,其學(xué)習(xí)的積極性也隨之大大提高。案例教學(xué)法不但能幫助教師實(shí)施整體教學(xué),也利于學(xué)生主動意義建構(gòu),加強(qiáng)邏輯思維訓(xùn)練,并提高解決實(shí)際問題的能力。
(2)啟發(fā)式教學(xué)法
啟發(fā)式教學(xué)法就是針對授課的教學(xué)目標(biāo),設(shè)計(jì)合理的情景問題,引導(dǎo)學(xué)生對問題進(jìn)行觀察、分析,激發(fā)學(xué)生學(xué)習(xí)的主動性,提高學(xué)生課堂教學(xué)的參與意識的教學(xué)活動。以下闡述在多重循環(huán)程序設(shè)計(jì)的教學(xué)過程中,運(yùn)用啟發(fā)式教學(xué)法的例子。
問題的提出:用C語言輸出各種圖形(如三角形、菱形,金字塔),先從最簡單的打印4行的等腰三角形講解,學(xué)生最初的想法是用4條printf語句實(shí)現(xiàn),如果只針對這道題,這種想法是正確的,但明顯不符合程序設(shè)計(jì)的思想。這時教師可以進(jìn)一步設(shè)問:如果用戶希望輸幾行就能打印出幾行的三角形?這時候?qū)W生就發(fā)現(xiàn)只用pirnf語句肯定不行,便會積極思考到底該如何解決?教師可以引導(dǎo)學(xué)生去發(fā)現(xiàn)圖形的規(guī)律。經(jīng)分析:等腰三角形每一行由若干個空格、星號和一個回車換行符構(gòu)成,可以通過外循環(huán)控制行數(shù)(i=1,2,3,4),內(nèi)循環(huán)控制空格數(shù)(j=3,2,1)和星號數(shù)(k=1,3,5,7),由此得出它們間的數(shù)學(xué)關(guān)系:j=4-i,k=2*i-1。則等腰三角形的構(gòu)成規(guī)律可描述為:第i行由(4一i)個空格和(2×i-1)個星號和一個回車符構(gòu)成。通過以上分析,程序便很容易實(shí)現(xiàn)了。采用以上方法,可以使學(xué)生很容易編寫出菱形和金字塔圖案的程序。關(guān)鍵點(diǎn)在于讓學(xué)生找出圖形中行號與每一行的空格數(shù)以及星號數(shù)的關(guān)系,分析其中的構(gòu)成規(guī)律。
教學(xué)特別要注意漸進(jìn)性原則,應(yīng)力爭逐步啟發(fā)、環(huán)環(huán)緊扣,由仿制到創(chuàng)新。程序設(shè)計(jì)的基本思想不是背出來的,是通過不斷的模仿、實(shí)踐總結(jié)出來的。應(yīng)注意對算法的積累,如找最大數(shù)和最小數(shù)、判斷回文、進(jìn)制的相互轉(zhuǎn)換,判斷素?cái)?shù)、打印日歷、hanoi塔、楊輝三角形、冒泡排序、選擇排序、順序查找,二查找算法等。解決一個問題可用多種方法與途徑,讓學(xué)生比較各種途徑的優(yōu)勢和劣勢,并分析各方法分別適合于什么情況,引導(dǎo)學(xué)生發(fā)散性思維和養(yǎng)成周密考慮問題的習(xí)慣。例如:編程求出Fibonacci數(shù)列的前40個數(shù),可以用迭代法,使用循環(huán)語句和基本數(shù)據(jù)類型進(jìn)行處理,也可用數(shù)組和循環(huán)語句處理,還可以用遞歸函數(shù)實(shí)現(xiàn)。當(dāng)所求的Fibonacci數(shù)列值超過double類型時可用數(shù)組實(shí)現(xiàn)。
課后建構(gòu),也可稱為實(shí)踐建構(gòu)。通過實(shí)踐,學(xué)生把課堂所學(xué)知識進(jìn)一步內(nèi)化和掌握,并融入自己已有的知識結(jié)構(gòu)體系中,以達(dá)到融會貫通和靈活運(yùn)用,真正實(shí)現(xiàn)“自我建構(gòu)”。程序設(shè)計(jì)是一門實(shí)踐性很強(qiáng)的課程,只重視課堂上的教學(xué)是遠(yuǎn)遠(yuǎn)不夠的,編程能力的培養(yǎng)還必須經(jīng)過上機(jī)實(shí)踐,從而讓學(xué)生真正理解和掌握課堂所學(xué)內(nèi)容,積累經(jīng)驗(yàn),以達(dá)到學(xué)以致用的目的。課后編程實(shí)踐要突出實(shí)用性和靈活性,避免生搬硬套,否則就不能激活學(xué)生的積極性。教師可以編寫與教材配套的實(shí)驗(yàn)指導(dǎo)書,在設(shè)計(jì)實(shí)驗(yàn)題目時應(yīng)充分考慮能力目標(biāo)的培養(yǎng),并針對學(xué)生層次的不同設(shè)計(jì)出不同層次的實(shí)驗(yàn)內(nèi)容,供學(xué)生獨(dú)立或分組完成。如實(shí)驗(yàn)題目可分為基礎(chǔ)部分和拓展部分?;A(chǔ)部分的題目由學(xué)生個人獨(dú)立完成,其目的主要是檢測學(xué)生是否掌握基礎(chǔ)知識和基本編程方法。拓展部分的題目以學(xué)生小組為單位完成,其目的主要是提高學(xué)生的綜合編程能力,并把它應(yīng)用到解決現(xiàn)實(shí)中的問題。拓展部分可以難度略大、實(shí)用性更強(qiáng),例如:博餅、龜兔賽跑、海龜作圖、走迷宮等。通過小組成員的討論、合作和交流,為每個學(xué)生創(chuàng)造平等參與的機(jī)會,加強(qiáng)學(xué)生間情感溝通和信息交流,使學(xué)生成為教學(xué)活動的積極參與者,有利于實(shí)現(xiàn)“自我建構(gòu)”。
課后建構(gòu)還可借助網(wǎng)絡(luò)環(huán)境。為了加強(qiáng)學(xué)生和教師的互動和交流,教師可以通過QQ群、E-mail、網(wǎng)絡(luò)課堂等媒介對學(xué)生進(jìn)行實(shí)踐指導(dǎo)和答疑,也可就某些問題展開討論,以彌補(bǔ)課堂教學(xué)的不足。此外,建構(gòu)主義學(xué)習(xí)強(qiáng)調(diào)學(xué)習(xí)過程的最終目的是完成意義建構(gòu)和實(shí)踐能力的培養(yǎng),因此,成績評定應(yīng)注重對學(xué)生學(xué)習(xí)過程的評價,體現(xiàn)多元化和個性化評價。通過更多地關(guān)注學(xué)生的學(xué)習(xí)過程、用發(fā)展的眼光評價學(xué)生,可以更好地體現(xiàn)評價的激勵功能,促進(jìn)學(xué)生主動學(xué)習(xí)。
在高級語言程序設(shè)計(jì)的教學(xué)中,運(yùn)用建構(gòu)主義教學(xué)原理,能夠很好地激發(fā)學(xué)生的學(xué)習(xí)興趣和主動性,有利于培養(yǎng)學(xué)生自主學(xué)習(xí)能力,對于提高課程的教學(xué)質(zhì)量和培養(yǎng)學(xué)生的問題求解能力和創(chuàng)新能力有著積極的借鑒作用。
[1]吳文虎.精心鑄精品理念須先行[J].計(jì)算機(jī)教育,2008(13):47-49.
[2]高 文,徐斌艷,吳 剛.建構(gòu)主義教育研究[M].北京:教育科學(xué)出版社,2008:87-92.
[3]龐維國.自主學(xué)習(xí):學(xué)與教的原理和策略[M].上海:華東師范大學(xué)出版社,2003:83.
A Study of Teaching Strategy for Advanced Language Programming Based on Constructivism
Lin Yingxian
The constructivism theory can be used for reference in modern education and teaching reform.In order to stimulate the students'learning interest and cultivate their abilities in computational thinking in programming,the teaching of Advanced Language Programming in universities should be implemented by following the rule of"students-centered,teacher-led"in the whole teaching process.And the course is also operated by making good use of network teaching platform and resources,designing proper teaching strategies for before-class,in-class and after-class teaching activities,applying the case teaching method and the heuristic method of teaching,and changing the way of assessment.
constructivism;Advanced Language Programming;teaching strategies
G642
A
1673-1794(2012)05-0107-03
林穎賢(1963-),女,副教授,主要研究方向數(shù)據(jù)庫技術(shù)及應(yīng)用。
集美大學(xué)教育教學(xué)改革項(xiàng)目(JY09143)
2012-08-11