王青松,張?chǎng)午?,?建
(遼寧大學(xué) 信息學(xué)院,遼寧 沈陽(yáng) 110036)
《C語(yǔ)言程序設(shè)計(jì)》對(duì)于是否屬于計(jì)算機(jī)專業(yè)的學(xué)生來(lái)說(shuō),都是一門基礎(chǔ)技術(shù)課程,講述了什么是C語(yǔ)言、有哪些數(shù)據(jù)類型及其使用技巧、程序流程控制、數(shù)組、函數(shù)、指針以及有關(guān)程序設(shè)計(jì)的方法等內(nèi)容.通過(guò)本課程的學(xué)習(xí),使學(xué)生更好地了解和應(yīng)用計(jì)算機(jī),培養(yǎng)學(xué)生應(yīng)用計(jì)算機(jī)獨(dú)立解決問(wèn)題的能力,為學(xué)生今后進(jìn)一步的學(xué)習(xí)奠定良好的、扎實(shí)的計(jì)算機(jī)語(yǔ)言基礎(chǔ)[1].
該課程對(duì)于綜合性、靈活性、邏輯性要求較高,規(guī)則多,對(duì)于學(xué)生學(xué)習(xí)和教師教學(xué)都具有較高難度.因此,探索《C語(yǔ)言程序設(shè)計(jì)》教學(xué)改革勢(shì)在必行.傳統(tǒng)的教學(xué)模式,即LBL(Lecture-Based Learning)模式,遵循教師課堂講授,學(xué)生被動(dòng)接受,形成學(xué)生機(jī)械性接受、缺乏自主性和創(chuàng)新性的局面,學(xué)生掌握理論和算法,卻不知道在實(shí)踐中如何應(yīng)用.PBL(Problem-Based Learning)教學(xué)模式是以真實(shí)問(wèn)題為導(dǎo)向,培養(yǎng)學(xué)生自主學(xué)習(xí)能力、實(shí)踐能力和創(chuàng)新能力[2-4].根據(jù)多年《C語(yǔ)言程序設(shè)計(jì)》課程的教學(xué)經(jīng)驗(yàn),綜合LBL和PBL兩種教學(xué)模式的特點(diǎn),在C語(yǔ)言程序設(shè)計(jì)課程的教學(xué)改革實(shí)踐中,逐步引入PBL教學(xué)模式,提高學(xué)生綜合素質(zhì).
基于問(wèn)題的教學(xué)方法(Problem-Based Learning,PBL)是一種問(wèn)題驅(qū)動(dòng)的教學(xué)模式.PBL不同于傳統(tǒng)的教學(xué)方法,傳統(tǒng)教學(xué)將重點(diǎn)放在教師課堂教學(xué),先傳授學(xué)生理論知識(shí)再解決問(wèn)題,這種單向輸出的模式下學(xué)生處于被動(dòng),缺乏主動(dòng)性,難以對(duì)學(xué)習(xí)內(nèi)容產(chǎn)生興趣,理解浮于表面,不知道在實(shí)踐中如何應(yīng)用.PBL是以學(xué)生為主體,學(xué)生具備專業(yè)領(lǐng)域知識(shí)后,圍繞真實(shí)問(wèn)題自主尋求解決方案的一種學(xué)習(xí)模式.
在PBL教學(xué)模式中,教師的角色是問(wèn)題的提出者、課程的設(shè)計(jì)者以及結(jié)果的評(píng)估者.首先,教師根據(jù)期望傳授的知識(shí)提出問(wèn)題,設(shè)置于有意義的問(wèn)題情境中,同時(shí),為防止打消學(xué)生探究的積極性,問(wèn)題與情境的設(shè)置要難度適中、貼近現(xiàn)實(shí)、有趣味,激發(fā)學(xué)生的興趣,引起學(xué)生的注意力;其次,教師根據(jù)問(wèn)題難易程度以及結(jié)合學(xué)生個(gè)人知識(shí)掌握情況,進(jìn)行分組和角色分配,學(xué)生活動(dòng)主要是小組內(nèi)部分工合作進(jìn)行;學(xué)生通過(guò)查閱資料、請(qǐng)教老師等方法,自主探索解決問(wèn)題,在解決問(wèn)題的過(guò)程中實(shí)現(xiàn)知識(shí)的建構(gòu),在解決問(wèn)題時(shí)真正完成對(duì)知識(shí)的綜合運(yùn)用,知識(shí)建構(gòu)和綜合運(yùn)用這兩個(gè)階段是相輔相成的,不斷調(diào)整、探討才能達(dá)到新的知識(shí)體系[5];最后,學(xué)生以小組為單位進(jìn)行成果匯報(bào),由教師和學(xué)生對(duì)整個(gè)教學(xué)過(guò)程、教學(xué)成果進(jìn)行評(píng)價(jià)、總結(jié).綜上整個(gè)過(guò)程概括為:提出問(wèn)題、角色分配、知識(shí)建構(gòu)、綜合運(yùn)用、評(píng)價(jià)和總結(jié)[6-7]如圖1所示.
C語(yǔ)言以其簡(jiǎn)潔、靈活、表達(dá)力強(qiáng)、產(chǎn)生的目標(biāo)代碼質(zhì)量高、可移植性好為基本特點(diǎn)而著稱于世,在高校中各專業(yè)都會(huì)開(kāi)設(shè)《C語(yǔ)言程序設(shè)計(jì)》作為一門技術(shù)基礎(chǔ)課程,通過(guò)《C語(yǔ)言程序設(shè)計(jì)》的學(xué)習(xí),啟發(fā)學(xué)生掌握程序設(shè)計(jì)的基本思想和方法,培養(yǎng)學(xué)生在以后學(xué)習(xí)、工作中,都能融會(huì)貫通使用這種思想和方法的能力,在本科教學(xué)計(jì)劃中占有舉足輕重的地位和作用[8].
根據(jù)多年《C語(yǔ)言程序設(shè)計(jì)》課程的教學(xué)經(jīng)驗(yàn),發(fā)現(xiàn)許多學(xué)生在剛接觸程序設(shè)計(jì)思想時(shí)存在困難,認(rèn)為內(nèi)容抽象難懂,在學(xué)習(xí)過(guò)程中難以認(rèn)識(shí)到C語(yǔ)言的重要性,而且相對(duì)缺少對(duì)學(xué)生實(shí)踐能力的訓(xùn)練.結(jié)合實(shí)際課時(shí)安排,采取LBL教學(xué)模式和PBL教學(xué)模式相結(jié)合的方法,對(duì)C語(yǔ)言程序設(shè)計(jì)課程進(jìn)行教學(xué)改革.通過(guò)引入“真實(shí)問(wèn)題”為導(dǎo)向的實(shí)施教學(xué),幫助學(xué)生們真正掌握C語(yǔ)言的算法,激發(fā)學(xué)生編寫程序的積極性,提高學(xué)生綜合運(yùn)用C語(yǔ)言解決問(wèn)題的能力.
結(jié)合中國(guó)國(guó)情和高校課時(shí)安排情況,采取LBL教學(xué)模式和PBL教學(xué)模式相結(jié)合教學(xué).具體過(guò)程如圖2所示.
1)課堂學(xué)習(xí):學(xué)生理解教材基礎(chǔ)知識(shí)為主.開(kāi)設(shè)班級(jí)學(xué)習(xí)群,教師在群內(nèi)及時(shí)共享課件,設(shè)置練習(xí)題,及時(shí)和學(xué)生形成互動(dòng),激發(fā)學(xué)生的學(xué)習(xí)熱情.課堂學(xué)習(xí):學(xué)生理解教材基礎(chǔ)知識(shí)為主.開(kāi)設(shè)班級(jí)學(xué)習(xí)群,教師在群內(nèi)及時(shí)共享課件,設(shè)置練習(xí)題,及時(shí)和學(xué)生形成互動(dòng),激發(fā)學(xué)生的學(xué)習(xí)熱情.
2)簡(jiǎn)單問(wèn)題:先以教材習(xí)題為主,鼓勵(lì)學(xué)生上機(jī)實(shí)踐練習(xí),讓學(xué)生樹(shù)立信心,找到成就感、滿足感,把基礎(chǔ)實(shí)踐部分做好.
3)復(fù)雜問(wèn)題:提升問(wèn)題難度,可以由教師提出問(wèn)題或者教師給定范圍,由學(xué)生自主上網(wǎng)查找一些經(jīng)典問(wèn)題,通過(guò)雙人合作的方式,在短期時(shí)間內(nèi)解決.循序漸進(jìn),讓學(xué)生積累程序設(shè)計(jì)和編程的經(jīng)驗(yàn).
在此過(guò)程中開(kāi)始引入計(jì)算機(jī)專業(yè)一體化平臺(tái),將過(guò)去單一的試卷評(píng)價(jià)變成多元的學(xué)業(yè)評(píng)價(jià)方式,包括學(xué)生的網(wǎng)絡(luò)編程作業(yè)、網(wǎng)絡(luò)編程考試、實(shí)驗(yàn)成績(jī)、最終試卷成績(jī)綜合評(píng)價(jià).網(wǎng)絡(luò)教學(xué)平臺(tái)的引入,可以對(duì)學(xué)生實(shí)現(xiàn)多元學(xué)業(yè)成績(jī)考核,并可根據(jù)學(xué)生的作業(yè)情況、平時(shí)測(cè)試情況對(duì)學(xué)生的學(xué)習(xí)狀態(tài)進(jìn)行分析和預(yù)警.可以布置網(wǎng)上作業(yè)包括真實(shí)問(wèn)題的作業(yè).學(xué)生編寫代碼按時(shí)提交源代碼文件.提高與學(xué)生互動(dòng)性,學(xué)生學(xué)習(xí)熱情高漲,往往能夠及時(shí)提交源代碼,比直接布置課后作業(yè)完成率要高很多.同時(shí)有平臺(tái)提供監(jiān)督機(jī)制,未完成的作業(yè)和抄襲的作業(yè)都可以檢查出來(lái).
4)真實(shí)問(wèn)題:PBL教學(xué)模式核心部分是問(wèn)題和情境設(shè)置.教師設(shè)置情境,提出真實(shí)問(wèn)題,學(xué)生通過(guò)小組合作的方式協(xié)作學(xué)習(xí),查閱資料、詢問(wèn)老師等途徑,在解決問(wèn)題的過(guò)程中實(shí)現(xiàn)知識(shí)建構(gòu),最終實(shí)現(xiàn)知識(shí)的綜合運(yùn)用.
在《C語(yǔ)言程序設(shè)計(jì)》課程的理論教學(xué)和基礎(chǔ)實(shí)驗(yàn)基礎(chǔ)上,通過(guò)開(kāi)發(fā)規(guī)模較大的程序,使學(xué)生掌握應(yīng)用計(jì)算機(jī)解決實(shí)際問(wèn)題的基本方法;熟悉C程序開(kāi)發(fā)的全過(guò)程,包括從分析問(wèn)題開(kāi)始,建立數(shù)據(jù)模型,劃分功能模塊,設(shè)計(jì)算法,編碼,調(diào)試和測(cè)試程序,撰寫文檔等;提高綜合應(yīng)用C語(yǔ)言的能力,強(qiáng)化編程和調(diào)試能力.通過(guò)理論教學(xué)、基礎(chǔ)實(shí)驗(yàn)、課程設(shè)計(jì)等理論和實(shí)踐緊密結(jié)合的教學(xué),為學(xué)生今后學(xué)習(xí)軟件專業(yè)課程創(chuàng)建較軋實(shí)的理論和實(shí)踐基礎(chǔ).
基于引起學(xué)生興趣的目的,設(shè)計(jì)一個(gè)充滿趣味又貼近生活的問(wèn)題,比如在結(jié)構(gòu)體、指針等模塊學(xué)完后,讓學(xué)生完成一個(gè)學(xué)生成績(jī)管理系統(tǒng).
實(shí)驗(yàn)的目的是讓學(xué)生理解算法的基本概念;正確使用常量、變量、運(yùn)算符與表達(dá)式、程序控制結(jié)構(gòu)、數(shù)組、函數(shù)、編譯預(yù)處理、指針、結(jié)構(gòu)體與共用體及文件等C語(yǔ)言要素進(jìn)行程序設(shè)計(jì);熟悉在一種C語(yǔ)言開(kāi)發(fā)環(huán)境下進(jìn)行C程序設(shè)計(jì)的基本步驟;了解軟件工程的設(shè)計(jì)方法,采用模塊化設(shè)計(jì).
學(xué)生成績(jī)管理系統(tǒng)對(duì)學(xué)生的成績(jī)信息進(jìn)行管理,其中包括學(xué)生信息、課程信息和選課信息.學(xué)生信息包括學(xué)號(hào)、姓名、性別和地址.課程信息包括課程號(hào)、課程名、學(xué)分和學(xué)時(shí).選課信息包括學(xué)號(hào)、姓名、課程號(hào)、課程名、學(xué)期和成績(jī).教師可以適當(dāng)?shù)貙?duì)學(xué)生給予提示:1)學(xué)生和選課信息可以使用結(jié)構(gòu)體數(shù)組存儲(chǔ),課程信息使用鏈表存儲(chǔ);2)使用switch語(yǔ)句實(shí)現(xiàn)判斷選擇功能,控制流程的流轉(zhuǎn).
首先要明白,學(xué)生成績(jī)管理系統(tǒng)的使用者是教師,因此在設(shè)計(jì)系統(tǒng)時(shí),功能模塊的設(shè)置的服務(wù)對(duì)象是教師;接下來(lái),從功能模塊設(shè)置的角度進(jìn)行分析,系統(tǒng)要能夠?qū)崿F(xiàn)對(duì)學(xué)生信息、課程信息、選課信息的增、刪、改、查,成績(jī)管理要具有成績(jī)的錄入、刪除和查詢.圖3給出了系統(tǒng)的功能結(jié)構(gòu)圖.
經(jīng)過(guò)教師的引導(dǎo),對(duì)問(wèn)題進(jìn)行分析后,學(xué)生對(duì)于模塊化設(shè)計(jì)思想有了知識(shí)建構(gòu),接下來(lái),教師進(jìn)一步提出畫出業(yè)務(wù)流程圖的要求,檢查發(fā)現(xiàn),大部分學(xué)生能夠獨(dú)立給出業(yè)務(wù)流程圖,存在少數(shù)學(xué)生畫出的流程圖存在問(wèn)題,但是通過(guò)引導(dǎo)能夠?qū)⑺悸肥崂砬逦?最后,由教師給出正確的系統(tǒng)業(yè)務(wù)流程圖見(jiàn)圖4.
按照傳統(tǒng)教學(xué)模式下《C語(yǔ)言程序設(shè)計(jì)》課程的教學(xué)計(jì)劃,本門課程的考核包含平時(shí)成績(jī)和期末考試,占比分別為20%和80%,其中平時(shí)成績(jī)指課堂考勤和實(shí)驗(yàn)作業(yè).在基于“真實(shí)問(wèn)題”為導(dǎo)向的教學(xué)模式下,引入計(jì)算機(jī)專業(yè)一體化平臺(tái),課程考核對(duì)于考核方式和考核因素的占比都有調(diào)整,考核方式新增小組答辯和程序提交(包含代碼,課程設(shè)計(jì)文檔),成績(jī)劃分到平時(shí)成績(jī)里面,由于PBL教學(xué)模式要求學(xué)生為主體,強(qiáng)化了學(xué)生在平時(shí)研究探討問(wèn)題的部分,所以提高平時(shí)成績(jī)比重到30%,作為對(duì)學(xué)生們的激勵(lì),相應(yīng)的期末成績(jī)比重為70%.
參與PBL在C語(yǔ)言程序設(shè)計(jì)課程的教學(xué)改革實(shí)踐的是遼寧大學(xué)信息學(xué)院2018級(jí)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的本科生,通過(guò)對(duì)17級(jí)和18級(jí)學(xué)生同期《C語(yǔ)言程序設(shè)計(jì)》成績(jī)對(duì)比發(fā)現(xiàn),基于“真實(shí)問(wèn)題”為導(dǎo)向的教學(xué)模式使得教學(xué)質(zhì)量顯著提升,學(xué)生的成績(jī)有了明顯提高,優(yōu)秀率(≥90)和良好率(≥80)都顯著高于17級(jí)學(xué)生,不及格率也明顯降低.圖5給出了17級(jí)和18級(jí)學(xué)生成績(jī)分布對(duì)比情況.
對(duì)結(jié)果分析認(rèn)為,優(yōu)秀率和良好率都提高的原因包括兩方面.一方面是由于引入了計(jì)算機(jī)專業(yè)一體化平臺(tái),可以及時(shí)分析和預(yù)警學(xué)生的學(xué)習(xí)狀態(tài),密切監(jiān)督學(xué)生課后作業(yè)的完成率,同時(shí)對(duì)于未完成的作業(yè)、抄襲的作業(yè)都可以檢查出來(lái);另一方面和基于“真實(shí)問(wèn)題”為導(dǎo)向的教學(xué)模式的實(shí)施是密不可分的,不僅調(diào)動(dòng)學(xué)生學(xué)習(xí)積極性,而且給學(xué)生提供了將知識(shí)綜合運(yùn)用的機(jī)會(huì),對(duì)所學(xué)掌握更牢固.
PBL教學(xué)模式以“真實(shí)問(wèn)題”作為驅(qū)動(dòng),激發(fā)學(xué)生興趣,調(diào)動(dòng)學(xué)生積極性,以學(xué)生作為主體,教師作為引導(dǎo),提高學(xué)生創(chuàng)新能力、實(shí)踐能力和自主性,培養(yǎng)學(xué)生將教師講授的知識(shí)自主梳理建構(gòu)的習(xí)慣與能力,以及在將來(lái)實(shí)踐中對(duì)知識(shí)綜合運(yùn)用的能力.但是,PBL教學(xué)模式的實(shí)施還是存在一定問(wèn)題.PBL教學(xué)法對(duì)于學(xué)生的基本素質(zhì)要求很高,學(xué)生對(duì)于知識(shí)的接觸程度和接受能力存在差異,對(duì)新模式接納存在緩慢現(xiàn)象;而且PBL教學(xué)過(guò)程中要求教師對(duì)學(xué)生各方面的指導(dǎo),新模式要求教師有多年教學(xué)經(jīng)驗(yàn),能靈活應(yīng)對(duì)學(xué)生出現(xiàn)的各種問(wèn)題,能合理提出問(wèn)題;新模式需要學(xué)校的全面支持,教學(xué)資源要求較高,教師精力有限,需要小班化教學(xué)、指導(dǎo)教師充足、增加課時(shí)等.
在后續(xù)的教學(xué)改革實(shí)踐中,一方面,針對(duì)上述問(wèn)題會(huì)進(jìn)行適當(dāng)調(diào)整,另一方面,期望將“真實(shí)問(wèn)題”為導(dǎo)向的教學(xué)模式推廣應(yīng)用到更多的其他專業(yè)課程中去,探索使用數(shù)據(jù)挖掘等技術(shù)和挖掘關(guān)聯(lián)規(guī)則的算法Apriori對(duì)每批次教學(xué)結(jié)果進(jìn)行分析,科學(xué)地調(diào)整教學(xué)模式,達(dá)到更好的教學(xué)效果.