徐勝舟,杜小坤
(中南民族大學計算機科學學院,武漢 430074)
工程教育專業認證對構建我國工程教育的質量監控體系,推進我國工程教育改革,提高工程教育質量具有重要意義。自2016年我國加入華盛頓協議之后,全國各高校都在大力推動本科工程教育改革,積極參與工程教育認證[1]。工程教育認證目前已成為我國高等教育質量保障體系的重要組成部分[2]。以學生為中心(Student Centering,SC)、成果導向/目標導向(Outcomes-based Education,OBE)和持續改進(Continuous Quality Improvement,CQI)是工程教育認證的三大核心理念。以學生為中心要求教學設計聚焦學生的能力培養;以產出為導向要求教學評價的焦點是對學生學習效果即課程目標達成度的評價;持續改進則建立在課程目標達成度評價的基礎之上,是對目標達成的過程中存在的薄弱環節進行的動態調整和改進。可以看出,課程目標達成度評價是工程教育認證的核心任務之一[3-4]。在2021版的工程教育認證申請書中,面向產出的課程目標達成情況評價機制被列為核心內容和重點觀察指標。本文以計算機科學與技術專業的《Java EE程序設計》這門實踐性強的專業課為例,探討如何建立基于工程教育認證的課程目標達成度評價體系。
《Java EE程序設計》是計算機類本科專業的一門重要專業課,其特點是內容實用性強,知識點與實踐聯系緊密[5]。《Java EE程序設計》的主要教學方式為理論教學與實踐教學相結合。教師在理論課堂上講解企業應用開發的基礎編程技術,主要包括Servlet、JSP、JavaBean、JDBC和MVC、SSM框架等。這些理論知識對于本科生理解起來沒有問題,但在實踐教學中,學生往往難以將所學理論知識用于解決實際問題,即應用能力需進一步提升。總結起來,《Java EE程序設計》的傳統教學過程中主要存在以下兩方面的問題。
(1)以教師為中心,以內容為驅動。教學目標強調的是理論知識的掌握,而非學生能力的培養。相對應的,教學過程以教師介紹相關知識點為主,采取填鴨式的理論講授,學生被動接受知識,而缺乏動手能力的鍛煉。
(2)課程質量評價方式較為單一,一般以期終考試為主,而過程考核和能力考核則未能得到足夠重視。期終試卷的知識點不能全面考核學生的能力。
針對以上問題,結合工程教育認證的以學生為中心、產出導向和持續改進的三大理念,對《Java EE程序設計》課程進行教學改革。在教學方法上,堅持理論與實踐相結合的原則,從實用的角度出發,在教學過程中把運用理論知識進行實踐開發放在核心地位,深化學生對書本理論知識的認識和理解,提高實際應用能力,讓實踐教學貫穿整個教學過程。理論課堂采用啟發式教學,講授基本概念和理論;實踐教學圍繞本課程的重點內容和知識點,結合行業熱門方向,構造綜合性的實驗題目。學生通過小組討論、分工實踐、團隊協作的方式進行探究和實踐。在實踐過程中,鼓勵學生針對需要解決的實際問題提出自己的解決方案,從而鍛煉學生分析、解決問題的能力。
在教學目標上充分體現課程的基礎性和實踐性,強化學生實踐能力、自學能力和實際工作能力的培養。具體地,通過該課程的學習,學生能理解Java EE的編程基本思想和工作原理,掌握企業應用開發的基礎技術的工作原理,能運用這些技術進行Web應用開發。學生掌握分布式應用開發的基本流程,提升分布式系統的分析與設計能力。課程教學目標修訂情況如下:
課程目標1:學生理解Java EE的基本概念、編程思想、技術框架等;掌握Servlet、JSP、JavaBean、JDBC和MVC、SSM框架等的工作原理和使用方法;
課程目標2:能選擇與使用恰當的技術、軟硬件及系統資源搭建Java EE開發環境;具有運用Servlet、JSP、JavaBean、JDBC和MVC、SSM框架等進行分布式系統開發的能力;
課程目標3:能夠在團隊中做好自己所承擔的個體、團隊成員以及負責人等各種角色。
以上課程目標與計算機科學與技術專業的畢業要求對應關系如表1所示。

表1 教學目標與畢業要求的對應矩陣

續上表
工程教育認證理念落實的關鍵之一是面向產出的課程目標達成情況評價[6],并以此反饋和調節各教學環節,實現持續改進。與傳統的以教師為中心的課程評價不同,工程教育認證以學生為中心,課程目標聚焦學生的學習效果和能力的提升,體現了產出導向。對于《Java EE程序設計》這種實踐性強的課程,學習效果和能力提升的評價標準不應局限于期終考試,但考慮到現有的教學環境下,期終考試仍然是衡量學生學習效果的主要手段。因此,本課程采用多元化的評價標準來評價課程目標達成度。具體的評價標準包含過程考核和期終考試。課程的過程考核又包括考勤及課堂表現、作業、課內實驗。課程考核總評成績以百分計,滿分100分,考核細則如表2所示。

表2 課程成績的組成及比例

續上表
在明確了課程目標與考核方式之間的對應關系之后,為了能夠具體量化課程目標達成度并進行分析,我們還需要進一步細化各種考核方式對課程的各個目標的對應關系。根據《Java EE程序設計》的具體教學過程,我們確定的課程目標對應的考核方式及各考核方式成績所占比例如表3所示。課堂表現主要檢查學生對知識點的理解和掌握情況,期終考試卷面中也有一部分知識點考查題型,它們共同考核以知識掌握為主的目標1;由于該課程的平時作業均為小型綜合編程開發題目,期終考試中也有相當一部分題型是與程序開發相關的,它們共同考核以應用開發能力為主的目標2;課程實驗為綜合性的應用開發,需要多人協作完成,主要考核以團隊協作為主的目標3。

表3 課程目標達成考核方式及成績評定對照
在明確和細化課程目標達成考核方式之后,課程的目標達成度可按如下公式進行計算:

其中考核環節權重為表4中各考核環節對應的比例值。最后,課程目標達成度=min{各課程目標i達成度}。

表4 課程目標與考核方式關系
取2018級計算機科學與技術專業參加考試的90位學生為樣本,課程目標達成情況如圖1所示,達成值都高于0.7,整體而言學生的課程學習效果達到教學目標。這主要得益于以下三點:一是充分利用線上優質教學資源,本課程已經在超星學習通建課多年,課程大綱、課件、習題、實驗資源讓學生能夠在課堂學習之余,據自身情況選擇資源利用課余時間進行學習和鞏固。二是課堂增加了課前預習和回顧的環節,在每次講授新課之前回顧上一次課程的重點內容,并指出本次課程的學習目標、重點和難點,課后根據學習目標布置相應的作業,引導學生自主學習,讓學生學習目的性更強、積極性更高。三是加強實驗環節,將課堂理論知識應用于學生的系統開發實踐中,并著重培養學生的團隊協作能力,督促學生進行團隊開發,在一定程度上提升了學生的編程能力和團隊協作能力。


圖1 課程目標達成情況 圖2 課程目標1達成分布情況


圖3 課程目標2達成分布情況 圖4 課程目標3達成分布情況
全體學生在課程目標1、2和3上的達成值分別為0.826、0.756和0.832,說明學生能夠較好掌握Java EE基礎知識和基本方法,能夠利用相關技術解決實際應用問題,并且具備較好的溝通交流和團隊協作能力。課程目標2達成值較低的原因是期終考試加大了對學生編程能力的考核,該環節包括程序填空、程序閱讀和編程題,共計58分,學生平均得分較低,得分率為0.63,明顯低于平時的開放性編程作業題的得分率0.88,說明學生在編程環節仍然不夠熟練(本學期受疫情防控影響,學期后半段的學習和復習時間被大幅壓縮,學習壓力倍增是其重要原因之一),在缺少網絡資源和參考資料的情況下進行程序開發仍存在一定困難,需要在今后的教學過程中通過進一步督促和加強學生實際動手能力的培養。
就個體而言,所有學生在課程目標1和3的達成度均高于0.6,但有9位同學在課程目標2的達成度低于0.6。分析學生各項得分后發現,主要原因有兩個:一是部分學生的平時編程作業沒有提交或者只是簡單應付提交,實驗分組則依賴小組其他能力強的同學,導致其程序開發能力較弱,平時成績得分較低;二是期終考試有58分的題目與程序開發相關,平時沒有認真完成作業和實驗的學生,對這類題目,答題效果不好。
綜上所述,本課程目前主要存在兩方面的問題:一是過程監督還不夠,雖然已經通過課堂、QQ班級群和學習通提醒等方式來督促學生完成編程練習和實驗,但是小部分學生依然沒有意識到其重要性。二是平時課堂教學中班級學生人數太多(90人),批改程序開發題的工作量很大,因而對極少部分動手能力弱、不能及時按要求完成作業的學生關注度不夠,在今后的教學過程中應該適當控制班級人數,多關注動手能力弱的學生。
本文以專業課《Java EE程序設計》為樣本,設計了一種基于工程教育認證理念的課程目標達成度評價方法。在教學大綱的設計上體現以學生為中心、以產出為導向的課程目標;根據大綱中設計的課程目標與考核方式的對應關系,采集合理的考核評價數據,通過計算來客觀評價每個學生及整個班級的課程目標達成情況;對課程目標達成度進行深入分析,并以此反饋和調節各教學環節,實現持續改進。
本文存在的不足之處在于:課程目標達成度評價過程中,應該采用具體的知識或能力考核點與課程目標建立對應關系,而這些考核點在期終考試中不一定對應為某一些大題或者某些題型。在后續的教學過程中,將逐步細化和完善。