歐陽(yáng)宏基,葛 萌,宋笑雪
(咸陽(yáng)師范學(xué)院 計(jì)算機(jī)學(xué)院,陜西 咸陽(yáng) 712000)
為了探索形成領(lǐng)跑全球工程教育的中國(guó)模式、中國(guó)經(jīng)驗(yàn),助力高等教育強(qiáng)國(guó)建設(shè),為新興產(chǎn)業(yè)和新經(jīng)濟(jì)的發(fā)展需要培養(yǎng)實(shí)踐能力強(qiáng)、創(chuàng)新能力強(qiáng)、具備國(guó)際競(jìng)爭(zhēng)力的高素質(zhì)復(fù)合型新工科人才[1-2],近年來(lái)教育部積極推進(jìn)新工科建設(shè),先后形成了“復(fù)旦共識(shí)”“天大行動(dòng)”和“北京指南”,并發(fā)布了《關(guān)于開展新工科研究與實(shí)踐的通知》《關(guān)于推薦新工科研究與實(shí)踐項(xiàng)目的通知》《關(guān)于公布首批“新工科”研究與實(shí)踐項(xiàng)目的通知》《高等學(xué)校人工智能創(chuàng)新行動(dòng)計(jì)劃》等通知,并決定在高等學(xué)校建設(shè)一批未來(lái)技術(shù)學(xué)院。
在以大數(shù)據(jù)、物聯(lián)網(wǎng)、5G、區(qū)塊鏈、工業(yè)智能等新興技術(shù)助力傳統(tǒng)工業(yè)升級(jí)改造的過(guò)程中,需要依托軟件載體落地實(shí)現(xiàn),因此合格的軟件工程人才就顯得尤為重要。軟件工程本身就是傳統(tǒng)工科專業(yè),對(duì)于新工科的“新”體現(xiàn)在升級(jí)改造。在保留傳統(tǒng)軟件工程專業(yè)基礎(chǔ)知識(shí)的前提下,實(shí)現(xiàn)專業(yè)交叉融合,培養(yǎng)多元化、具備主動(dòng)應(yīng)變能力、解決復(fù)雜工程問(wèn)題能力和承擔(dān)社會(huì)責(zé)任的高質(zhì)量、復(fù)合型軟件人才。根據(jù)編程語(yǔ)言統(tǒng)計(jì)排行,近幾年Java 語(yǔ)言一直穩(wěn)居世界編程語(yǔ)言排行榜前三。據(jù)IDC 統(tǒng)計(jì),在所有軟件開發(fā)人才中,對(duì)Java 工程師的需求占總需求的50%以上[3]。
目前國(guó)內(nèi)一些學(xué)者針對(duì)“Java程序設(shè)計(jì)”開展了相關(guān)教改研究,李莉等人[4]按照新工科和金課標(biāo)準(zhǔn),從多學(xué)科知識(shí)背景結(jié)合信息技術(shù)前沿等角度,實(shí)現(xiàn)了一套細(xì)粒度、可擴(kuò)展的實(shí)踐教學(xué)案例庫(kù)。張維梅[5]采用對(duì)分課堂教學(xué)模式并融入課程思政內(nèi)容改革實(shí)踐教學(xué)模式,解決了現(xiàn)有Java 實(shí)踐教學(xué)中存在的內(nèi)容難度低、形式單一等問(wèn)題。袁亞麗等人[6]借助移動(dòng)教學(xué)平臺(tái)豐富的教學(xué)資源并結(jié)合翻轉(zhuǎn)課堂對(duì)課程內(nèi)容、教學(xué)模式和評(píng)價(jià)方式進(jìn)行了改革,提高了學(xué)生的學(xué)習(xí)興趣和實(shí)踐動(dòng)手能力。
本文在已有研究的基礎(chǔ)上,主動(dòng)適應(yīng)新工科的要求,以工程教育專業(yè)認(rèn)證(以下簡(jiǎn)稱“工程認(rèn)證”)和OBE(Outcomes-based Education,OBE)理念為核心,對(duì)當(dāng)前課程教學(xué)現(xiàn)狀進(jìn)行分析。針對(duì)存在的問(wèn)題從完善課程目標(biāo)、優(yōu)化課程內(nèi)容、改進(jìn)教學(xué)方法、實(shí)施過(guò)程性考核等方面探索教學(xué)改革,以期改變學(xué)生學(xué)習(xí)觀念,考慮學(xué)生個(gè)性化差異,分層次實(shí)施實(shí)踐教學(xué)內(nèi)容,促進(jìn)課程目標(biāo)達(dá)成,提高課程教學(xué)質(zhì)量,為學(xué)生將來(lái)在工程師崗位高質(zhì)量就業(yè)奠定良好基礎(chǔ)。
(1)課程目標(biāo)覆蓋面不全。傳統(tǒng)課程教學(xué)主要是圍繞知識(shí)、能力目標(biāo)的培養(yǎng)開展,缺乏對(duì)學(xué)生情感、態(tài)度等素質(zhì)目標(biāo)的培養(yǎng)以及相對(duì)應(yīng)的教學(xué)資源和手段。
(2)缺乏JDK新知識(shí)的引入。由于Java SE版本更新頻率快,在近三年內(nèi)從Java SE 14 更新到了Java SE 19,每一個(gè)新版本都會(huì)包含Java的一些新知識(shí)和新特性。目前課程教學(xué)還普遍使用Java SE 8 版本,對(duì)于不同新版本中的新內(nèi)容涉及較少或者沒有涉及。
(3)部分核心內(nèi)容課時(shí)偏少。JDBC 是Java SE的核心內(nèi)容,主要講授如何利用JDBC API對(duì)關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行操作,是后續(xù)“Web服務(wù)器程序設(shè)計(jì)”“Java EE應(yīng)用開發(fā)”課程內(nèi)容的必要支撐。這部分內(nèi)容需要結(jié)合數(shù)據(jù)庫(kù)原理課程相關(guān)知識(shí),綜合性較高,有一定的難度。現(xiàn)有教學(xué)計(jì)劃中只安排了6 課時(shí)理論+4課時(shí)實(shí)驗(yàn)[7],導(dǎo)致數(shù)據(jù)庫(kù)連接池、冗余代碼提取與抽象、結(jié)果集元數(shù)據(jù)等部分內(nèi)容沒有涉及。
(4)考核方式落后。目前課程的考核采用平時(shí)成績(jī)+期末考試成績(jī)的方式進(jìn)行,期末考試成績(jī)占比為80%。該方式偏重對(duì)基礎(chǔ)理論掌握程度的考察,而無(wú)法實(shí)現(xiàn)對(duì)學(xué)習(xí)過(guò)程中學(xué)生實(shí)際動(dòng)手能力、計(jì)算思維能力、創(chuàng)新能力的考察。因此不能真實(shí)反映學(xué)生的學(xué)習(xí)效果,容易造成學(xué)生疑難問(wèn)題積累傳遞、考前突擊復(fù)習(xí)、死記硬背現(xiàn)象的發(fā)生。
“Java程序設(shè)計(jì)”是軟件工程專業(yè)的一門重要程序設(shè)計(jì)類基礎(chǔ)課,與“數(shù)據(jù)結(jié)構(gòu)”“Web 服務(wù)器端開發(fā)”“軟件設(shè)計(jì)與體系結(jié)構(gòu)”“Java EE應(yīng)用開發(fā)”等課程密切相關(guān),具有很強(qiáng)的實(shí)踐性。根據(jù)新工科的要求,結(jié)合Java SE發(fā)展現(xiàn)狀以及企業(yè)崗位技術(shù)需求,在OBE理念指導(dǎo)下,對(duì)“Java程序設(shè)計(jì)”課程教學(xué)進(jìn)行改革和實(shí)踐。
工程認(rèn)證要求課程目標(biāo)要對(duì)畢業(yè)要求和專業(yè)培養(yǎng)目標(biāo)形成有效支撐,在修訂教學(xué)大綱時(shí)重新制定了課程目標(biāo),通過(guò)3維目標(biāo)(知識(shí)目標(biāo)、能力目標(biāo)和素質(zhì)目標(biāo))實(shí)現(xiàn)對(duì)知識(shí)、技能、情感、態(tài)度等方面全覆蓋。(1)知識(shí)目標(biāo):能夠正確應(yīng)用面向?qū)ο笤硗瓿深惖亩x與對(duì)象的使用;能夠區(qū)分抽象類與接口;能夠正確使用流對(duì)象完成數(shù)據(jù)的讀入與寫出操作,使用JDBC API完成對(duì)關(guān)系型數(shù)據(jù)庫(kù)的操作;能夠區(qū)分List、Set和Map等集合并正確使用它們的子類;能夠利用反射、泛型、多線程機(jī)制完成相關(guān)程序的編寫。(2)能力目標(biāo):能夠下載、安裝JDK并配置環(huán)境變量;掌握流行的Java集成開發(fā)環(huán)境以及第三方輔助工具的使用;正確使用Java語(yǔ)法和斷點(diǎn)調(diào)試方法,辨析錯(cuò)誤產(chǎn)生的原因并對(duì)程序進(jìn)行修正;能夠獨(dú)立編寫具備異常處理功能的Java 程序。(3)素質(zhì)目標(biāo):具備良好的Java程序書寫風(fēng)格,能以嚴(yán)謹(jǐn)思維、負(fù)責(zé)態(tài)度正確閱讀、理解、修改程序代碼;通過(guò)獨(dú)立自主學(xué)習(xí),獲取新的知識(shí)和技能;具備創(chuàng)新思維,尋求發(fā)現(xiàn)問(wèn)題、解決問(wèn)題的途徑;能夠在工作中發(fā)揮團(tuán)隊(duì)合作、敬業(yè)樂(lè)業(yè)精神和誠(chéng)實(shí)守信品格,按時(shí)保質(zhì)保量完成工作任務(wù)。
制定上述課程目標(biāo)的依據(jù)是根據(jù)《工程教育認(rèn)證通用標(biāo)準(zhǔn)解讀及使用指南》中的“工程知識(shí)”“問(wèn)題分析”“設(shè)計(jì)/開發(fā)解決方案”和“使用現(xiàn)代工具”4 條畢業(yè)要求對(duì)應(yīng)專業(yè)培養(yǎng)目標(biāo),課程目標(biāo)對(duì)應(yīng)不同畢業(yè)要求中的具體指標(biāo)點(diǎn)[8]。由于“Java 程序設(shè)計(jì)”是軟件工程專業(yè)中的一門核心基礎(chǔ)課,畢業(yè)要求對(duì)應(yīng)其中兩個(gè)專業(yè)培養(yǎng)目標(biāo),專業(yè)培養(yǎng)目標(biāo)1是:具有扎實(shí)的計(jì)算機(jī)系統(tǒng)和軟件工程領(lǐng)域理論基礎(chǔ)、豐富的軟件開發(fā)經(jīng)驗(yàn),能夠作為團(tuán)隊(duì)骨干成員組織或參與復(fù)雜軟件系統(tǒng)的研發(fā)工作,能勝任項(xiàng)目經(jīng)理、產(chǎn)品經(jīng)理、軟件工程師、測(cè)試工程師等崗位。專業(yè)培養(yǎng)目標(biāo)2是:具備良好的溝通、團(tuán)隊(duì)協(xié)作能力,能在工程技術(shù)問(wèn)題討論中清晰闡述自己的設(shè)計(jì)和解決方案。具備自主學(xué)習(xí)能力,能通過(guò)不同渠道自主學(xué)習(xí)軟件工程領(lǐng)域的新理論、新技術(shù)、新工具,適應(yīng)職業(yè)發(fā)展的需求。“工程知識(shí)”和“問(wèn)題分析”這兩個(gè)畢業(yè)要求對(duì)應(yīng)專業(yè)培養(yǎng)目標(biāo)1,“設(shè)計(jì)/開發(fā)解決方案”和“使用現(xiàn)代工具”這兩個(gè)畢業(yè)要求對(duì)應(yīng)專業(yè)培養(yǎng)目標(biāo)2。
在綜合考慮學(xué)生前驅(qū)課程學(xué)習(xí)內(nèi)容、Java 在服務(wù)器端應(yīng)用開發(fā)的優(yōu)勢(shì)以及總課時(shí)數(shù)約束的情況下,對(duì)課程內(nèi)容進(jìn)行了適當(dāng)?shù)恼{(diào)整,具體包括:(1)數(shù)組、常用類和GUI 程序設(shè)計(jì)等內(nèi)容不再列入教學(xué)計(jì)劃。(2)加大JDBC、IO 操作等重點(diǎn)章節(jié)的課時(shí),擴(kuò)充這些章節(jié)的內(nèi)容。(3)增加Java SE 9—Java SE 17 各版本中引入的部分新特性,劃分到對(duì)應(yīng)章節(jié)進(jìn)行學(xué)習(xí)。
將調(diào)整后的內(nèi)容按照基礎(chǔ)模塊、核心模塊、進(jìn)階模塊3個(gè)部分構(gòu)建知識(shí)體系。其中基礎(chǔ)模塊包括的章節(jié)內(nèi)容有:(1)Java 語(yǔ)言基礎(chǔ);(2)面向?qū)ο笤恚唬?)抽象類與接口。在這個(gè)模塊中引入JDK 的新特性:多版本兼容jar、Switch 增強(qiáng)語(yǔ)法、直接運(yùn)行源文件、var關(guān)鍵字、Record關(guān)鍵字、instanceof模式匹配和接口中使用私有方法。核心模塊包括:(1)異常處理機(jī)制;(2)IO 操作;(3)集合框架;(4)JDBC。在這個(gè)模塊中引入JDK 的新特性:NullPointerException 明確拋出位置、集合不可變實(shí)例工廠方法、集合轉(zhuǎn)對(duì)應(yīng)類型的數(shù)組。進(jìn)階模塊包括:(1)泛型機(jī)制;(2)反射機(jī)制;(3)多線程機(jī)制。在這個(gè)模塊中引入JDK的新特性:升級(jí)的操作符和嵌套類的訪問(wèn)控制規(guī)則。
基礎(chǔ)模塊重點(diǎn)讓學(xué)生理解和掌握面向?qū)ο笤?、Java 語(yǔ)法和關(guān)鍵字用法等內(nèi)容,能夠以O(shè)O 思維結(jié)合IDE工具編寫基本的Java程序。核心模塊重點(diǎn)讓學(xué)生綜合應(yīng)用異常、IO、JDBC和集合框架等內(nèi)容,編寫涉及文件操作、關(guān)系數(shù)據(jù)庫(kù)訪問(wèn)等綜合應(yīng)用程序。進(jìn)階部分為將來(lái)學(xué)習(xí)Java EE 框架技術(shù)和網(wǎng)絡(luò)編程技術(shù)奠定基礎(chǔ)。
超星學(xué)習(xí)通是一款面向移動(dòng)端的智能教學(xué)輔助軟件,為學(xué)生提供了學(xué)習(xí)資源、學(xué)習(xí)工具、學(xué)習(xí)社區(qū)等功能[9]。超星泛雅是一款針對(duì)電腦端的網(wǎng)絡(luò)教學(xué)平臺(tái),方便教師建立線上課堂,并提供了豐富的教學(xué)資源以及各種教學(xué)環(huán)節(jié)和過(guò)程,利用大數(shù)據(jù)、云課堂等技術(shù)提供了學(xué)生學(xué)情分析,為疫情背景下開展線上教學(xué)提供了更多的便利[10]。借助上述兩個(gè)平臺(tái)采取了“線上+現(xiàn)下”混合教學(xué)方法,按照課前預(yù)習(xí)、課中討論和課后鞏固3個(gè)階段來(lái)實(shí)施。具體實(shí)施過(guò)程如圖1所示,以JDBC相關(guān)內(nèi)容為例輔助進(jìn)行說(shuō)明。
圖1 混合式教學(xué)流程
課前預(yù)習(xí)是教師提前將教學(xué)資源上傳到超星學(xué)習(xí)通平臺(tái),學(xué)生通過(guò)觀看視頻、課件和講義等展開線上自主學(xué)習(xí),然后做一些簡(jiǎn)單的練習(xí)題進(jìn)行自我檢測(cè)。疑難問(wèn)題可以通過(guò)QQ、微信和學(xué)習(xí)通等工具與老師進(jìn)行交流。
課中討論以線下方式在教室進(jìn)行,具體分為5個(gè)階段來(lái)實(shí)施:第1個(gè)階段教師對(duì)上節(jié)課內(nèi)容進(jìn)行簡(jiǎn)要回顧;第2個(gè)階段進(jìn)行提問(wèn),檢測(cè)課前學(xué)習(xí)效果。所提的問(wèn)題要經(jīng)過(guò)精心設(shè)計(jì)并層層遞進(jìn),為后續(xù)階段的編程實(shí)現(xiàn)奠定基礎(chǔ)。例如第一個(gè)問(wèn)題:例用JDBC操作數(shù)據(jù)庫(kù)一般需要經(jīng)歷哪幾個(gè)步驟?第二個(gè)問(wèn)題:上述哪些步驟會(huì)出現(xiàn)冗余的代碼?引導(dǎo)學(xué)生閱讀代碼,通過(guò)仔細(xì)觀察發(fā)現(xiàn)冗余地方。第三個(gè)問(wèn)題:對(duì)冗余代碼應(yīng)該如何處理?引導(dǎo)學(xué)生聯(lián)系封裝、繼承的知識(shí),通過(guò)定義父、子類關(guān)系解決冗余代碼。第3個(gè)階段讓學(xué)生動(dòng)手實(shí)踐,對(duì)上一階段形成的解決方案進(jìn)行編碼實(shí)現(xiàn)。然后邀請(qǐng)同學(xué)進(jìn)行分享,其他同學(xué)參與點(diǎn)評(píng)。第4個(gè)階段教師對(duì)學(xué)生編寫的代碼和點(diǎn)評(píng)進(jìn)行分析,梳理思路并給出正確答案。第5個(gè)階段布置課后作業(yè),并引導(dǎo)對(duì)下一次課內(nèi)容進(jìn)行預(yù)習(xí)。
課后要求學(xué)生按照畢業(yè)設(shè)計(jì)的格式和質(zhì)量標(biāo)準(zhǔn)完成作業(yè)、實(shí)驗(yàn)報(bào)告的撰寫,以提高學(xué)生的學(xué)術(shù)表達(dá)及撰寫能力。教師及時(shí)批改學(xué)生作業(yè)、實(shí)驗(yàn)報(bào)告和階段性檢測(cè)試題等,發(fā)現(xiàn)問(wèn)題及時(shí)進(jìn)行總結(jié)并設(shè)計(jì)應(yīng)對(duì)策略,提升混合教學(xué)設(shè)計(jì)能力,保障課程教學(xué)質(zhì)量[11]。疑難問(wèn)題除了每周有固定的線下答疑時(shí)間外,還通過(guò)線上討論答疑區(qū)、微信和QQ隨時(shí)進(jìn)行,確保學(xué)生疑難問(wèn)題不累積。
基礎(chǔ)模塊對(duì)應(yīng)的實(shí)驗(yàn)內(nèi)容沿用傳統(tǒng)驗(yàn)證型實(shí)驗(yàn),章節(jié)內(nèi)容之間的獨(dú)立性較強(qiáng)。實(shí)驗(yàn)開展方式轉(zhuǎn)換成“提前布置+課外完成+課內(nèi)講解”的方式進(jìn)行。具體執(zhí)行步驟是:提前一周下發(fā)實(shí)驗(yàn)內(nèi)容,讓學(xué)生提前利用課外時(shí)間完成實(shí)驗(yàn)內(nèi)容,實(shí)驗(yàn)課時(shí)教師逐個(gè)檢查學(xué)生實(shí)驗(yàn)完成情況,要求學(xué)生口述實(shí)驗(yàn)步驟、逐行講解代碼的含義并演示程序運(yùn)行結(jié)果。根據(jù)代碼編寫情況、運(yùn)行情況和講述情況來(lái)給學(xué)生打分,為了減輕學(xué)生負(fù)擔(dān),這部分實(shí)驗(yàn)不再要求學(xué)生提交實(shí)驗(yàn)報(bào)告。這種方式有4個(gè)優(yōu)點(diǎn):(1)確保學(xué)生能夠正確下載、安裝JDK并配置環(huán)境變量,掌握基礎(chǔ)的JDK命令和IDE的基本使用。能夠嚴(yán)格按照J(rèn)ava命名規(guī)范書寫程序。(2)能夠夯實(shí)面向?qū)ο蠡A(chǔ)知識(shí),為后續(xù)內(nèi)容學(xué)習(xí)奠定良好基礎(chǔ)。(3)杜絕實(shí)驗(yàn)抄襲行為,真正做到以學(xué)生為中心,掌握每一個(gè)學(xué)生的實(shí)際學(xué)習(xí)情況,及時(shí)對(duì)不同學(xué)生遇到的問(wèn)題分別進(jìn)行指導(dǎo)。(4)培養(yǎng)學(xué)生誠(chéng)實(shí)守信的品格,鍛煉獨(dú)立自主完成任務(wù)的能力。對(duì)于基礎(chǔ)模塊實(shí)驗(yàn)內(nèi)容不達(dá)標(biāo)的學(xué)生要求進(jìn)行反復(fù)實(shí)踐,直到達(dá)標(biāo)為止,否則不得進(jìn)行下一階段的實(shí)驗(yàn)。
核心模塊實(shí)驗(yàn)內(nèi)容是綜合不同章節(jié)內(nèi)容設(shè)計(jì)的綜合型實(shí)驗(yàn),章節(jié)內(nèi)容之間的耦合度較高。例如將異常處理、JDBC和集合框架等內(nèi)容綜合起來(lái)完成一個(gè)典型的購(gòu)物車功能。這部分實(shí)驗(yàn)內(nèi)容采用“課內(nèi)布置+思路講解+課內(nèi)課外共同完成+視頻講解”方式完成。實(shí)驗(yàn)課時(shí)布置實(shí)驗(yàn)內(nèi)容,教師利用15分鐘左右時(shí)間對(duì)實(shí)驗(yàn)思路、主要類的定義、核心步驟(算法)進(jìn)行講解,然后學(xué)生自己完成實(shí)驗(yàn),課內(nèi)完成不了的,利用課后完成并錄制視頻對(duì)實(shí)驗(yàn)過(guò)程講解、演示運(yùn)行結(jié)果,并撰寫實(shí)驗(yàn)報(bào)告。教師最后提供實(shí)驗(yàn)過(guò)程完整視頻和源碼,供學(xué)生參考,并要求提交實(shí)驗(yàn)錯(cuò)誤部分修正記錄。這種方式開展實(shí)驗(yàn)有3 個(gè)優(yōu)點(diǎn):(1)學(xué)生課內(nèi)做實(shí)驗(yàn)的過(guò)程中遇到疑難問(wèn)題,可以和老師面對(duì)面溝通并及時(shí)解決。(2)學(xué)生自己錄制視頻講解,確保課后在沒有監(jiān)管的情況下,獨(dú)立完成實(shí)驗(yàn)并鍛煉口頭表達(dá)能力。(3)教師最后提供實(shí)驗(yàn)標(biāo)準(zhǔn)視頻,確保學(xué)生能夠?qū)φ諜z查自己的錯(cuò)誤并改正,防止疑難問(wèn)題累積傳遞。
進(jìn)階模塊對(duì)應(yīng)的實(shí)驗(yàn)包括兩部分:一部分實(shí)驗(yàn)是各章節(jié)對(duì)應(yīng)的實(shí)驗(yàn),內(nèi)容和實(shí)施方法類似于基礎(chǔ)模塊。另一部分是創(chuàng)新型實(shí)驗(yàn),創(chuàng)新實(shí)驗(yàn)內(nèi)容是在進(jìn)階模塊內(nèi)容上再融合之前章節(jié)形成的綜合性、復(fù)雜性內(nèi)容。這部分內(nèi)容主要是為了培養(yǎng)學(xué)生利用計(jì)算思維和邏輯推理,在全面綜合應(yīng)用基礎(chǔ)知識(shí)的前提下,結(jié)合實(shí)際業(yè)務(wù)應(yīng)用背景來(lái)培養(yǎng)解決復(fù)雜工程問(wèn)題的能力。例如綜合應(yīng)用反射+泛型+JDBC 等基礎(chǔ)知識(shí)來(lái)完成基于泛型DAO 的通用數(shù)據(jù)持久層代碼,在這部分實(shí)驗(yàn)內(nèi)容中補(bǔ)充數(shù)據(jù)庫(kù)連接池、數(shù)據(jù)庫(kù)元數(shù)據(jù)、結(jié)果集元數(shù)據(jù)等知識(shí),使得學(xué)生理解冗余代碼進(jìn)行抽象提取的重要性,掌握提高JDBC代碼復(fù)用率的方法。
實(shí)施過(guò)程性考核能突出教師教學(xué)中的主導(dǎo)作用和學(xué)生主體地位,是深化課程教學(xué)改革的必經(jīng)之路,是OBE理念體現(xiàn)的方式之一,也是做好專業(yè)認(rèn)證的前提和基礎(chǔ)。本課程采用過(guò)程性+期末考試相結(jié)合方式進(jìn)行考核,過(guò)程性考核采取5種形式(課堂表現(xiàn)、平時(shí)作業(yè)、學(xué)習(xí)筆記、實(shí)驗(yàn)報(bào)告和階段性測(cè)驗(yàn))共占60%,期末考試占40%。課程目標(biāo)和考核形式是多對(duì)多關(guān)系,其中課程目標(biāo)1由課堂表現(xiàn)(5%)、平時(shí)作業(yè)(5%)、實(shí)驗(yàn)報(bào)告(10%)、階段性測(cè)驗(yàn)(5%)和期末考試(20%)共同考核;課程目標(biāo)2 由課堂表現(xiàn)(5%)、平時(shí)作業(yè)(5%)、實(shí)驗(yàn)報(bào)告(5%)、階段性測(cè)驗(yàn)(5%)和期末考試(10%)共同考核;課程目標(biāo)3 由課堂表現(xiàn)(5%)、學(xué)習(xí)筆記(10%)和期末考試(10%)共同考核。
課堂表現(xiàn)具體包括到課率、回答問(wèn)題、參與討論、點(diǎn)評(píng)和視頻資源學(xué)習(xí)情況,用來(lái)考核課程目標(biāo)1、2 和3。平時(shí)作業(yè)主要用來(lái)考核課程目標(biāo)1 和2。學(xué)習(xí)筆記分兩種類型進(jìn)行,第一種類型是要求學(xué)生閱讀針對(duì)課程內(nèi)容的科研論文,撰寫學(xué)習(xí)心得;第二種類型是學(xué)生針對(duì)綜合型實(shí)驗(yàn)完成過(guò)程中將遇到的問(wèn)題和解決方法進(jìn)行匯總整理,撰寫技術(shù)博客,用來(lái)考核課程目標(biāo)3。實(shí)驗(yàn)進(jìn)行13 次,只有綜合型實(shí)驗(yàn)和創(chuàng)新型實(shí)驗(yàn)需要學(xué)生提交實(shí)驗(yàn)報(bào)告,用來(lái)考核課程目標(biāo)1 和2。階段性測(cè)驗(yàn)進(jìn)行3 次,每個(gè)模塊學(xué)習(xí)完進(jìn)行一次,題型包括選擇、簡(jiǎn)答和程序設(shè)計(jì)題,用來(lái)考核課程目標(biāo)1和2。期末考試為閉卷筆試,題型包括選擇、填空、簡(jiǎn)答和程序設(shè)計(jì)等類型,前3類題型和部分程序設(shè)計(jì)題主要考核課程目標(biāo)1和2,部分程序設(shè)計(jì)題主要考核課程目標(biāo)3。本次教學(xué)改革在我院軟件工程專業(yè)20 級(jí)、21 級(jí)進(jìn)行了兩輪實(shí)施,兩個(gè)年級(jí)的課程目標(biāo)達(dá)成度均大于0.7,說(shuō)明課程教學(xué)改革達(dá)到了預(yù)期目標(biāo)。通過(guò)教務(wù)處教學(xué)評(píng)價(jià)系統(tǒng)數(shù)據(jù)表明,兩個(gè)年級(jí)學(xué)生對(duì)課程滿意度均大于95%。
“Java程序設(shè)計(jì)”是軟件工程專業(yè)一門重要的專業(yè)基礎(chǔ)課,也是Java 工程師入門級(jí)課程。本文依據(jù)OBE教育理念,在新工科要求和工程認(rèn)證標(biāo)準(zhǔn)下,對(duì)課程教學(xué)進(jìn)行了改革。通過(guò)教學(xué)過(guò)程發(fā)現(xiàn):學(xué)生的課堂表現(xiàn)更加活躍,平時(shí)作業(yè)、實(shí)驗(yàn)報(bào)告、學(xué)習(xí)筆記等完成情況均比之前有了較好的提高,學(xué)習(xí)觀念也從被動(dòng)轉(zhuǎn)變?yōu)橹鲃?dòng)。學(xué)生能夠主動(dòng)思考、發(fā)現(xiàn)問(wèn)題、討論問(wèn)題、解決問(wèn)題,能夠獨(dú)立自主完成教學(xué)各個(gè)階段的任務(wù),為后續(xù)課程順利開展奠定了良好的基礎(chǔ)。