徐 慧, 顧 頎,周建美
(南通大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 南通 226019)
我國有300 多所高校開設(shè)軟件工程專業(yè),每年培養(yǎng)30余萬畢業(yè)生[1],2017年軟件人才職位需求居職業(yè)招聘崗位之首,但從就業(yè)結(jié)果來看,畢業(yè)生就業(yè)能力與企業(yè)需求之間,存在較大差距。如何才能解決人才需求的難題,培養(yǎng)出具有較強(qiáng)實(shí)踐能力的軟件工程人才呢?參加工程教育認(rèn)證被認(rèn)為是一個很好的途徑。
《工程教育認(rèn)證標(biāo)準(zhǔn)(2016 版)》[2]對學(xué)生畢業(yè)要求的12條中,與專業(yè)課程教學(xué)直接關(guān)聯(lián)的有以下5點(diǎn)。
(1)工程知識:能夠?qū)?shù)學(xué)、自然科學(xué)、工程基礎(chǔ)和專業(yè)知識用于解決復(fù)雜工程問題。
(2)問題分析:能夠應(yīng)用數(shù)學(xué)、自然科學(xué)和工程科學(xué)的基本原理,識別、表達(dá)、研究、分析復(fù)雜工程問題,以獲得有效結(jié)論。
(3)設(shè)計(jì)/開發(fā)解決方案:能夠設(shè)計(jì)解決復(fù)雜工程問題的解決方案,設(shè)計(jì)滿足特定需求的系統(tǒng)、單元(部件)或工藝流程,并能夠在設(shè)計(jì)環(huán)節(jié)中體現(xiàn)創(chuàng)新意識。
(4)研究:能夠基于科學(xué)原理并采用科學(xué)方法研究復(fù)雜工程問題,包括設(shè)計(jì)實(shí)驗(yàn)、分析與解釋數(shù)據(jù),并通過信息綜合得到合理有效的結(jié)論。
(5)使用現(xiàn)代工具:能夠針對復(fù)雜工程問題,開發(fā)、選擇與使用恰當(dāng)?shù)募夹g(shù)、資源、現(xiàn)代工程工具和信息技術(shù)工具,包括對復(fù)雜工程問題的預(yù)測與模擬,并能夠理解其局限性。
上述5點(diǎn),明確表明除系統(tǒng)的理論學(xué)習(xí)外,實(shí)踐教學(xué)環(huán)節(jié)起到至關(guān)重要的作用。標(biāo)準(zhǔn)對計(jì)算機(jī)類專業(yè)的補(bǔ)充規(guī)定中對實(shí)踐教學(xué)進(jìn)一步細(xì)化,指出實(shí)踐教學(xué)體系要包括“實(shí)驗(yàn)課程、課程設(shè)計(jì)、現(xiàn)場實(shí)習(xí)”,還要開展“科技創(chuàng)新、社會實(shí)踐等多種形式的實(shí)踐活動”,由此可見,認(rèn)證標(biāo)準(zhǔn)將培養(yǎng)學(xué)生的工程實(shí)踐能力放在十分重要的地位。
智慧來源于知識,但知識不會自然而然地達(dá)成智慧,需要通過實(shí)踐活動對知識“內(nèi)化”和“活化”,起關(guān)鍵作用的是人的實(shí)踐經(jīng)驗(yàn)[3]。課程設(shè)計(jì)是與課程教學(xué)緊密相關(guān)的實(shí)踐環(huán)節(jié),是學(xué)生獲得專業(yè)實(shí)踐技能的重要一步。
課程設(shè)計(jì),是課程的綜合性實(shí)踐教學(xué)環(huán)節(jié),會用到課程的許多知識點(diǎn),引導(dǎo)學(xué)生從全局的觀點(diǎn)認(rèn)識課程的精髓和本質(zhì),指導(dǎo)學(xué)生將所學(xué)的知識綜合應(yīng)用于軟件開發(fā)過程中。課程設(shè)計(jì)具有以下特點(diǎn):
(1)綜合性。項(xiàng)目設(shè)計(jì)需要綜合整個課程知識,甚至多個學(xué)科,可以培養(yǎng)學(xué)生綜合運(yùn)用知識的能力。
(2)開放性。學(xué)生圍繞問題進(jìn)行探索,學(xué)習(xí)形式不再局限于課堂與教師的指導(dǎo)。
(3)自主性。時間較長,學(xué)生自由、自主地分組學(xué)習(xí),根據(jù)自己的理解發(fā)揮想象力,從而促進(jìn)學(xué)生創(chuàng)造能力的發(fā)展。
課程設(shè)計(jì)一般安排在課程結(jié)束后的學(xué)期末,時長1周或2周。實(shí)施過程見圖1。
圖1 課程設(shè)計(jì)過程
教師發(fā)布課程設(shè)計(jì)任務(wù),說明課程設(shè)計(jì)要求,進(jìn)行必要的考勤與巡視,對學(xué)生問題進(jìn)行必要的解答,對課設(shè)成果進(jìn)行檢查,系統(tǒng)演示與問答,審閱課設(shè)報(bào)告;根據(jù)出勤情況、系統(tǒng)驗(yàn)收情況及報(bào)告,給出成績。
學(xué)生選擇課設(shè)任務(wù),查閱資料,分析、設(shè)計(jì)、編碼、實(shí)現(xiàn);課設(shè)中,出現(xiàn)問題,可能會求助于指導(dǎo)教師;系統(tǒng)設(shè)計(jì)完成后,接受指導(dǎo)教師的檢查與現(xiàn)場問答;根據(jù)要求,撰寫課程設(shè)計(jì)報(bào)告。
課程設(shè)計(jì)中存在的異常現(xiàn)象有:
(1)方案少[4]。一個題目,少則十幾人,多則幾十人做,導(dǎo)致學(xué)生偷懶、抄襲。
(2)進(jìn)度異常。課程設(shè)計(jì),是一個包括需求分析、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、算法設(shè)計(jì)、編碼、調(diào)試與測試、撰寫報(bào)告等環(huán)節(jié)的循序漸進(jìn)的過程。有些學(xué)生在驗(yàn)收那天突然完成整個設(shè)計(jì),但對過程中涉及的問題,一問三不知,只會運(yùn)行程序[5]。
(3)報(bào)告質(zhì)量差[4]。部分學(xué)生的設(shè)計(jì)報(bào)告內(nèi)容只是源程序和運(yùn)行截圖,且版面質(zhì)量差、作圖不規(guī)范。
(4)放羊式指導(dǎo)。整個過程幾乎沒有監(jiān)控管理工作,也鮮有指導(dǎo)工作,放任學(xué)生自行完成。
課程設(shè)計(jì)達(dá)不到預(yù)期目標(biāo),引起教師的深思,因此各種方法被提出,以改進(jìn)課設(shè),如項(xiàng)目驅(qū)動的課程設(shè)計(jì)[6]、啟發(fā)式教學(xué)的課程設(shè)計(jì)[7]、串聯(lián)式課程設(shè)計(jì)[8]等。事實(shí)表明,這些理念與方法還不足以解決問題。
課設(shè)效果差的主要原因有:
(1)不夠重視。課程設(shè)計(jì)一般為考查課,不需要考試,能力差的學(xué)生怕吃苦,經(jīng)常拷貝應(yīng)付。教師給予實(shí)踐性教學(xué)環(huán)節(jié)的通過率較高,部分學(xué)生存在僥幸心理,不認(rèn)真對待課設(shè)。
(2)過程監(jiān)督不力。課設(shè)一般安排在課程結(jié)束后或?qū)W期末。此時,教師的業(yè)務(wù)工作較多,無暇顧及。部分教師認(rèn)為,課程設(shè)計(jì)不同于上課,應(yīng)該由學(xué)生自主完成,無須多管。
課設(shè)第一天,教師通常會進(jìn)行開工講解,如講什么內(nèi)容以及講解的效果,對學(xué)生課設(shè)有很大的影響。講解除任務(wù)布置外,建議講清以下內(nèi)容。
1)目的與要求。
目的與要求通常寫在課程設(shè)計(jì)大綱及實(shí)施計(jì)劃書中,必須向?qū)W生闡述與說明,使學(xué)生明白課程設(shè)計(jì)的目的是什么,最低要求是什么,做成什么樣是好的課程設(shè)計(jì)。
2)課程設(shè)計(jì)任務(wù)。
教師因?qū)W生能力的差異性,教師給出難易程度不一的任務(wù),供學(xué)生自主選擇,是被普遍采納的方法。教師任務(wù)講解不能講得太簡單,示范性、啟迪性地剖析與講解任務(wù),分析設(shè)計(jì)要點(diǎn),提示任務(wù)所需的知識,幫助學(xué)生判斷任務(wù)的難易程度及正確選擇任務(wù)。
3)設(shè)計(jì)內(nèi)容。
實(shí)踐應(yīng)用研究集中在基礎(chǔ)教育階段,高等教育階段研究較少 從時區(qū)軸線圖可以看出,高中物理、小學(xué)數(shù)學(xué)、高中數(shù)學(xué)等學(xué)科關(guān)于深度學(xué)習(xí)的思維能力研究較多,并從2012年延續(xù)至近期。在深度參與聚類內(nèi)容下,有關(guān)高職學(xué)生學(xué)習(xí)方式的研究在2017年才略有。
該部分要講清楚整個課設(shè)的任務(wù),引導(dǎo)學(xué)生遵循系統(tǒng)開發(fā)的方法進(jìn)行課設(shè)工作,如數(shù)據(jù)結(jié)構(gòu)的課程設(shè)計(jì),需設(shè)計(jì)的內(nèi)容有:
(1)問題分析和任務(wù)定義:充分分析和理解問題,明確問題要做什么?限制條件是什么?
(2)邏輯設(shè)計(jì):根據(jù)問題描述中涉及的操作對象定義相應(yīng)的數(shù)據(jù)類型,按照以數(shù)據(jù)結(jié)構(gòu)為中心的原則劃分模塊,畫出模塊之間的調(diào)用關(guān)系圖。
(3)詳細(xì)設(shè)計(jì):定義相應(yīng)的存儲結(jié)構(gòu),寫出主要算法的偽代碼,并對數(shù)據(jù)結(jié)構(gòu)和基本操作作出進(jìn)一步求精。
(4)程序編碼:把詳細(xì)設(shè)計(jì)的結(jié)果進(jìn)一步求精為程序設(shè)計(jì)語言程序。
(5)程序調(diào)試與測試:以增量的方式自底向上劃分模塊。調(diào)試正確后,認(rèn)真整理源程序及其注釋,形成格式和風(fēng)格良好的源程序清單和結(jié)果。
(6)結(jié)果分析:分析邏輯正確性,分析算法的時間、空間復(fù)雜性。
(7)編寫課程設(shè)計(jì)報(bào)告。
4)進(jìn)度安排。
進(jìn)度安排是設(shè)計(jì)任務(wù)時間上的執(zhí)行序列。明確的進(jìn)度安排,不僅進(jìn)一步強(qiáng)調(diào)了課設(shè)工作內(nèi)容,也給學(xué)生每天的工作確立了目標(biāo)。說明要凸顯設(shè)計(jì),引導(dǎo)學(xué)生以正確的步驟進(jìn)行系統(tǒng)設(shè)計(jì)。例如1周的數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì),任務(wù)進(jìn)度表見表1。
5)報(bào)告要求。
具有撰寫設(shè)計(jì)報(bào)告或技術(shù)總結(jié)報(bào)告的能力,不僅是專業(yè)認(rèn)證中明確提出的要求,也是學(xué)生必須具備的基本能力。要提高學(xué)生課設(shè)報(bào)告的質(zhì)量,必須明確并仔細(xì)講解報(bào)告要求,報(bào)告要求見表2。
6)成績評定方法。
人的向好性,決定絕大多數(shù)學(xué)生會向好成績努力。課設(shè)開始,有必要講清成績的評定標(biāo)準(zhǔn)。
(1)及格:原創(chuàng)性少,系統(tǒng)邏輯正確,進(jìn)度推進(jìn)正常,報(bào)告合格。
表1 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)進(jìn)度表
表2 報(bào)告內(nèi)容及示例
(2)優(yōu)秀:有創(chuàng)新,系統(tǒng)質(zhì)量好,進(jìn)度推進(jìn)正常,報(bào)告優(yōu)秀。
(3)不及格、中、良,在這兩者之間。
課設(shè)的主體是學(xué)生,但課設(shè)達(dá)不到教學(xué)目的,其責(zé)任主體則是教師。加強(qiáng)過程管理和過程監(jiān)控,可以解決現(xiàn)在課程設(shè)計(jì)中的許多問題,也可以按專業(yè)認(rèn)證標(biāo)準(zhǔn)要求的工程知識、問題分析、研究、設(shè)計(jì)與解決方案及工具使用等方面考量學(xué)生。
1)檢查內(nèi)容。
系統(tǒng)開發(fā)需經(jīng)過分析、設(shè)計(jì)、編碼、調(diào)試測試等過程,基于進(jìn)度計(jì)劃(見表1),進(jìn)行階段性成果檢查,引導(dǎo)學(xué)生按部就班地以規(guī)范的步驟進(jìn)行,體會系統(tǒng)開發(fā)的流程。教師每天進(jìn)行階段性成果檢查,最后進(jìn)行匯總,掌握每個學(xué)生課程設(shè)計(jì)的進(jìn)度。
2)匯總表。
一周課程設(shè)計(jì)的匯總表見表3。任務(wù)、完成1、完成2、完成3依次在課設(shè)的第2、3、4天前提交。教師在線布置任務(wù)作業(yè),學(xué)生在線提交,教師每天早晨匯總后,到機(jī)房檢查、回饋和指導(dǎo)。
表3 進(jìn)度檢查表
每日的填寫是每天工作的小結(jié),促進(jìn)學(xué)生主觀上盡力多做。
3)檢查對認(rèn)證標(biāo)準(zhǔn)中要求的覆蓋。
階段性的檢查,促使學(xué)生用已學(xué)的知識分析、設(shè)計(jì)求解課設(shè)任務(wù),不偷工減料。
通過加強(qiáng)課程設(shè)計(jì)的過程監(jiān)督,可以保障課程設(shè)計(jì)覆蓋“工程教育認(rèn)證12條基本要求”中的5條,即工程知識、問題分析、研究、設(shè)計(jì)與解決方案和使用現(xiàn)代工具。
(1)課設(shè)中,要求將相關(guān)的數(shù)學(xué)、自然科學(xué)、工程基礎(chǔ)和專業(yè)知識,用于問題建模、表達(dá)、算法設(shè)計(jì);
(2)程序設(shè)計(jì)中,完全原創(chuàng)很少,查閱文獻(xiàn)必不可少,學(xué)生通過查閱文獻(xiàn)與已有的知識,設(shè)計(jì)方案;
(3)為驗(yàn)證程序的邏輯正確和性能分析,需建立測試模型,對實(shí)驗(yàn)結(jié)果進(jìn)行正確性、復(fù)雜性分析;
(4)課設(shè)中,用到多種工具,用編程及調(diào)試工具創(chuàng)建系統(tǒng),用文字編輯、排版及用圖工具撰寫報(bào)告。
有了階段性檢查,系統(tǒng)驗(yàn)收工作中的問題可以減少許多,重點(diǎn)是通過系統(tǒng)演示,查看系統(tǒng)的性能、了解學(xué)生的創(chuàng)新性工作。
成績評定中,除了考慮任務(wù)難度與工作量、系統(tǒng)性能、學(xué)生的創(chuàng)新性工作與報(bào)告質(zhì)量外,建議學(xué)生給出“自評分”。絕大多數(shù)學(xué)生對照成績標(biāo)準(zhǔn),能根據(jù)自己的工作給出一個較“客觀”的分?jǐn)?shù)。一方面讓學(xué)生知道,成績不是教師給的,是自己做出來的;另一方面,教師通過自評分,斷定該學(xué)生工作內(nèi)容、態(tài)度與報(bào)告水準(zhǔn)。
工程教育認(rèn)證明確指出,課程設(shè)計(jì)是學(xué)生獲得實(shí)踐技能的途徑之一,可以培養(yǎng)學(xué)生的獨(dú)立思考能力、講述交流能力、規(guī)范文檔的撰寫能力,提高學(xué)生的積極性、創(chuàng)造性與團(tuán)隊(duì)協(xié)作精神。課程設(shè)計(jì)覆蓋了工程標(biāo)準(zhǔn)中5項(xiàng)學(xué)生畢業(yè)要求,只有切實(shí)做好了,才能取得實(shí)效。
[1]劉永彬, 歐陽純萍, 陽小華, 等. 基于工程教育認(rèn)證的應(yīng)用型軟件人才培養(yǎng)模式探索[J]. 高教學(xué)刊, 2016(15): 62-64.
[2]中國工程教育認(rèn)證協(xié)會秘書處. 工程教育認(rèn)證工作指南(2016版)[EB/OL]. [2017-07-13]. https://tmpg.fjut.edu.cn/e5/1e/c4513a58654/page.htm.
[3]陳佑清. 論活動與發(fā)展之間的相關(guān)對應(yīng)性[J]. 教育研究, 2005(2): 77-82.
[4]周雙娥, 胡方家. IT 專業(yè)課程設(shè)計(jì)質(zhì)量存在問題及解決方案[J]. 計(jì)算機(jī)教育, 2014(7): 99-102.
[5]張震宇, 鄭玉珍,王子輝. 以專業(yè)認(rèn)證為導(dǎo)向的課程教學(xué)模式改革[J]. 浙江科技學(xué)院學(xué)報(bào), 2016, 28(3): 244-249.
[6]朱潔, 王江平, 仝茂海. 計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)的項(xiàng)目驅(qū)動式教學(xué)改革[J]. 計(jì)算機(jī)教育,2013(17): 91-94.
[7]陳潔, 趙姝, 劉曉曼, 等. 計(jì)算機(jī)組成與體系結(jié)構(gòu)課程設(shè)計(jì)的啟發(fā)式教學(xué)[J]. 計(jì)算機(jī)教育, 2015(13): 19-22.
[8]林耀進(jìn), 林夢雷. 軟件工程專業(yè)串聯(lián)式課程設(shè)計(jì)探索與實(shí)踐[J]. 南陽師范學(xué)院學(xué)報(bào), 2015, 14(6): 73-75.