王倩 王龍葛 楚廣琳
摘要:根據(jù)軟件工程專(zhuān)業(yè)本科高級(jí)網(wǎng)絡(luò)軟件編程課程的教學(xué)實(shí)際,針對(duì)課程的重結(jié)果輕過(guò)程的教學(xué)及考核的問(wèn)題,本文基于工程認(rèn)證“以學(xué)生為中心,以產(chǎn)出為導(dǎo)向”的評(píng)價(jià)體系,結(jié)合軟件工程專(zhuān)業(yè)畢業(yè)要求指標(biāo)點(diǎn),從教學(xué)大綱入手,改變教學(xué)方式和考核方式,將考核貫穿于教學(xué)過(guò)程中,形成以產(chǎn)出為導(dǎo)向的過(guò)程性評(píng)價(jià)體系,并介紹了課程改革的方式和探索。
關(guān)鍵詞:工程認(rèn)證;高級(jí)網(wǎng)絡(luò)軟件編程;軟件工程;畢業(yè)要求指標(biāo)點(diǎn);課程改革
中圖分類(lèi)號(hào):C642
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)36-0149-03
1概述
工程教育是我國(guó)高等教育體系的重要組成部分。各個(gè)高校的工科畢業(yè)生在國(guó)家工業(yè)化信息化進(jìn)程中發(fā)揮了重要的作用。工程教育專(zhuān)業(yè)認(rèn)證[1]是中國(guó)高等教育近年積極開(kāi)展的與國(guó)際工程教育資格互認(rèn)的專(zhuān)業(yè)認(rèn)證。工程教育專(zhuān)業(yè)認(rèn)證始于1989年的《華盛頓協(xié)議》,是基于OBE(outcome-based education)[2]的認(rèn)證標(biāo)準(zhǔn),也就是以產(chǎn)出為導(dǎo)向的評(píng)價(jià)體系。2016年我國(guó)正式加入《華盛頓協(xié)議》,迄今為止已有許多專(zhuān)業(yè)和高校進(jìn)行了工程認(rèn)證。河南大學(xué)近年積極提倡工科專(zhuān)業(yè)進(jìn)行工程教育認(rèn)證并已有多個(gè)專(zhuān)業(yè)通過(guò)了認(rèn)證。軟件工程專(zhuān)業(yè)作為計(jì)算機(jī)類(lèi)的工程型專(zhuān)業(yè),為通過(guò)工程教育認(rèn)證進(jìn)行了各種教學(xué)改革。依據(jù)專(zhuān)業(yè)定位和專(zhuān)業(yè)社會(huì)發(fā)展情況,軟件工程專(zhuān)業(yè)工程教育認(rèn)證是基于“以學(xué)生為中心[3],以產(chǎn)出為導(dǎo)向[4]”的評(píng)價(jià)體系的。
高級(jí)網(wǎng)絡(luò)軟件編程作為軟件工程專(zhuān)業(yè)的一門(mén)專(zhuān)業(yè)選修課,是使用編程語(yǔ)言進(jìn)行Socket網(wǎng)絡(luò)[5]發(fā)的工程應(yīng)用型課程,綜合應(yīng)用了程序設(shè)計(jì)語(yǔ)言、操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)和軟件工程等多門(mén)課程的內(nèi)容。作為一門(mén)工程型課程,課程要求學(xué)生最終具有良好的工程設(shè)計(jì)和實(shí)現(xiàn)能力。課程的教學(xué)目標(biāo)是使學(xué)生能夠養(yǎng)成提出問(wèn)題、分析問(wèn)題和解決問(wèn)題的能力,培養(yǎng)學(xué)生的團(tuán)隊(duì)協(xié)作能力和認(rèn)真負(fù)責(zé)的工作態(tài)度,使學(xué)生能夠掌握遵循軟件工程開(kāi)發(fā)流程的基于Socket的網(wǎng)絡(luò)應(yīng)用程序開(kāi)發(fā)所需要的知識(shí)。
2課程教學(xué)和評(píng)價(jià)過(guò)程中存在的問(wèn)題
以往的高級(jí)網(wǎng)絡(luò)軟件編程的教學(xué)和考核過(guò)程中存在以下問(wèn)題:
1)課堂教學(xué)以教師灌輸,學(xué)生被動(dòng)接受的方式為主,學(xué)生對(duì)教學(xué)內(nèi)容的掌握程度,并不能及時(shí)反饋給任課教師,學(xué)生對(duì)課堂的參與度也較低,課堂重點(diǎn)在教師身上,不符合工程教育“以學(xué)生為中心”的教學(xué)理念。
2)學(xué)生做完實(shí)驗(yàn)作業(yè)后,提交給教師,教師無(wú)法針對(duì)每一個(gè)同學(xué)的具體問(wèn)題進(jìn)行反饋,只能通過(guò)共性問(wèn)題的總結(jié)講解,對(duì)于理解能力差的學(xué)生來(lái)講,問(wèn)題無(wú)法解決,積累起來(lái)就形成了厭學(xué)情緒,不能是每個(gè)學(xué)生都完成該課程的培養(yǎng)目標(biāo)。
3)考核方式采用考勤、作業(yè)和期末考試結(jié)合的方式??记诓⒉荒荏w現(xiàn)學(xué)生在工程教育中的產(chǎn)出,坐在課堂上但是什么都沒(méi)學(xué)的情況并不少見(jiàn)。高級(jí)網(wǎng)絡(luò)軟件編程課程是工程性比較強(qiáng)的學(xué)科,平時(shí)的作業(yè)一般都是針對(duì)某一個(gè)具體的知識(shí)點(diǎn)提出的簡(jiǎn)單練習(xí),并不能很好的體現(xiàn)工程教育的特點(diǎn),也不能提高學(xué)生的工程意識(shí)。期末考試雖然可以考查學(xué)生在這個(gè)學(xué)期內(nèi)所學(xué)的大部分知識(shí)是否掌握,但是對(duì)于這種工程性較強(qiáng)的課程,在兩個(gè)小時(shí)的考試中并不能全面的考查學(xué)生的工程能力。
3課程改革
結(jié)合工程認(rèn)證的背景,遵循“以學(xué)生為中心,以產(chǎn)出為導(dǎo)向”的思想,根據(jù)軟件工程專(zhuān)業(yè)認(rèn)證提出的畢業(yè)要求指標(biāo)點(diǎn)[6],高級(jí)網(wǎng)絡(luò)軟件編程課程改革從三個(gè)方面進(jìn)行:課程大綱,教學(xué)方式和考核方式。
3.1課程大綱改革
高級(jí)網(wǎng)絡(luò)軟件編程課程對(duì)軟件工程專(zhuān)業(yè)的以下5個(gè)畢業(yè)要求指標(biāo)點(diǎn)有支撐作用:能夠?qū)?zhuān)業(yè)知識(shí)用于軟件工程開(kāi)發(fā)的設(shè)計(jì)和實(shí)現(xiàn)中;能夠借助文獻(xiàn)查閱和軟件工程基本原理,解決復(fù)雜軟件工程問(wèn)題;能夠分析實(shí)際問(wèn)題,選擇適當(dāng)?shù)拈_(kāi)發(fā)工具和基礎(chǔ)模型,進(jìn)行軟件設(shè)計(jì)與開(kāi)發(fā);能夠在軟件工程開(kāi)發(fā)的團(tuán)隊(duì)中承擔(dān)個(gè)體、團(tuán)隊(duì)成員及負(fù)責(zé)人的角色,并進(jìn)行有效的溝通,提高團(tuán)隊(duì)協(xié)作能力;了解計(jì)算機(jī)學(xué)科發(fā)展趨勢(shì),具有自主學(xué)習(xí)和終身學(xué)習(xí)的意識(shí),適應(yīng)發(fā)展迅速的計(jì)算機(jī)學(xué)科。
教學(xué)大綱基于以上五點(diǎn)目標(biāo)進(jìn)行修改,教學(xué)內(nèi)容由知識(shí)點(diǎn)的學(xué)習(xí)改為以產(chǎn)出為導(dǎo)向的目標(biāo),將基本的學(xué)習(xí)內(nèi)容沒(méi)計(jì)為以分析和設(shè)計(jì)為主的引導(dǎo)型學(xué)習(xí)過(guò)程。以TCP基礎(chǔ)編程為例,教學(xué)基本要求為掌握Socket編程基本流程,掌握基礎(chǔ)SocketAPI的使用,掌握C/S模式編程的軟件工程設(shè)計(jì)思路和實(shí)現(xiàn);教學(xué)內(nèi)容為:套接字基礎(chǔ)知識(shí)學(xué)習(xí)與分析,c/S模式程序設(shè)計(jì)與分析,SocketAPI學(xué)習(xí)與分析,簡(jiǎn)單TCP通訊[7]C/S程序設(shè)計(jì)與實(shí)現(xiàn)。實(shí)現(xiàn):客戶(hù)端/服務(wù)器模式猜數(shù)字游戲的設(shè)計(jì)與實(shí)現(xiàn)。
3.2教學(xué)方式改革
根據(jù)工程教育認(rèn)證的要求,教學(xué)方式的改革將整個(gè)教學(xué)環(huán)節(jié)進(jìn)行細(xì)化,引入綜合性學(xué)習(xí)平臺(tái)、作業(yè)在線(xiàn)判定系統(tǒng)和分組課程設(shè)計(jì)等,同時(shí)將學(xué)生反饋和課程考核貫穿其中。
1)綜合性學(xué)習(xí)平臺(tái)
利用綜合性學(xué)習(xí)平臺(tái),結(jié)合翻轉(zhuǎn)課堂,網(wǎng)絡(luò)課堂等新的教學(xué)手段,在上課一周以前將教學(xué)內(nèi)容、課件等教學(xué)資料全部給學(xué)生,要求學(xué)生提前預(yù)習(xí),并提出問(wèn)題,并在線(xiàn)反饋給任課教師,由原來(lái)的學(xué)生白由預(yù)習(xí)轉(zhuǎn)為強(qiáng)制預(yù)習(xí),提高學(xué)生的自學(xué)能力。同時(shí),老師提前收到反饋,可以針對(duì)學(xué)生提出的問(wèn)題有針對(duì)性地進(jìn)行講解,做到學(xué)生帶著問(wèn)題聽(tīng),老師跟著重點(diǎn)講的效果,使課堂教學(xué)的主體由教師變?yōu)閷W(xué)生。綜合性平臺(tái)也會(huì)記錄下學(xué)生在平臺(tái)上的各種操作,作為課程考核的參考。
2)課堂教學(xué)
課堂教學(xué)環(huán)節(jié)分為教師引導(dǎo)式分析、學(xué)生討論、學(xué)生設(shè)計(jì)和師生共同實(shí)現(xiàn)的過(guò)程。在這個(gè)過(guò)程中,學(xué)生需要綜合運(yùn)用自己已知的知識(shí),并結(jié)合最新學(xué)習(xí)的知識(shí)點(diǎn),結(jié)合軟件工程的思維進(jìn)行綜合的分析和設(shè)計(jì),并在共同實(shí)現(xiàn)的過(guò)程中,強(qiáng)化了知識(shí)點(diǎn)。教師也在這個(gè)過(guò)程中得到了部分學(xué)生的反饋,可以在講解過(guò)程中再次對(duì)學(xué)生模糊的地方進(jìn)行強(qiáng)化。仍以TCP基礎(chǔ)編程為例,教師首先將TCP通信的基本原理給學(xué)生進(jìn)行講解,然后提出建立一個(gè)最基礎(chǔ)的TCP通信模型一回聲服務(wù):教師引導(dǎo)學(xué)生首先根據(jù)TCP通信的步驟分析服務(wù)器和客戶(hù)端分別要做的工作,并為了完成回聲服務(wù)建立協(xié)議模型,然后由學(xué)生討論和設(shè)計(jì)服務(wù)器和客戶(hù)端的具體連接步驟和通信步驟,最后借助編程語(yǔ)言對(duì)該程序的服務(wù)器和客戶(hù)端分別進(jìn)行實(shí)現(xiàn),在這個(gè)過(guò)程中,教師可以讓學(xué)生來(lái)找茬,看程序有什么問(wèn)題,并對(duì)其進(jìn)行簡(jiǎn)單改進(jìn),提高程序的健壯性。對(duì)于中間學(xué)生不清楚的地方,可以進(jìn)行強(qiáng)化講解。
3)作業(yè)在線(xiàn)判定系統(tǒng)
作業(yè)在線(xiàn)判定系統(tǒng)[8]可以根據(jù)學(xué)生提交的作業(yè)和運(yùn)行結(jié)果和預(yù)置答案進(jìn)行匹配判定,并迅速將結(jié)果反饋給學(xué)生,學(xué)生可以迅速得到自己的作業(yè)的反饋。預(yù)置作業(yè)和答案的時(shí)候,將實(shí)驗(yàn)內(nèi)容進(jìn)行按步分解,學(xué)生可以按照提示分步提交,系統(tǒng)對(duì)每一部分的結(jié)果進(jìn)行實(shí)時(shí)判定,使學(xué)生在實(shí)驗(yàn)過(guò)程中,能夠迅速查漏補(bǔ)缺,對(duì)各個(gè)知識(shí)點(diǎn)分別進(jìn)行練習(xí),不明白不理解的地方可以借助系統(tǒng)中的幫助對(duì)知識(shí)點(diǎn)進(jìn)行再次學(xué)習(xí)和練習(xí)。教師可以最終通過(guò)判定系統(tǒng)的結(jié)果對(duì)學(xué)生學(xué)習(xí)的程度和進(jìn)度進(jìn)行掌握,并調(diào)整課程的進(jìn)度和內(nèi)容。同時(shí),在這個(gè)過(guò)程中,系統(tǒng)也會(huì)引導(dǎo)學(xué)生思考作業(yè)中更深入的問(wèn)題并設(shè)計(jì)解決方案,進(jìn)一步提高學(xué)生的提出問(wèn)題,分析問(wèn)題和解決問(wèn)題的能力。
4)分組課程設(shè)計(jì)
為了進(jìn)一步提高學(xué)生的軟件工程開(kāi)發(fā)能力和團(tuán)隊(duì)意識(shí),教學(xué)過(guò)程中引入分組課程設(shè)計(jì)模塊。該設(shè)計(jì)要求學(xué)生分組完成,3人一組,在整個(gè)學(xué)期里完成選題、分析、設(shè)計(jì)和實(shí)現(xiàn)。通過(guò)課程設(shè)計(jì)可以使學(xué)生加深理解所學(xué)的高級(jí)網(wǎng)絡(luò)軟件編程知識(shí),并使用工程化的思路,培養(yǎng)學(xué)生團(tuán)隊(duì)合作解決復(fù)雜工程問(wèn)題的能力。根據(jù)學(xué)生的自身經(jīng)歷和興趣,課程設(shè)計(jì)的題目給出了一些示例,學(xué)生可以選擇老師給定的題目也可以自己設(shè)計(jì)相應(yīng)難度的題目。課程設(shè)計(jì)的題目分為三類(lèi):學(xué)習(xí)應(yīng)用類(lèi)、生活應(yīng)用類(lèi)和游戲類(lèi)。部分題目如表1所示。
選題之后,各小組按照分工進(jìn)行分析、設(shè)計(jì)和實(shí)現(xiàn)。期末提交時(shí),除項(xiàng)目源碼之外,還需要提交完整的分析和沒(méi)計(jì)文檔,以及程序說(shuō)明書(shū),并在班級(jí)內(nèi)對(duì)教師和同學(xué)進(jìn)行展示匯報(bào)。
3.3考核方式改革
按照工程認(rèn)證的要求,將考核方式設(shè)置為以產(chǎn)出為導(dǎo)向的綜合性教學(xué)評(píng)價(jià)體系??己梭w現(xiàn)在教學(xué)的各個(gè)環(huán)節(jié)中,通過(guò)對(duì)學(xué)生的預(yù)習(xí)情況,自發(fā)提問(wèn),作業(yè),課程設(shè)計(jì)和期末考試多個(gè)方面的評(píng)價(jià),形成一套綜合性的評(píng)價(jià)方式。預(yù)習(xí)占15%,自發(fā)提問(wèn)占5%,作業(yè)占20%,課程設(shè)計(jì)占20%,期末考試占40%。預(yù)習(xí),自發(fā)提問(wèn)和作業(yè)三部分的成績(jī)由綜合性學(xué)習(xí)平臺(tái)和作業(yè)在線(xiàn)判定系統(tǒng)根據(jù)學(xué)生學(xué)習(xí)情況自動(dòng)生成,課程設(shè)計(jì)由學(xué)生團(tuán)隊(duì)在期末進(jìn)行演示匯報(bào),教師根據(jù)團(tuán)隊(duì)分工、分析報(bào)告、設(shè)計(jì)復(fù)雜度以及實(shí)現(xiàn)結(jié)果對(duì)每一位學(xué)生進(jìn)行打分。課程設(shè)計(jì)的評(píng)分細(xì)則如表2所示。
期末考試基本概念和理論占30%,使用客觀(guān)題,簡(jiǎn)答和程序題占70%,使用主觀(guān)題??陀^(guān)題主要考查學(xué)生基礎(chǔ)知識(shí)點(diǎn)的掌握,主觀(guān)題用來(lái)考察學(xué)生的工程性思維能力和實(shí)現(xiàn)能力。主觀(guān)題主要引導(dǎo)學(xué)生對(duì)實(shí)際問(wèn)題提出解決方案并實(shí)現(xiàn),并不拘泥于一種技術(shù)和實(shí)現(xiàn)方式,使用開(kāi)放性思維解決。
根據(jù)工程認(rèn)證的要求,表3列出了考核各個(gè)環(huán)節(jié)和畢業(yè)要求指標(biāo)點(diǎn)的對(duì)應(yīng)情況。
4結(jié)束語(yǔ)
根據(jù)工程教育專(zhuān)業(yè)認(rèn)證的要求,高級(jí)網(wǎng)絡(luò)軟件編程課程在進(jìn)行課程改革的過(guò)程中,對(duì)任課教師和學(xué)生都提出了更高的要求。學(xué)生由原來(lái)的被動(dòng)式學(xué)習(xí)改變?yōu)橹鲃?dòng)學(xué)習(xí),并且整個(gè)學(xué)習(xí)過(guò)程都有相應(yīng)的統(tǒng)計(jì)和考核要求,學(xué)生的學(xué)習(xí)習(xí)慣得到了改善,學(xué)習(xí)效果也大大提升。任課教師由原有的照本宣科變成了基于學(xué)生學(xué)習(xí)情況為導(dǎo)向的課堂組織方式,對(duì)教師的基礎(chǔ)業(yè)務(wù)能力也有了更高的要求,需要對(duì)整個(gè)課程體系中涉及的各種知識(shí)都有更深的理解。從近兩年的考核情況中來(lái)看,課程改革后,教師的能力和學(xué)生對(duì)知識(shí)的理解和掌握程度都有了明顯的提升。當(dāng)然,課程改革中也發(fā)現(xiàn)了一些新的問(wèn)題。課程改革中引入的各種現(xiàn)代化手段雖然能夠更好地量化指標(biāo),但是也失去了一些靈活性。比如目前的作業(yè)在線(xiàn)判定系統(tǒng),為了做到快速的反饋和評(píng)判,必須將作業(yè)分割為非常詳細(xì)的要求,程序就只能干篇一律了,這樣對(duì)于防止學(xué)生作弊就沒(méi)有效果,所以對(duì)于作業(yè)在線(xiàn)判定的這種方式,以后還需要更加智能化的改進(jìn),以使其考核結(jié)果更加合理。
參考文獻(xiàn):
[1]吳藍(lán)迪,張煒.國(guó)際工程聯(lián)盟(lEA)工程人才質(zhì)量標(biāo)準(zhǔn)比較及其經(jīng)驗(yàn)啟示[J].高等工程教育研究,2018(2):111-118.
[2]陸鑫.OBE 工程教育模式下課程教學(xué)設(shè)計(jì)研究[J]計(jì)算機(jī)教育,2017(10):135-139.
[3]劉倫斌,孫可娜.高等教育“以學(xué)生為中心”的有效課堂教學(xué)[J].教育與職業(yè),2014(32):157-158.
[4]謝海燕.基于成果導(dǎo)向教育的人才培養(yǎng)方案設(shè)計(jì)研究——以獨(dú)立學(xué)院為例[J].科技創(chuàng)業(yè)月刊,2015 (11):81-82.
[5]許文勇.基于Socket的網(wǎng)絡(luò)編程技術(shù)及其實(shí)現(xiàn)[J].無(wú)線(xiàn)互聯(lián)科技,2014(5):17-18.
[6]盧玲,劉恒洋,陳媛,等.面向工程教育認(rèn)證的計(jì)算機(jī)專(zhuān)業(yè)課程評(píng)價(jià)方法改革與實(shí)踐[J].計(jì)算機(jī)教育,2019(7):54-57.
[7]金偉.Java Socket實(shí)現(xiàn)c/s網(wǎng)絡(luò)通信[J].科教文匯,2008(5):189-190.
[8]苑文會(huì),彭四偉.源代碼在線(xiàn)評(píng)測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與數(shù)字工程,2006(9):130-132.
【通聯(lián)編輯:王力】
作者簡(jiǎn)介:王倩(1984-),女,河南唐河人,講師,碩士,主要研究方向?yàn)榫W(wǎng)絡(luò)安全,人工智能;王龍葛(1983-),女,河南南陽(yáng)人,講師,碩士,主要研究方向?yàn)樾畔踩?楚廣琳(1983-),女,河南洛陽(yáng)人,講師,碩士,主要研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò),軟件工程。