王倩 王龍葛 楚廣琳



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