摘要:“基于問題學(xué)習(xí)”(Problem-Based Learning、簡稱PBL)模式是由當(dāng)前盛行的建構(gòu)主義學(xué)習(xí)理論衍生出來的。本文探索了“高級語言程序設(shè)計(jì)(VC++)”課程新的教學(xué)方式,教學(xué)實(shí)踐證明PBL模式利于發(fā)揮學(xué)生學(xué)習(xí)的主動(dòng)性、能動(dòng)性、獨(dú)立性,增強(qiáng)學(xué)生的編程能力,發(fā)展與提高學(xué)生的創(chuàng)新意識和實(shí)踐能力。
關(guān)鍵詞:PBL模式;程序設(shè)計(jì);自主學(xué)習(xí)
“高級語言程序設(shè)計(jì)(VC++)”課程是我校為非計(jì)算機(jī)專業(yè)理工類學(xué)生掌握和應(yīng)用計(jì)算機(jī)而開設(shè)的通識性計(jì)算機(jī)基礎(chǔ)課程之一,是大學(xué)生入學(xué)后的第一門程序設(shè)計(jì)課程。建立程序設(shè)計(jì)思想、培養(yǎng)基本的程序設(shè)計(jì)能力與應(yīng)用開發(fā)能力是該課程的主要目標(biāo)。
傳統(tǒng)的程序設(shè)計(jì)類課程教學(xué)中,教學(xué)過程以語法知識為主線進(jìn)行線性教學(xué),從概念到算法,再到語法的步驟,側(cè)重于語法知識的傳授而忽視了編寫程序、調(diào)試程序能力的培養(yǎng),學(xué)生始終處于被動(dòng)地位。在課程教學(xué)結(jié)束時(shí),學(xué)生往往覺得對該課程所學(xué)到的知識很茫然,有的能讀懂簡單的程序,有的連最基本的程序結(jié)構(gòu)都不能掌握,在面對一個(gè)實(shí)際問題時(shí)無從下手,更談不上編寫出正確的程序。這樣的結(jié)果一方面對學(xué)生的學(xué)習(xí)積極性是很大的打擊,另一方面對學(xué)生學(xué)習(xí)與之相關(guān)的后續(xù)課程有很大的影響。由此可見,傳統(tǒng)的教學(xué)方法對程序設(shè)計(jì)類課程的教學(xué)并不適合,必須改變教學(xué)模式,才能達(dá)到課程教學(xué)的目的。
為此,我們在計(jì)算機(jī)教學(xué)改革過程中,對程序設(shè)計(jì)類課程教學(xué)引入了新的教學(xué)理念和方法——基于問題的學(xué)習(xí)模式,以程序設(shè)計(jì)為主線組織教學(xué),授課重點(diǎn)放在程序設(shè)計(jì)方法、算法設(shè)計(jì)與實(shí)現(xiàn)上,以培養(yǎng)學(xué)生的實(shí)際編程能力為目標(biāo),講課直接從問題入手,啟發(fā)學(xué)生思考,引導(dǎo)學(xué)生在問題解決中構(gòu)造算法進(jìn)而掌握相關(guān)的概念、語法、功能及應(yīng)用。這樣不僅能發(fā)揮學(xué)生的主體性,培養(yǎng)學(xué)生的好奇心與創(chuàng)造力,還能使學(xué)生學(xué)會(huì)學(xué)習(xí),有效地解決問題。
1基于問題的學(xué)習(xí)模式
1.1基于問題的學(xué)習(xí)模式概述
基于問題的學(xué)習(xí)PBL (Problem-Based Learning),最初于20世紀(jì)60年代,由美國的Howard Barrows教授提出,并應(yīng)用在加拿大McMaster大學(xué)的醫(yī)學(xué)教育中,在近40年的發(fā)展和推廣過程中,PBL教學(xué)方法已經(jīng)為醫(yī)學(xué)教育之外的許多學(xué)科教育所采用。
PBL是基于現(xiàn)實(shí)世界的問題、以學(xué)習(xí)者為中心的教學(xué)模式,強(qiáng)調(diào)把學(xué)習(xí)設(shè)置到有意義的、綜合性問題情景中,通過學(xué)習(xí)者的合作與不斷反復(fù)、改進(jìn)來解決實(shí)際問題,達(dá)到學(xué)習(xí)隱含在問題背后的科學(xué)知識的目的,并形成解決問題的技能(Problem-solving Skills)、自主學(xué)習(xí)的能力(Self-directed Learning Skills)和團(tuán)隊(duì)協(xié)作的技巧(Team Skills)[1-2]。
1.2PBL的三個(gè)基本要素
PBL的三個(gè)基本要素包括:問題情境、學(xué)生和教師[3]。
問題情境是課程的組織核心,也是學(xué)習(xí)的開始,問題作為學(xué)習(xí)的最初動(dòng)機(jī)和挑戰(zhàn),它的結(jié)構(gòu)是不明確的,沒有簡單、固定、唯一的正確答案,但它能激起學(xué)生探索、尋求解決方法的欲望,構(gòu)建繼續(xù)學(xué)習(xí)的需要和聯(lián)系。當(dāng)學(xué)生身處可以從多個(gè)角度看待事物的環(huán)境時(shí),問題情境可以吸引并維持學(xué)生的興趣,使他們積極地尋求解決問題的方法。期間,學(xué)生是致力于解決問題的人,他們識別問題的癥結(jié),尋找解決問題的良好方法,并努力探求、理解問題的現(xiàn)實(shí)意義,成為具有自主學(xué)習(xí)能力的學(xué)習(xí)者。教師是學(xué)生解決問題時(shí)的工作伙伴,也是學(xué)生解決問題過程中的指導(dǎo)者,為學(xué)生積極創(chuàng)造出一種支持開放性探究學(xué)習(xí)的環(huán)境[4]。
1.3PBL與傳統(tǒng)教學(xué)模式的比較
(1) 傳統(tǒng)教學(xué)模式。往往有固定的內(nèi)容,基本統(tǒng)一的教學(xué)程序,以“講授—演示”的形式給學(xué)生傳授
知識,用一些結(jié)構(gòu)良好的問題編成試卷,測試學(xué)生是否掌握了知識。簡單說就是老師教,學(xué)生學(xué)。學(xué)生的被動(dòng)學(xué)習(xí)使其缺乏主動(dòng)性與參與性,學(xué)生為學(xué)習(xí)而學(xué)習(xí),為考試而學(xué)習(xí),考前死記硬背,考后很快忘記,喪失了學(xué)習(xí)的興趣,同時(shí)學(xué)生也缺乏自學(xué)能力和創(chuàng)新能力的培養(yǎng)。
(2)PBL教學(xué)模式。把學(xué)生置于混亂的、結(jié)構(gòu)不良的情境中,并讓學(xué)生成為該情境的主人,讓學(xué)生自己去分析問題,學(xué)習(xí)解決該問題所需的知識,一步步的解決問題。教師把實(shí)際生活中的問題設(shè)計(jì)為教學(xué)材料,不斷激發(fā)學(xué)生去思考、探索、最終解決問題。簡單說就是學(xué)生學(xué),老師幫。PBL教學(xué)模式可以提高學(xué)生的素質(zhì)教育,包括自學(xué)能力、思維能力等方面的教育[5-6]。
2PBL在教學(xué)實(shí)踐中的應(yīng)用
2.1PBL的基本操作步驟
對于PBL的過程,不同的學(xué)者提出不同的模型,我們采用了布迪(David Boud)和弗來悌(Grahamel Feletti)提出來的實(shí)施策略模型,把基于問題的學(xué)習(xí)過程分為4個(gè)環(huán)節(jié):
(1) 給學(xué)生呈現(xiàn)一個(gè)問題(例如一個(gè)個(gè)案、研究論文、錄像帶等)。學(xué)生以永久小組形式組織與問題相關(guān)的已有知識和思想。
(2) 通過討論,學(xué)生以疑問的形式提出問題的不解之處,并圍繞這些疑問進(jìn)行討論。
(3) 學(xué)生按照重要程度給學(xué)習(xí)要素排序,決定哪些問題由全組負(fù)責(zé)研究,哪些問題由個(gè)人負(fù)責(zé)研究,然后教給組里的其他人。
(4) 把學(xué)生重新召集起來,共同探討學(xué)習(xí)要素,把獲得的新知識運(yùn)用于問題情境。隨著問題的解決,學(xué)生繼續(xù)明確需要研究的學(xué)習(xí)要素。
2.2PBL教學(xué)案例
從PBL的實(shí)施過程可以看出,PBL的關(guān)鍵在于通過提出和解決問題實(shí)現(xiàn)知識經(jīng)驗(yàn)的建構(gòu),在于設(shè)計(jì)一個(gè)問題作為學(xué)習(xí)的起點(diǎn)[7]。在“高級語言程序設(shè)計(jì)(VC++)”課程教學(xué)中,由教師根據(jù)教學(xué)的內(nèi)容與目標(biāo)來進(jìn)行問題情境的設(shè)計(jì)。以下是我們采用PBL模式實(shí)施教學(xué)的一個(gè)具體案例。
本次課的教學(xué)內(nèi)容是循環(huán)的使用,目的是使學(xué)生理解循環(huán)的流程,學(xué)會(huì)使用VC++中的循環(huán)語句(for,do-while和while)解決具有重復(fù)操作的實(shí)際問題。重點(diǎn)是循環(huán)的實(shí)現(xiàn),難點(diǎn)為循環(huán)過程的理解,即循環(huán)的過程并不是簡單的重復(fù)過程,而是以某一終結(jié)點(diǎn)為目標(biāo)的螺旋式過程。具體的實(shí)施步驟如下:
(1) 教師給出問題情境。兩個(gè)同學(xué)之間通過紙條傳遞信息,為防止他人明白紙條內(nèi)容,約定使用英文并對其加密,加密規(guī)則為:將原文中的字母用字母表中其他的字母替換,其它字符不變。由于人工轉(zhuǎn)換太麻煩,請大家?guī)椭@兩個(gè)同學(xué)設(shè)計(jì)加密與解密程序。
問題情境的設(shè)計(jì)依據(jù)是教學(xué)內(nèi)容和教學(xué)目標(biāo),做到有的放矢。教師在創(chuàng)設(shè)具體問題情境時(shí),要順應(yīng)學(xué)生的認(rèn)知規(guī)律,能充分利用學(xué)生已有的經(jīng)驗(yàn),并考慮學(xué)生的理解程度、盲點(diǎn)和誤區(qū)。問題情境的表現(xiàn)形式可以有多種,如生活中的實(shí)際問題,趣味性的故事等。
(2) 學(xué)生分小組開展討論,提出疑問。如加密規(guī)則中字母替換的規(guī)律(加密過程和解密過程)是什么,加、解密過程如何選擇,紙條內(nèi)容如何輸入,如何判斷紙條內(nèi)容是不是字母,如何進(jìn)行字母的轉(zhuǎn)換、如何處理多個(gè)字母,怎樣知道紙條中的內(nèi)容已處理完等。
(3) 小組分工,解決以上的疑問。由小組討論問題處理的流程,確定程序的主體結(jié)構(gòu),由小組成員根據(jù)自己的具體情況選擇任務(wù)(解決以上的疑問),利用教科書自主學(xué)習(xí),在此過程中,小組成員之間要積極交流,互助互教,主動(dòng)解決問題,完成任務(wù)。各自的任務(wù)解決方案以程序段的形式提交,并讓其他成員理解。最后各小組匯總每個(gè)成員的程序段,組合成一個(gè)完整的程序,并對該程序中的細(xì)節(jié)進(jìn)行必要的修正、完善。
在(2)和(3)步驟中,教師以流動(dòng)指導(dǎo)者身份出現(xiàn),在各小組之間巡視查看學(xué)生的學(xué)習(xí)過程,掌握學(xué)生的學(xué)習(xí)進(jìn)度,并適時(shí)引導(dǎo)學(xué)生對問題進(jìn)行深入分析,鼓勵(lì)學(xué)生多交流、主動(dòng)尋找解決問題的方法,但一定要注意,教師只能逐步對學(xué)生進(jìn)行提示和引導(dǎo),指點(diǎn)學(xué)生學(xué)習(xí)的方向,不能明確告訴學(xué)生具體的解決方法,要讓學(xué)生的思維一直處于活躍狀態(tài),如在完善程序時(shí),可以引導(dǎo)學(xué)生尋找修改的切入點(diǎn),但不能直接指出要修改的位置,甚至幫學(xué)生修改。
(4) 總結(jié)。首先從各小組抽取一個(gè)成員進(jìn)行總結(jié),介紹解決此問題的算法及每個(gè)疑問解決的方法,并對自己的程序進(jìn)行評價(jià),提出繼續(xù)探究的方向。然后由教師總結(jié),重點(diǎn)是循環(huán)部分如何實(shí)現(xiàn),提醒學(xué)生
注意循環(huán)的準(zhǔn)備、循環(huán)過程、循環(huán)終止條件的設(shè)定等,并提出新的問題有待學(xué)生探究,如在程序中如何保存紙條內(nèi)容(原文和密文),如何將紙條內(nèi)容長期保存,循環(huán)還可以解決哪些實(shí)際問題等。
2.3PBL教學(xué)中的得與失
經(jīng)過“高級語言程序設(shè)計(jì)(VC++)”課程的PBL教學(xué)實(shí)踐,筆者有以下一些體會(huì)。
(1) 對程序設(shè)計(jì)類課程教學(xué)中采用PBL模式,對于編程能力較弱的非計(jì)算機(jī)專業(yè)學(xué)生來講是最容易接受,在教學(xué)效益方面具有獨(dú)特的優(yōu)點(diǎn),也有很強(qiáng)的可行性。如果該課程的教學(xué)能直接在機(jī)房進(jìn)行,能鍛煉學(xué)生的實(shí)踐能力,有助于提高學(xué)生實(shí)際編程能力、程序調(diào)試能力,使學(xué)生對語法和規(guī)則的理解更加深刻,課程的教學(xué)質(zhì)量將會(huì)得到進(jìn)一步提高。
(2)PBL教學(xué)模式能充分體現(xiàn)程序設(shè)計(jì)與現(xiàn)實(shí)生活的相關(guān)性,基本能模擬實(shí)際的工作環(huán)境,經(jīng)過學(xué)習(xí),學(xué)生能盡快建立程序設(shè)計(jì)思想。
(3) 由于采取了分組教學(xué)的方式,可以在小組間適當(dāng)引入一些競爭機(jī)制,給學(xué)生增加些壓力,提高學(xué)生的心理承受能力與適應(yīng)能力。
(4) 由于學(xué)生的水平存在差異,有部分水平較高學(xué)生容易產(chǎn)生個(gè)人英雄主義傾向,獨(dú)自一人承擔(dān)大部分工作;而部分水平較差的學(xué)生則有畏難情緒,回避一些關(guān)鍵性的、難度較大的工作。教師應(yīng)當(dāng)注意強(qiáng)調(diào)問題解決過程中團(tuán)隊(duì)協(xié)作的重要性。
(5)PBL教學(xué)模式對教師的專業(yè)能力、課堂掌控能力要求較高。在開展PBL教學(xué)過程中,教師承擔(dān)著多種不斷變換的角色,要求教師有全面的專業(yè)素質(zhì)。
(6) 在實(shí)施操作中遇到了一些問題有待解決,如PBL模式屬于啟發(fā)式的教學(xué)方法,運(yùn)用這種教學(xué)方式教學(xué)需要大量時(shí)間,有時(shí)會(huì)影響教學(xué)進(jìn)度,導(dǎo)致整體教學(xué)任務(wù)難以完成;傳統(tǒng)的評教體系對PBL教學(xué)模式很不利,影響教師工作積極性。
3結(jié)語
筆者以PBL模式在“高級語言程序設(shè)計(jì)(VC++)”課程教學(xué)上的嘗試已取得初步成果,在教學(xué)中不僅僅完成了課程的教學(xué)任務(wù),也使學(xué)生對程序設(shè)計(jì)有了比較深刻的理解,并能對所學(xué)的知識進(jìn)行比較完整的概括與總結(jié)。課程完成之后,學(xué)生已經(jīng)具備了基本的程序設(shè)計(jì)能力與應(yīng)用開發(fā)能力。
實(shí)踐證明,PBL作為一種新型的以學(xué)為主的教學(xué)模式,教師通過設(shè)計(jì)映射真實(shí)世界問題的學(xué)習(xí)情境,引起學(xué)生的學(xué)習(xí)興趣,結(jié)合教學(xué)實(shí)際,因勢利導(dǎo),在引導(dǎo)學(xué)生自主學(xué)習(xí)中適時(shí)地對學(xué)習(xí)方法進(jìn)行指導(dǎo),不僅能讓學(xué)生學(xué)會(huì)“課程內(nèi)容”,而更重要的是學(xué)會(huì)“學(xué)習(xí)”,具備在未來的工作中,科學(xué)地提出問題、探索問題、創(chuàng)造性地解決問題的能力。因此,PBL教學(xué)模式是一個(gè)幫助學(xué)生提高能力,能適應(yīng)未來職業(yè)要求的教學(xué)模式。
參考文獻(xiàn):
[1] PBLI. PROBLEM-BASED LEARNING[EB/OL]. http://www.pbli.org/pbl/pbl.htm.
[2]Peter Schwartz,Stewart Mennin, Graham Webb.Problem —based learning:case studies,experience and practice[M]. London:Kogan Page,2001(3):182.
[3] 謝仁恩,陳曙光. 淺探PBL在大學(xué)計(jì)算機(jī)基礎(chǔ)課程教學(xué)的應(yīng)用[J]. 現(xiàn)代企業(yè)教育,2008(18):169-170.
[4] 韓瑋娜,常亮,閻芳. PBL教學(xué)中教師的轉(zhuǎn)變及作用[J]. 數(shù)理醫(yī)藥學(xué)雜志,2008(4):495-497.
[5] 雷勇,夏健剛. 基于PBL的電工學(xué)課程教學(xué)改革探討[J]. 高等理科教育,2008(5):76-80.
[6] 林銳利,劉芳. PBL教學(xué)與我國高校教學(xué)現(xiàn)實(shí)適用情況探討[J]. 黑龍江教育:高教研究與評估,2008(1/2):98-100.
[7]Diana HJM Dolmans, Willem De Grave, Ineke HAP Wolfhagen,et al. PBL:教育實(shí)踐和研究的未來挑戰(zhàn)[J]. 梅人朗, 編譯. 復(fù)旦教育論壇,2008(1):81-86.
The PBL Model’s Application in Course Teaching of Computer Programming
CHANG Ben-qin
(Nanxu College, Jiangsu University of Science and Technology, Zhenjiang 212004, China)
Abstract: The PBL model is derived from the current prevalence of constructivism theory. In this paper, practice in course teaching of computer programming (VC++) proved that teaching method of PBL is beneficial to raising students’ autonomous learning ability and activating their learning enthusiasm and interest and improving programming abilities.
Key words: PBL model; programming; autonomous learning
(編輯:彭遠(yuǎn)紅)