李廣原 盧守東 胡小春 柯琦
摘要C語言課程設(shè)計是計算機(jī)類專業(yè)的一門基礎(chǔ)實踐課程。針對該課程在教學(xué)上普遍存在教學(xué)方法單一、教學(xué)效果欠佳等問題,闡述在C語言課程設(shè)計中應(yīng)用PBL進(jìn)行教學(xué)的方法。提出在實施PBL教學(xué)過程中應(yīng)注意的幾個問題,并對相關(guān)問題進(jìn)行探討,以期為C語言課程設(shè)計教學(xué)提供有益的借鑒。
關(guān)鍵詞 C語言課程設(shè)計 PBL 教學(xué)方法 教學(xué)評價
中圖分類號:G424文獻(xiàn)標(biāo)識碼:ADOI:10.16400/j.cnki.kjdk.2021.29.044
ResearchontheTeachingofCLanguageCurriculumDesignBasedonPBL
LI Guangyuan, LU Shoudong, HU Xiaochun, KE Qi
(SchoolofInformationandStatistics,GuangxiUniversityofFinanceandEconomics,Nanning,Guangxi530003)
AbstractC Language curriculum design is a basic practical course for computer majors. Aiming at the problems of single teaching method and poor teaching effect in the teaching of this course, this paper expounds the teaching method of applying PBL in C Language curriculum design. This paper puts forward several problems that should be paid attention to in the implementation of PBL teaching, and discusses the relevant problems, in order to provide useful reference for the teaching of C Language curriculum design.
KeywordsC Language curriculum design; PBL; teaching method; teaching evaluation
C語言課程設(shè)計是計算機(jī)類專業(yè)開設(shè)的一門基礎(chǔ)實踐課程,它是C語言程序設(shè)計課程的后續(xù)課程。通過該課程的學(xué)習(xí),旨在使學(xué)生打下扎實的程序設(shè)計基礎(chǔ)并培養(yǎng)學(xué)生濃厚的學(xué)習(xí)興趣。通常該門課程的教學(xué)課時數(shù)比較少,完成課程設(shè)計任務(wù)重。雖然在課程設(shè)計之前,學(xué)生已學(xué)完C語言程序設(shè)計這門課,具備了一定的程序設(shè)計基礎(chǔ),但要獨(dú)立完成課程設(shè)計的任務(wù),很多學(xué)生仍然感到比較吃力。通常該門課教學(xué)常見的做法是給學(xué)生一個題目,或者讓學(xué)生自主擬題,個人獨(dú)立或分組協(xié)作完成一個功能較為完整的項目。這種做法對于基礎(chǔ)好、學(xué)習(xí)能力強(qiáng)的學(xué)生來說,是可行的。而對于那些基礎(chǔ)比較差,學(xué)習(xí)能力相對較弱的學(xué)生,就比較難完成任務(wù),這樣就難以達(dá)到應(yīng)有的教學(xué)效果。為此,本文探討在C語言課程設(shè)計教學(xué)中采用基于PBL的教學(xué)方法來改進(jìn)教學(xué),并對相關(guān)問題進(jìn)行探討。
1 PBL教學(xué)法
基于問題學(xué)習(xí)(Problem-based Learning,簡稱PBL)是一種以問題學(xué)習(xí)為導(dǎo)向的教學(xué)模式,它以學(xué)生為中心,以解決問題為動機(jī)的課程教學(xué)方法。在國外,這種教學(xué)法已應(yīng)用到多個學(xué)科的教學(xué),其最先是應(yīng)用在醫(yī)學(xué)學(xué)科上,然后又應(yīng)用到數(shù)學(xué)、經(jīng)濟(jì)和工程學(xué)科上。PBL教學(xué)旨在培養(yǎng)學(xué)生自主探索、深入學(xué)習(xí)的能力,在這個過程中,也培養(yǎng)學(xué)生具有良好的團(tuán)隊合作精神。組建團(tuán)隊和角色分配是使用PBL進(jìn)行教學(xué)的基本要求。文獻(xiàn)[1]給出了PBL的六個特點:學(xué)習(xí)是以學(xué)生為中心,以團(tuán)隊的方式進(jìn)行;教師作為指導(dǎo)者參與學(xué)習(xí)過程;學(xué)習(xí)開始時給出真實的問題;通過解決問題來獲取必要知識;獲取問題求解技巧的途徑;通過主導(dǎo)學(xué)生來獲取信息并最終達(dá)到學(xué)習(xí)目標(biāo)。在國內(nèi),在信息技術(shù)類課程中應(yīng)用PBL進(jìn)行教學(xué)的案例并不多見,只有少量的文獻(xiàn)對PBL進(jìn)行了研討。比如,文獻(xiàn)[2-4]對PBL應(yīng)用于程序設(shè)計課程的教學(xué)進(jìn)行了探討。在實施PBL教學(xué)方法的過程中,我們認(rèn)為,應(yīng)該注意做好以下幾方面的工作。
1.1分組
分組是基于PBL教學(xué)的要求來進(jìn)行的,這也是進(jìn)行課程設(shè)計的第一步。建立小組有利于協(xié)作攻關(guān),培養(yǎng)團(tuán)隊合作精神。在PBL教學(xué)中,通常以小組形式圍繞一個項目來進(jìn)行學(xué)習(xí)與研究。小組的人數(shù)不宜太多或太少,以4~6人為宜,人數(shù)太多和太少,都不便于任務(wù)的分配和考核,每個小組設(shè)立組長一名,負(fù)責(zé)項目管理和協(xié)調(diào)小組中各成員的工作,小組成員的工作可以按系統(tǒng)設(shè)計、編碼、測試、編寫文檔等模塊來分配,也可以由全體成員共同對各模塊進(jìn)行研究。小組成員的組成應(yīng)該根據(jù)學(xué)生平時學(xué)習(xí)情況來定,在一個小組內(nèi),應(yīng)該存在學(xué)習(xí)能力比較強(qiáng)和不那么強(qiáng)的學(xué)生,也應(yīng)該有比較活躍和不那么活躍的學(xué)生,通過這樣的混合組合,能夠起到先進(jìn)帶后進(jìn),活躍的學(xué)生帶動不活躍的學(xué)生討論,使得小組學(xué)習(xí)研討氣氛活躍,人人都能夠在討論中有所收獲和增長知識,最后達(dá)到共同進(jìn)步的目的。
1.2教師的作用
教師在課程設(shè)計教學(xué)中,絕不是旁觀者,而是積極的參與者。雖然小組的劃分是根據(jù)學(xué)生的學(xué)習(xí)等情況來進(jìn)行混搭而成,但是小組工作是否能夠順利開展,任務(wù)能否按時完成,各項教學(xué)目的能否實現(xiàn),這些都離不開教師的引導(dǎo)和幫助。在課程設(shè)計過程中,教師要對學(xué)生的各項設(shè)計活動進(jìn)行指導(dǎo)。教師要設(shè)計好教學(xué)過程并確定好教學(xué)內(nèi)容,積極參與各小組的討論。在課程設(shè)計前,教師可以有針對性地把C語言的主要知識點及相關(guān)應(yīng)用案例進(jìn)行講解。由于學(xué)生的基礎(chǔ)與技能存在一定的差距,為使全體學(xué)生通過課程設(shè)計達(dá)到共同進(jìn)步的目的,教師要特別關(guān)注基礎(chǔ)較差、自學(xué)能力較弱的學(xué)生,對這部分的學(xué)生要給予更多的幫助和關(guān)愛,使得他們能夠和其他學(xué)生一樣掌握利用C語言進(jìn)行項目設(shè)計與開發(fā)的技能。
1.3項目的選擇
項目的選擇是一個重要的問題。進(jìn)行課程設(shè)計前,大多數(shù)學(xué)生都是剛學(xué)習(xí)了程序設(shè)計語言,只具備了一定的程序設(shè)計基礎(chǔ)。所以課程設(shè)計所選的題目不要太大,題目太大,學(xué)生沒有能力完成,會挫傷他們學(xué)習(xí)的積極性。項目過小同樣也不好,學(xué)生會感覺學(xué)不到東西,同樣達(dá)不到教學(xué)目標(biāo)。項目要適中但要覆蓋C的重要內(nèi)容,如指針、結(jié)構(gòu)體、文件等。為了使學(xué)生有更多的選擇范圍,可以建立項目庫。項目要反映現(xiàn)實生活中的問題,讓學(xué)生感覺到編程的樂趣。此外,為便于學(xué)生順利完成所選項目的開發(fā)工作,可適當(dāng)提供若干個完整的項目(含源代碼)供學(xué)生研討并借鑒,如職工管理系統(tǒng)、“石頭-剪刀-布”小游戲程序等。[5]
1.4提出問題
PBL教學(xué)是以問題為導(dǎo)向,確定小組和項目后,就進(jìn)入課程設(shè)計的實質(zhì)階段。對于程序設(shè)計的初學(xué)者來說,他們沒有設(shè)計和開發(fā)項目的經(jīng)驗。所以,教師的指導(dǎo)是必不可少的,只有這樣,才會收得較好的效果。提出問題是PBL教學(xué)的要求。這里要強(qiáng)調(diào)由學(xué)生自己提出問題,學(xué)生提出問題反映了學(xué)生對解決問題的認(rèn)識和解決問題的思路,教師可以從中了解學(xué)生對知識掌握的程度。實踐證明,在沒有經(jīng)過學(xué)生的思考,直接由教師提出問題,效果不會很好。學(xué)生提出問題后,還要經(jīng)過同組學(xué)生質(zhì)疑并形成小組的意見,再經(jīng)過教師的評價或修改后再把問題確定下來,學(xué)生對問題認(rèn)識更加深刻,也有助于學(xué)生養(yǎng)成勤于思考的習(xí)慣,對今后學(xué)習(xí)并實踐程序設(shè)計有著促進(jìn)的作用。
1.5教學(xué)過程設(shè)計
要順利完成課程設(shè)計,必須充分設(shè)計好教學(xué)過程,使教學(xué)能夠有條不紊地按預(yù)定目標(biāo)進(jìn)行。圖1給出一種PBL教學(xué)實施流程,在PBL教學(xué)過程中,首先給出題目和進(jìn)行分組,學(xué)生可以在項目庫中選擇題目,也可以自擬題目。在課程設(shè)計中,根據(jù)項目要完成的功能,要進(jìn)行任務(wù)劃分。對于一個任務(wù),可能要產(chǎn)生若干問題,任務(wù)和問題以及解決問題的方案和步驟都是先由學(xué)生提出。教師全程參與并進(jìn)行指導(dǎo)。項目在完成時,要編寫實驗文檔,并進(jìn)行教學(xué)評價。同時要把教學(xué)評價結(jié)果反饋給學(xué)生,讓他們知道哪些做對了,還存在哪些不足,如何加以改進(jìn)等等。
1.6教學(xué)效果評價
教學(xué)效果評價是課程設(shè)計的一個必不可少的環(huán)節(jié)。只有通過教學(xué)評價,才能發(fā)現(xiàn)問題并加以解決,通過教學(xué)評價,也可以為今后的課程教學(xué)進(jìn)行改進(jìn)提供參考。C課程設(shè)計的考核,是對從項目選題開始,直到項目運(yùn)行并提交實驗文檔結(jié)束為止的所經(jīng)歷的一系列教學(xué)活動及其效果進(jìn)行評價。這里著重從幾個方面來進(jìn)行。第一,要對學(xué)生提出問題及解決問題的思路進(jìn)行評價,考核學(xué)生是否對所要解決的問題有清晰的了解,這種提出問題有時比解決問題更重要,因為它決定著最終能否完成項目或者影響完成項目的效率。第二,重點對學(xué)生的基礎(chǔ)知識和基本技能進(jìn)行評價,注重考核學(xué)生是否能夠正確、熟練、靈活地運(yùn)用控制語句、指針、文件等內(nèi)容對較復(fù)雜的問題加以解決,還要評價編程是否規(guī)范。第三,對實驗文檔的編寫進(jìn)行評價,強(qiáng)調(diào)文檔編寫的重要性。著重考核學(xué)生的語言表達(dá)能力、邏輯思維能力。最后,要對學(xué)生的團(tuán)隊合作過程進(jìn)行評價,從組織性、紀(jì)律性、配合的協(xié)調(diào)性等方面進(jìn)行考核。
2結(jié)語
C語言課程設(shè)計是C程序設(shè)計課程的后續(xù)課程。開設(shè)這門課,對于進(jìn)一步提高學(xué)生學(xué)習(xí)程序設(shè)計技術(shù)和培養(yǎng)學(xué)習(xí)編程的興趣有著重要的作用。PBL強(qiáng)調(diào)學(xué)生自主探索式學(xué)習(xí),通過解決問題來獲取必要的知識,同時培養(yǎng)了團(tuán)隊協(xié)作精神,在教師的指導(dǎo)下最終完成問題求解。本文闡述在C語言課程設(shè)計中應(yīng)用PBL進(jìn)行教學(xué)的方法,在學(xué)生基礎(chǔ)不均衡、課時少、學(xué)習(xí)任務(wù)重的情況下,探索一條適合C課程設(shè)計的教學(xué)方法,為C語言課程設(shè)計教學(xué)提供有益的借鑒,促進(jìn)人才培養(yǎng)向高質(zhì)量方向發(fā)展。
項目來源:廣西高等教育本科教學(xué)改革工程項目(2020JGB344),廣西財經(jīng)學(xué)院教育教學(xué)改革工程項目(2021JG04)
參考文獻(xiàn)
[1]Ita Richardson, Yvonne Delaney. Problem Based Learning in the Software Engineering Classroom[C]. 22nd Conference on Software Engineering Education and Training,2009:174-181.
[2]馬東梅,陳小莉.淺談PBL在非計算機(jī)專業(yè)C語言程序設(shè)計教學(xué)中的應(yīng)用[J],科技資訊,2018(30):204-205.
[3]李丹,劉春華.PBL教學(xué)法在高職高專C程序設(shè)計教學(xué)中的應(yīng)用[J].衛(wèi)生職業(yè)教育,2017(35):62-63.
[4]劉麗霞.淺談PBL在程序設(shè)計教學(xué)中的應(yīng)用[J].教育現(xiàn)代化,2016(27):165-166,171.
[5]盧守東.C語言程序設(shè)計實例教程[M].清華大學(xué)出版社,2017.