宋琦,王冠宇,黃德玲
(1.重慶郵電大學(xué)軟件工程學(xué)院,重慶 400065;2.重慶郵電大學(xué)光電工程學(xué)院,重慶 400065)
《程序設(shè)計語言原理》課程是軟件工程專業(yè)的核心基礎(chǔ)課程。借鑒美國紐約州立大學(xué)阿爾巴尼分校的專業(yè)課程體系設(shè)置,基于過程化考核教學(xué)理念,由美方教授來我校全程講授該門課程。教學(xué)實(shí)踐證明:《程序設(shè)計語言原理》課程對軟件工程專業(yè)學(xué)生理解、掌握編程方法有很大助益,并且過程化考核方法提高學(xué)生的學(xué)習(xí)主動性、自主學(xué)習(xí)能力和團(tuán)隊合作能力,教學(xué)效果良好。最后,基于我校軟件工程專業(yè)學(xué)生的實(shí)際情況,提出具體的持續(xù)改進(jìn)措施。
程序設(shè)計語言原理;過程化考核;教學(xué)實(shí)踐;軟件工程專業(yè)
軟件工程專業(yè)本科教育的培養(yǎng)目標(biāo)是以行業(yè)為導(dǎo)向,培養(yǎng)具有競爭力和較強(qiáng)創(chuàng)新能力的復(fù)合型軟件技術(shù)人才。學(xué)生應(yīng)掌握扎實(shí)的計算機(jī)科學(xué)和軟件工程專業(yè)知識,具備軟件開發(fā)能力、團(tuán)隊合作能力、系統(tǒng)分析設(shè)計能力、軟件項目管理能力。歸結(jié)為一點(diǎn),就是學(xué)生要能與計算機(jī)進(jìn)行良好的溝通,進(jìn)而發(fā)揮計算機(jī)在各行業(yè)中的應(yīng)用作用。程序設(shè)計語言是人與計算機(jī)溝通的唯一方式,因此作為未來的程序開發(fā)人員,軟件工程專業(yè)的學(xué)生需要更深入地了解程序設(shè)計語言,進(jìn)一步掌握程序設(shè)計語言,從而靈活應(yīng)用程序設(shè)計語言。針對這樣的目標(biāo),《程序設(shè)計語言原理》課程的開設(shè)是非常有必要的,原因如下:
(1)可以提高學(xué)生表達(dá)思想的能力,使其能夠?qū)χ匾恼Z言特性與結(jié)構(gòu)有充分的理解,更好地構(gòu)造算法和程序結(jié)構(gòu);
(2)可以幫助學(xué)生熟悉更多的語言和語言結(jié)構(gòu),在未來軟件開發(fā)過程中,學(xué)生能根據(jù)實(shí)際需求選擇合適的開發(fā)語言;
(3)可以有效地增強(qiáng)學(xué)生學(xué)習(xí)并掌握一門新的計算機(jī)語言的能力;
(4)可以改善學(xué)生對已知計算機(jī)語言的使用能力;
(5)可以幫助學(xué)生發(fā)現(xiàn)和修正程序的缺陷、提高所編寫程序的執(zhí)行效率。
但是,我校在對軟件工程專業(yè)培養(yǎng)方案不斷更新的過程中,根據(jù)對全國各高校軟件工程相關(guān)專業(yè)的課程體系、培養(yǎng)方案的調(diào)研,我們發(fā)現(xiàn)國內(nèi)目前很少有高校將《程序設(shè)計語言原理》課程列入軟件工程專業(yè)的課程培養(yǎng)方案,大多都只是將某一種或兩種編程語言(如C、C++、Java)納入培養(yǎng)方案中。
鑒于此,重慶郵電大學(xué)軟件工程學(xué)院與美國紐約州立大學(xué)阿爾巴尼分校建立了良好的合作關(guān)系,雙方在軟件工程專業(yè)的本科教育項目中相互交流合作,并借鑒了阿爾巴尼分校的專業(yè)課程體系設(shè)置,將《程序設(shè)計語言原理》課程列為軟件工程專業(yè)的核心課程。同時引進(jìn)了阿爾巴尼分校的教授,依照美國的過程化考核教學(xué)理念來我校全程講授該門課程。筆者作為美方教授的合作教師,全程參與了該門課程的理論和實(shí)驗(yàn)教學(xué)工作,主要負(fù)責(zé)該門課程的實(shí)驗(yàn)課指導(dǎo)和理論課輔助教學(xué)。
過程化考核是在考核過程中以培養(yǎng)學(xué)生綜合素質(zhì)為目標(biāo),以項目教學(xué)法、任務(wù)驅(qū)動教學(xué)模式為支撐,注重對學(xué)生學(xué)習(xí)過程的考核[1],進(jìn)而有效引導(dǎo)教學(xué)活動開展,促進(jìn)人才培養(yǎng)質(zhì)量提高。過程化考核是對學(xué)生理論知識的掌握程度和動手實(shí)踐能力檢驗(yàn)的一種綜合考核機(jī)制。過程化考核方式通過課堂出勤、課上表現(xiàn)、課后作業(yè)、實(shí)驗(yàn)實(shí)踐等多方面進(jìn)行綜合考核,并以此按比例來綜合評定學(xué)生。這種考核方式與CDIO(Conceive構(gòu)思、Design 設(shè)計、Implement 實(shí)現(xiàn)、Operate 運(yùn)作)工程教育模式的教育理念殊途同歸,都是以工程教育為主導(dǎo)的應(yīng)用型軟件人才培養(yǎng)方法[2]。
課程考核作為教學(xué)過程中的一個重要環(huán)節(jié),一直以來是教育界的一項重要工作?,F(xiàn)有的集中式考試模式存在著考試結(jié)果片面性、考試形式單一性、抑制學(xué)生積極性、教學(xué)反饋缺乏性等問題。相反,過程化考核模式則有著考核內(nèi)容全面化、考核形式合理化、學(xué)生積極主動化、教學(xué)效果促進(jìn)化等優(yōu)點(diǎn)[3]。
首先,過程化考核模式邊行課邊進(jìn)行考核,因此所考核的知識點(diǎn)全面深入。其次,期末集中考試一般采用試卷答題形式,形式單一,而過程化考核可以根據(jù)不同的知識點(diǎn)采取調(diào)研報告、筆答、實(shí)驗(yàn)、演講等多種形式,更合理地對所學(xué)知識進(jìn)行考核。再次,過程化考核有效的提高了學(xué)生的學(xué)習(xí)主動性和積極性。期末集中考試時,學(xué)生平時基本上不用心學(xué),考試前突擊復(fù)習(xí),考完試很快就會忘掉,且考試成績不容易拉開檔次;過程化考核則按比例分階段給分,確保了學(xué)生在行課過程中認(rèn)真學(xué)習(xí),爭取每一分。最后,過程化考核可以幫助教師及時發(fā)現(xiàn)教學(xué)過程中學(xué)生對知識的掌握情況,合理的調(diào)整授課內(nèi)容和教學(xué)方法,更好地提升教學(xué)質(zhì)量[4]。
該課程設(shè)置48 學(xué)時理論課,16 學(xué)時實(shí)驗(yàn)課,共計64 學(xué)時,4 學(xué)分。無統(tǒng)一教材,學(xué)生以Robert Sebesta的Concepts of Programming Languages 為主要參考書[5],外教提供各種閱讀資料[6]和網(wǎng)上資源鏈接[7]。
該門課程的理論課課堂教學(xué)主要分成兩個主要環(huán)節(jié):學(xué)生演講和教師授課。
學(xué)期初,教師根據(jù)授課計劃和學(xué)生人數(shù)提前設(shè)計10 個與每節(jié)課知識點(diǎn)相關(guān)的演講題目,并將學(xué)生分成10 個小組,每組選擇一個演講題目,學(xué)生以小組為單位根據(jù)演講題目自主查閱資料進(jìn)行學(xué)習(xí)并整理成PPT。每次課上教師會安排10-15 分鐘時間,由一組學(xué)生演講本組的學(xué)習(xí)成果,小組成員全部參與演講,從學(xué)習(xí)者的角度來講解新知識。同時,其他學(xué)生可以根據(jù)自己對演講內(nèi)容的理解提出相應(yīng)的問題,進(jìn)行互動式學(xué)習(xí)。教師則對學(xué)生講解的知識進(jìn)行檢驗(yàn)和評價,并解答學(xué)生理解不足之處。這種方式不僅調(diào)動了學(xué)生自主學(xué)習(xí)的主觀能動性,同時使學(xué)生查閱資料、整理資料、分工合作、表達(dá)等能力得到了鍛煉和提高。較之一味地灌輸書本上的知識而言,學(xué)生通過自主學(xué)習(xí)學(xué)到的知識會更扎實(shí)更持久。
外方教授在授課的環(huán)節(jié)與國內(nèi)相同,都是以PPT為主要媒介。PPT 上列出主要知識點(diǎn),課堂的講授則針對PPT 上的知識點(diǎn)進(jìn)行展開。由于《程序設(shè)計語言原理》課程理論性很強(qiáng),教師在講解時,配備了很多視頻和代碼示例,以加強(qiáng)學(xué)生對知識的記憶。
《程序設(shè)計語言原理》課程不設(shè)置期末考試環(huán)節(jié),課程的總評成績由6 部分通過過程考核得出,根據(jù)以下線性加權(quán)公式計算:
式中,Stotal為課程總成績,S1~S6分別代表考勤成績、實(shí)驗(yàn)成績、課堂演講成績、隨堂測試成績、作業(yè)成績以及課程設(shè)計成績。按照教學(xué)計劃和教學(xué)大綱,這六個成績完全覆蓋了該門課程的過程化考核目標(biāo)。其中,實(shí)驗(yàn)成績S2取8 次實(shí)驗(yàn)成績的平均成績;課堂演講雖以小組為單位完成,但每名學(xué)生都會根據(jù)個人在小組任務(wù)中的角色和表現(xiàn)得到自己的成績;隨堂測驗(yàn)S4取2 次測驗(yàn)成績的總成績;S5取4 次作業(yè)成績的平均成績;課程設(shè)計成績S6則根據(jù)課程設(shè)計報告和程序代碼質(zhì)量綜合給出。
此外,在過程化考核過程中,每次實(shí)驗(yàn)課,學(xué)生都要以小組為單位進(jìn)行查閱大量資料、討論、分析和動手編程。筆者作為合作教師參與到每組的討論中,指導(dǎo)學(xué)生完成實(shí)驗(yàn)內(nèi)容。《程序設(shè)計語言原理》課程采用過程化考核方式,不僅達(dá)到了預(yù)期的教學(xué)目的,還提高了學(xué)生的學(xué)習(xí)積極性和主動性,更重要的是在學(xué)習(xí)過程中,增強(qiáng)了學(xué)生的批判性思維能力、分析查找資料的能力、分析新事物和總結(jié)問題的能力。下圖中給出了該門課程的成績分布曲線圖,由圖1 可以看出,該門課程的通過率為97.8%,成績分布近似于正態(tài)分布,并且注意到高分段(90-100 分)的人數(shù)占總?cè)藬?shù)的21.7%,優(yōu)秀率較高,這正說明了采用的過程化考核手段,學(xué)生的學(xué)習(xí)興趣、學(xué)習(xí)積極性、學(xué)習(xí)效率和學(xué)習(xí)效果比傳統(tǒng)教學(xué)手段均有了明顯提高。
圖1 2016 級軟件工程專業(yè)學(xué)生《程序設(shè)計語言原理》課程成績分布曲線
根據(jù)目前重慶郵電大學(xué)學(xué)生的實(shí)際情況,《程序設(shè)計語言原理》課程采用過程化考核理念所開展的教學(xué)效果總體是很好的,但尚有需要改進(jìn)之處,主要體現(xiàn)在圖1 中的較低分?jǐn)?shù)段(60-69 分)。原因分析如下:
(1)外教完全按照國外的教學(xué)方式教授中國學(xué)生,并不完全適用于本校軟件工程專業(yè)學(xué)生的實(shí)際情況。美國學(xué)生一直接受的都是這種自主學(xué)習(xí)的主動式教學(xué)方式,而中國學(xué)生長久以來接受的都是國內(nèi)傳統(tǒng)的被動式教學(xué)方式,由被動式到主動式的驟然轉(zhuǎn)換,會使少部分學(xué)生難以適應(yīng)。少數(shù)學(xué)生沒有經(jīng)過自主學(xué)習(xí)的培養(yǎng)和訓(xùn)練,不知道從何著手,如何開展自主學(xué)習(xí)。因此在后續(xù)教學(xué)過程中,應(yīng)該循序漸進(jìn),逐步引導(dǎo),先加強(qiáng)自主學(xué)習(xí)方式方法的鍛煉。
(2)少部分學(xué)生的英語聽說能力較差,外方教授的全英文授課模式使得這部分學(xué)生理解困難,學(xué)生們需要先理解英語,然后再理解專業(yè)課知識點(diǎn),往往是想明白了一個知識點(diǎn),反而錯過了后面的幾個知識點(diǎn),從而跟不上外方教授的進(jìn)度,進(jìn)而更難與其在課堂上互動。久而久之,會導(dǎo)致學(xué)生懼怕課上提問,閉口不言。因此該問題需要從兩方面加以解決:一是加強(qiáng)英語聽說能力的培養(yǎng),在學(xué)生具備一定聽說能力后再開設(shè)全英文授課;二是多給予學(xué)生“可理解性語言的輸入”,適當(dāng)放慢語速,使學(xué)生盡可能多地將精力用在對專業(yè)知識的理解上。