李燦林?畢麗華
摘要:可視化程序設(shè)計(jì)是信息技術(shù)及相關(guān)專業(yè)的主干課程,其所涉及的編程理論抽象而復(fù)雜,但課程實(shí)踐性很強(qiáng)。針對(duì)該課程傳統(tǒng)教學(xué)中存在的問題,以強(qiáng)化實(shí)際動(dòng)手操作能力培養(yǎng)為目標(biāo),探索實(shí)例操作驅(qū)動(dòng)的教學(xué)方法在可視化程序設(shè)計(jì)教學(xué)中的運(yùn)用,以實(shí)例詳細(xì)操作過程的有效展示為中心,突破課堂教學(xué)的時(shí)空限制,激發(fā)學(xué)生的可視化編程興趣,提高教學(xué)實(shí)效。
關(guān)鍵詞:實(shí)例操作;可視化程序設(shè)計(jì);教學(xué)研究
中圖分類號(hào):G642.0 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-0079(2014)11-0163-02
可視化程序設(shè)計(jì)是學(xué)習(xí)可視化程序設(shè)計(jì)基本理論和原理的實(shí)踐性、綜合性、應(yīng)用性很強(qiáng)的課程。在計(jì)算機(jī)、信息等相關(guān)專業(yè)的教學(xué)體系中,實(shí)際上存在相當(dāng)多的可視化程序設(shè)計(jì)類課程,如:C#、Visual Basic、Delphi等等。這些可視化程序設(shè)計(jì)課程的宗旨是使學(xué)生了解現(xiàn)代程序設(shè)計(jì)理論中的面向?qū)ο缶幊毯涂梢暬绦蛟O(shè)計(jì)等的基本思想,培養(yǎng)學(xué)生應(yīng)用程序設(shè)計(jì)技術(shù)來解決實(shí)際問題的能力。本文結(jié)合該課程性質(zhì)與定位分析,針對(duì)該課程傳統(tǒng)教學(xué)中存在的問題,以強(qiáng)化實(shí)際動(dòng)手操作能力培養(yǎng)為目標(biāo),探索實(shí)例操作驅(qū)動(dòng)的教學(xué)方法在該課程教學(xué)中的應(yīng)用。
一、課程定位與分析
教學(xué)方法是由課程性質(zhì)及教學(xué)目標(biāo)所決定的,無(wú)論采用什么教學(xué)方法都要緊緊圍繞課程性質(zhì)和教學(xué)目標(biāo)展開。在探討可視化程序設(shè)計(jì)的教學(xué)方法之前有必要對(duì)課程性質(zhì)及教學(xué)目標(biāo)進(jìn)行分析。
1.課程性質(zhì)與目標(biāo)
可視化程序設(shè)計(jì)課程要求學(xué)生既要掌握理論知識(shí),更要掌握操作技能并能在實(shí)際中應(yīng)用。可視化程序設(shè)計(jì)課程集編程理論與操作實(shí)踐于一身,然而課程本身的抽象性與復(fù)雜性使學(xué)生無(wú)法完全理解并有效應(yīng)用所學(xué)理論知識(shí)。只有在實(shí)踐中學(xué)生才能真正學(xué)會(huì)編寫和調(diào)試程序,從而更好地掌握程序設(shè)計(jì)的理論知識(shí),提高利用理論知識(shí)解決實(shí)際問題的能力。
可視化程序設(shè)計(jì)類課程由于實(shí)踐性很強(qiáng),所以其性質(zhì)應(yīng)該定位在實(shí)踐性課程、操作性課程。也就是說,課程歸根結(jié)底應(yīng)該教會(huì)學(xué)生怎么做,讓學(xué)生愿動(dòng)手、能動(dòng)手、會(huì)動(dòng)手來實(shí)際操作,強(qiáng)調(diào)實(shí)踐性,培養(yǎng)動(dòng)手能力應(yīng)該是第一位的。
2.實(shí)例教學(xué)
針對(duì)可視化程序設(shè)計(jì)的課程性質(zhì)與目標(biāo),按照學(xué)生的認(rèn)知規(guī)律組織教學(xué),毫無(wú)疑問實(shí)例教學(xué)是一個(gè)理想選擇。實(shí)例教學(xué)法已經(jīng)在多個(gè)學(xué)科的教學(xué)中應(yīng)用,并收到了良好的效果。豐富的教學(xué)實(shí)例能夠提高學(xué)生的學(xué)習(xí)興趣,實(shí)例教學(xué)增強(qiáng)了課堂教學(xué)的靈活性和易懂性,極大地提高學(xué)生的學(xué)習(xí)興趣和主動(dòng)性。實(shí)例教學(xué)有利于學(xué)生理論與實(shí)際的結(jié)合,有利于培養(yǎng)出實(shí)用型人才。在實(shí)例教學(xué)中,教師要本著理論與實(shí)際相結(jié)合的宗旨,遵循教學(xué)目的要求,以實(shí)例為基本素材,展開教學(xué)內(nèi)容,培養(yǎng)學(xué)生分析和解決問題的能力,加深他們對(duì)可視化程序設(shè)計(jì)理論知識(shí)的理解。在實(shí)例教學(xué)中始終堅(jiān)持以用為本,將語(yǔ)法、命令、控件等具體使用融于實(shí)例開發(fā)過程中。以學(xué)生的已有知識(shí)為基礎(chǔ),按照學(xué)生的認(rèn)知規(guī)律,遵循先易后難、先具體后抽象的原則,通過觀看、模仿、理解、總結(jié)、提高等階段進(jìn)行教學(xué)。
3.實(shí)例與編程思想
可視化程序設(shè)計(jì)實(shí)例教學(xué)中有一個(gè)重要的階段就是學(xué)生模仿,也就是依葫蘆畫瓢,照葫蘆畫樣。毋庸置疑,編程思想對(duì)于程序開發(fā)人員至關(guān)重要,教師應(yīng)該在程序設(shè)計(jì)課程中幫助學(xué)生形成和訓(xùn)練良好的編程思想。巧婦難為無(wú)米之炊,學(xué)生只有在具備一定量的實(shí)例編程基礎(chǔ)之上,才能構(gòu)建和形成編程思想,否則,沒有較多的實(shí)際操作體驗(yàn),編程思想的訓(xùn)練只是空談。實(shí)例的模仿、學(xué)習(xí)與演練也有利于學(xué)生熟悉編程步驟、形成編程規(guī)范,然而編程步驟與規(guī)范并不等同于編程思想的僵化。實(shí)例教學(xué)能使學(xué)生從課堂和課后實(shí)例的反復(fù)練習(xí)中總結(jié)一般的算法,進(jìn)而從算法升華為編程思想。
此外,編程思想的訓(xùn)練是一個(gè)系統(tǒng)工程,從縱向維度來看,它貫穿于可視化程序設(shè)計(jì)課程所在的整個(gè)課程體系中??梢暬绦蛟O(shè)計(jì)課程的前置課程如C/C++程序設(shè)計(jì)側(cè)重程序設(shè)計(jì)基礎(chǔ)與語(yǔ)法,同時(shí)涉及算法與編程思想,后置或關(guān)聯(lián)課程如算法設(shè)計(jì)與分析等更是著重解決編程思想的問題,因而沒必要將編程思想的形成和訓(xùn)練畢其功于一役,完全集中在可視化程序設(shè)計(jì)課程中,盡管這一點(diǎn)在該課程中必要而且十分重要。因?yàn)閷W(xué)生有了編程思想以后就可以遵循編程規(guī)范來指導(dǎo)自己的編程過程,能獨(dú)立完成編程任務(wù)了。
二、傳統(tǒng)的多媒體教學(xué)不足
教學(xué)過程是對(duì)教學(xué)思想和教學(xué)方法的具體體現(xiàn)。可視化編程語(yǔ)言教學(xué)基于面向?qū)ο蟮木幊虣C(jī)制,它繼承了順序程序設(shè)計(jì)的思想,重點(diǎn)講述類、對(duì)象、控件的方法、事件與屬性,在教學(xué)中以多媒體教學(xué)為主,以體現(xiàn)可視化程序設(shè)計(jì)對(duì)控件等對(duì)象操作的特點(diǎn),問題的關(guān)鍵在于如何借助多媒體實(shí)施可視化程序設(shè)計(jì)課堂教學(xué)。傳統(tǒng)的多媒體課堂教學(xué)方法包括以下三種:
方法一:課堂借助多媒體投影主要講授可視化編程理論知識(shí),較少加入實(shí)例項(xiàng)目到課堂中??梢暬绦蛟O(shè)計(jì)實(shí)踐性非常強(qiáng),并且可視化程序設(shè)計(jì)理論知識(shí)抽象性和復(fù)雜性強(qiáng),缺少實(shí)例將很難保證課堂講授效果。
方法二:課下在課件中編寫實(shí)例代碼,課上利用多媒體投影展示代碼。教師課前將代碼放在幻燈片上,在課堂上將含有代碼的幻燈片打開,直接展示給學(xué)生,甚至教師還針對(duì)代碼做一些必要的講解。該方法無(wú)法直接運(yùn)行程序,缺乏程序結(jié)果的可見性,并且學(xué)生也看不到項(xiàng)目或解決方案的詳細(xì)建立過程。
方法三:課下利用開發(fā)環(huán)境建立好實(shí)例,課上利用多媒體投影展示實(shí)例并演示。該方法相對(duì)方法二來講,可以直接運(yùn)行出程序結(jié)果,增加了一定的趣味性和直觀性。缺點(diǎn)仍然在于學(xué)生看不到項(xiàng)目或解決方案是如何建立的。
以上的這些教學(xué)方法,學(xué)生需要自己琢磨詳細(xì)操作過程,其結(jié)果是不少學(xué)生因?yàn)閷?shí)例操作步驟不清晰而花費(fèi)了很長(zhǎng)時(shí)間也沒能成功編程完成實(shí)例。多次這樣的經(jīng)歷就使得這些學(xué)生對(duì)可視化程序設(shè)計(jì)失去了信心,自然也就對(duì)課程失去了興趣,這樣的現(xiàn)象在課程開始之初表現(xiàn)得尤為突出。
三、教學(xué)實(shí)施分析
試想,倘若人們?cè)趯?shí)際生活中需要學(xué)習(xí)一項(xiàng)之前從不會(huì)的技能或?qū)W做一件之前從不會(huì)做的事情,比如說學(xué)習(xí)汽車駕駛,最希望得到什么樣的指導(dǎo)?毫無(wú)疑問,絕大部分的人都希望有人能手把手地教他這項(xiàng)技能或教他做這件事情。同樣,經(jīng)過調(diào)查,對(duì)于程序設(shè)計(jì),尤其是可視化程序設(shè)計(jì),幾乎所有學(xué)生希望得到的也是有教師能手把手地教他如何操作。由教師一對(duì)一實(shí)實(shí)在在手把手來教所有學(xué)生,在課堂教學(xué)甚至實(shí)驗(yàn)教學(xué)中實(shí)際實(shí)施起來具有很大的難度,尤其是在學(xué)生人數(shù)較多的情況下。事實(shí)上,手把手的教學(xué)過程可以由展示實(shí)例詳細(xì)操作過程來近似替代。于是,實(shí)例的詳細(xì)操作過程的展示就成為基于實(shí)例的教學(xué)方法的至關(guān)重要的一環(huán)。
1.展示實(shí)例操作過程
如何展示實(shí)例的詳細(xì)操作過程?現(xiàn)場(chǎng)開發(fā)實(shí)例是一個(gè)直觀的選擇,這其中包括兩種做法。第一,現(xiàn)場(chǎng)利用開發(fā)環(huán)境建立實(shí)例及編寫代碼,利用多媒體投影展示。[1]該方法將完整建立過程展示給學(xué)生,但現(xiàn)場(chǎng)編寫代碼費(fèi)時(shí),講授課堂內(nèi)容效率較低。第二,課下編寫實(shí)例代碼,現(xiàn)場(chǎng)利用開發(fā)環(huán)境建立實(shí)例,利用多媒體投影展示。該方法將完整建立過程展示給學(xué)生,并且期間直接粘貼課下已編寫好的代碼,相比第一點(diǎn)提高了課堂教學(xué)的效率。這兩種現(xiàn)場(chǎng)建立實(shí)例項(xiàng)目的方法在項(xiàng)目簡(jiǎn)單、代碼量少的情況固然能取得一定效果,但畢竟即使是具有豐富開發(fā)經(jīng)驗(yàn)的教師,在課堂上現(xiàn)場(chǎng)開發(fā)實(shí)例也可能遇到意料之外的程序錯(cuò)誤,甚至數(shù)次調(diào)試都無(wú)法成功解決。其直接結(jié)果就是一直卡在出錯(cuò)處,課程無(wú)法繼續(xù)進(jìn)行,浪費(fèi)了大量的課堂時(shí)間,最嚴(yán)重的后果可能導(dǎo)致學(xué)生對(duì)教師失去信心。事實(shí)上,任何編程者都無(wú)法保證在遇到每個(gè)程序問題時(shí)都能迅速解決。
實(shí)例的詳細(xì)操作過程的動(dòng)畫錄制與展示看似是對(duì)現(xiàn)場(chǎng)開發(fā)實(shí)例的一種互補(bǔ),但它是相比現(xiàn)場(chǎng)開發(fā)實(shí)例更為可取的一種做法。教師課前進(jìn)行實(shí)例操作過程的動(dòng)畫錄制,準(zhǔn)備課堂實(shí)例的動(dòng)畫演示課件,演示課件主要包含實(shí)例的詳細(xì)操作全過程錄像,也可以加上必要的文字甚至語(yǔ)音解說。實(shí)例操作過程的錄制通常可以借助屏幕錄像類的軟件,比如屏幕錄像專家、RoboDemo等來完成。學(xué)生可以下載這些演示課件并對(duì)實(shí)例進(jìn)行模仿操練,這樣就使得教師實(shí)際編程的過程可以回放,課堂的實(shí)例教學(xué)得以延續(xù)。
2.實(shí)例的準(zhǔn)備
實(shí)施實(shí)例教學(xué)前要進(jìn)行充分的準(zhǔn)備,實(shí)例教學(xué)的成敗與準(zhǔn)備充分與否關(guān)系緊密,要有充足的準(zhǔn)備時(shí)間,而且要認(rèn)真思考學(xué)生的學(xué)習(xí)興趣點(diǎn)。要對(duì)學(xué)生的己有的知識(shí)水平和能力進(jìn)行調(diào)查和了解分析,也就是要了解學(xué)生已有的計(jì)算機(jī)知識(shí)水平和對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)的了解程度,只有這樣才能在具體內(nèi)容的講解和實(shí)例的選擇演示方面有所把握。
實(shí)例的選取是實(shí)例教學(xué)的關(guān)鍵環(huán)節(jié),由于實(shí)例教學(xué)是以實(shí)例展開的,實(shí)例選取的好壞直接影響到教學(xué)的效果及質(zhì)量,所以要精心選編實(shí)例。實(shí)例選擇時(shí)要注意:[2]第一,實(shí)例要精。實(shí)例選取要有針對(duì)性、典型性和代表性,緊扣教學(xué)重點(diǎn)、難點(diǎn)、編程理論進(jìn)行選編,這種實(shí)例的教學(xué)有助于達(dá)到舉一反三的效果。第二,實(shí)例要實(shí)。實(shí)例選取不僅要從學(xué)生的實(shí)際情況出發(fā),還要從實(shí)際生活出發(fā),既要體現(xiàn)教學(xué)目的和要求,也要反映實(shí)際生活的需求,更要能提高學(xué)生的學(xué)習(xí)興趣。實(shí)例的選取除了選擇教材上的典型實(shí)例外,可以由教師自己編制一些源自于實(shí)際項(xiàng)目的更為實(shí)際的例子。
3.課后及時(shí)操練
實(shí)例教學(xué)實(shí)施過程中,課后操練這一環(huán)節(jié)是非常重要的,它是讓學(xué)生理解掌握可視化程序設(shè)計(jì)理論、培養(yǎng)解決問題能力的主戰(zhàn)場(chǎng)。學(xué)生觀看了實(shí)例的詳細(xì)操作過程后,只有反復(fù)模仿、操練,才能理解、總結(jié),并進(jìn)行實(shí)例的拓展,獲得能力的提高。操練的實(shí)例一方面來源于課堂上講解的實(shí)例或教師錄制好的實(shí)例,另一方面來源于接近但超越這些實(shí)例的作業(yè),這些題材包含了對(duì)實(shí)例的分層次拓展與完善。此外,教師有必要設(shè)計(jì)良好的類游戲規(guī)則激發(fā)學(xué)生對(duì)于實(shí)例操練的興趣,自覺地去實(shí)施這一過程,這些規(guī)則比如有積分動(dòng)態(tài)排行榜等。教師也可以借助自己創(chuàng)建的教學(xué)論壇解決學(xué)生在完成作業(yè)和學(xué)習(xí)過程中遇到的問題,并在論壇上開展關(guān)于可視化編程學(xué)習(xí)的討論,激發(fā)學(xué)生的學(xué)習(xí)興趣,培養(yǎng)學(xué)習(xí)氛圍。
四、總結(jié)
實(shí)例操作驅(qū)動(dòng)的可視化程序設(shè)計(jì)教學(xué)方法強(qiáng)調(diào)實(shí)例教學(xué),并且著重展示實(shí)例的詳細(xì)操作構(gòu)建過程,目的在于教會(huì)學(xué)生怎么做,讓學(xué)生愿動(dòng)手、能動(dòng)手、會(huì)動(dòng)手來實(shí)際操作。在這種教學(xué)方法中,學(xué)生可以獲知編程任務(wù)如何下手,也能成功地完成編程實(shí)例,給其可視化編程奠定良好的起步,極大激發(fā)了學(xué)生的學(xué)習(xí)興趣,提高了學(xué)生的學(xué)習(xí)主動(dòng)性與積極性。在教學(xué)實(shí)施中教師本著實(shí)而精的原則準(zhǔn)備好實(shí)例,包括花功夫精心選取、編制實(shí)例,認(rèn)真細(xì)致地進(jìn)行實(shí)例詳細(xì)操作過程的動(dòng)畫錄制,給學(xué)生模仿操練、拓展提高打下良好的基礎(chǔ),使課堂教學(xué)得以延續(xù)。學(xué)生課后針對(duì)實(shí)例和作業(yè)及時(shí)操練、鞏固所學(xué),也就不僅能掌握可視化編程理論知識(shí),還能扎實(shí)地培養(yǎng)動(dòng)手能力,培養(yǎng)應(yīng)用可視化編程解決實(shí)際問題的能力。實(shí)例操作驅(qū)動(dòng)的可視化程序設(shè)計(jì)教學(xué)基于實(shí)例操作的詳細(xì)展示,突破課堂教學(xué)的時(shí)間與空間限制,融教、學(xué)和做為一體,提高了教學(xué)實(shí)效。
參考文獻(xiàn):
[1]高亮,郭基鳳,趙冬.現(xiàn)場(chǎng)編寫代碼的講課方式在編程課程中的應(yīng)用[J].教育與職業(yè),2012,(2):149-150.
[2]趙燕萍.案例教學(xué)法在Visual C++程序設(shè)計(jì)教學(xué)中的探索[J].長(zhǎng)春理工大學(xué)學(xué)報(bào),2012,7(3):221-222.
(責(zé)任編輯:王意琴)