黃桂萍,奎曉燕,溫創新
(1.湘潭理工學院數字科技學院 湖南 湘潭 411100;2.中南大學計算機學院 湖南 長沙 410000)
Java 程序設計是計算機科學中重要的基礎課程之一,涵蓋了編程語言的基本概念、語法和編程技術。然而,隨著計算機科學的不斷發展和應用領域的不斷擴大,傳統的Java 程序設計課程常常會出現缺乏編程實踐能力,理解不深入等問題。例如,傳統的Java 程序設計課程注重語法和基本的編程技術,而現實世界中的應用程序要求學生掌握更高級的技術,如面向對象設計、軟件工程和圖形用戶界面設計等。因此,為了提高Java 程序設計課程教學的質量,許多高校和教師積極對Java程序設計課程教學進行改革與研究,通過創新教學方法和手段,提高學生的學習效果和應用能力,使其能夠適應不斷變化的技術環境和需求。
湘潭理工學院于2020 年由湖南工商大學北津學院完成轉設。在新工科背景下,學校定位于服務湖南省 “三高四新” 和產業行業發展的應用型本科院校,立足產教融合,提出全新的CFAP(C,character品格與信仰;F,fundamental skills,基礎能力;A,action 行動力;P,professional skills 專業能力)+項目制人才培養模式,培養社會、產業行業需要的各類工程師人才。Java 程序設計課程是學院計算機相關專業的必修課,實踐性和操作性強,連續十年位居編程語言使用榜前三[1]。Java 課程涵蓋編程語言的基本概念、語法和編程技術。隨著計算機科學的不斷發展和應用領域的不斷擴大,傳統Java程序設計課程采取的 “教師講+學生聽” “理論+實驗” 教學模式所培養出的學生呈現出理論不扎實,動手能力不強,無機會參與項目實踐鍛煉自身軟件系統開發能力,與市場人才需求脫節,畢業找工作屢屢受挫等問題。湘潭理工學院緊跟產業技術發展前沿,積極開展Java 程序設計課程教學改革與實踐探索,采取 “四維一體” 的教學模式和 “5W+1H” 的教學方式,開展企業級項目制教學,充分利用校企合作資源,培養適應 “互聯網+” 時代的新工科工程師型技能人才。
Java 程序設計課程教學改革的內容涉及教學目標、教學內容、教學方法和教學評價等方面[2-3]。Liu 等[4]構建了基于MOOC 慕課的翻轉課堂教學模式和學習模式,讓學生成為學習的主角,提高了學生的編程技能和溝通能力。Sun等[5]結合藍橋杯競賽,通過課程與競賽的融合,對Java程序設計課程進行改革, “課賽結合” 能顯著提高教學效果。Zhu等[6-8]將OBE 成果導向教育理念引入Java 程序設計課程的教學中,以結果為導向,以學生為中心制訂教學目標,細化課程,改革混合教學模式,加強校企合作,采用多元化課程評價體系,提高了學生的學習效果和工程實踐能力。Sheng[9]開展Scratch 輔助教學的 “423 模式” 教學研究與實踐,在課程設計上遵循Scratch 和Java 兩條主線,在課程實施上遵循 “課前―課中―課后” 的 “423 模式” ,培養學生的創新思維能力,激發學生的學習興趣,提高了課程教學效果。這些研究為本項目提供了新的思路和方法,豐富了Java程序設計課程的教學內容和形式,為教育工作者和教師提供了重要的參考和借鑒,促進了Java程序設計課程教學的改進和優化。也為Java 程序設計領域的研究提供了新的思路和方向,推動了Java 程序設計領域的創新和發展。
湘潭理工學院于2023 年6 月迎來了第一屆畢業生,畢業生就業工作已經接近尾聲,學院通過對畢業生的就業跟蹤、用人單位反饋以及對四年來教學質量數據進行分析,總結出學院Java 程序設計課程教學存在以下問題:
①教學方式傳統。雖然教學改革每年都在大力推行,但 “教師講+學生聽” “理論+實驗” 的傳統授課模式依然為學院目前主流的教學方式。學校最新教學質量監控報告顯示,2023 年2―3 月,校、院兩級督導聽課共計540 節,其中二級學院督導聽課483 節,校級督導聽課57 節,反饋的典型問題之一為教學方式比較單一,授課局限于PPT 內容,思路打不開,新觀點引不進。近兩年Java 程序設計課程教學也存在同樣的問題,不能充分利用MOOC、頭歌、智慧樹等網絡資源平臺,以及翻轉課堂、分組討論、項目制教學等多樣化的方式來開展教學。
②學生缺乏實踐。課程教學以多媒體授課為主,每周安排一次上機實踐課,內容為每個知識點的小案例。整個課程學完后,學生不能綜合運用所學知識解決實際問題,不能用Java語言進行軟件項目開發,對于開發過程中相關文檔(可行性分析報告、項目開發計劃、需求說明書、概要設計文檔、詳細設計文檔、用戶操作手冊等)的撰寫不懂,不能體會軟件開發過程中團隊協作、溝通方式以及相關規范、文檔的重要性和必要性,這些能力恰恰是IT 信息技術人員最基礎的核心技能。Java 程序設計課程教學改革需要加強實踐環節,提高學生的實際應用能力和綜合素質。
③考核方式單一。課程的考核由平時成績(課堂出勤、作業、課堂表現、實驗表現)加期末考核(試卷或上機)兩大部分組成,平時成績占40%,期末占60%。集中式的考核機制不能全面檢測和反映學生的學習效果,同時導致學生平時學習沒有緊張和壓迫感,加上驅動力不足,往往在考試前臨時抱佛腳突擊復習。Java 程序設計課程教學改革需要綜合考核學生的實際應用能力和綜合素質,而目前的考核方式主要是傳統的考試成績,缺乏實際應用環節和項目實踐等考核方式,故難以全面評價學生的能力和水平。
④學習缺乏持續和系統性。Java 程序設計課程開設完成后,沒有安排實踐項目加以鞏固和運用,沒有安排后續項目引導學生系統而深入地探究。學生學習形成點到即止的現象,局限于教學安排的課堂64 課時,一個假期過后返校,所學知識全部返還老師。
⑤教學資源不足。由于學校辦學年限短,大部分實驗室和教學設備都還在建設和完善中,所以目前學校軟硬件教學資源不充足,教學改革面臨一定的困難和挑戰。
課程組針對學院Java 程序設計課程教學中存在的問題,借鑒和參考已有教學改革經驗,結合學院推行的CFAP工程師型人才培養模式,充分利用學院現有資源對本課程進行教學改革和實踐探索,經過一年的實踐,取得了比較好的成效。
學院完成轉設后,根據CFAP工程師型人才培養理念,修訂了全新的人才培養方案。根據就業崗位群技能需求,計算機類各專業均開設 “面向對象程序設計(Java)” 課程,總學時為64 學時,先導課程為C語言,同軌課程為數據庫,此為第一課堂。增加校企合作的工程項目為實戰項目,并與粵嵌、千鋒、新夢想IT 等企業共建 “實訓項目資源庫” 。現庫里建有 “浙江地級市宏觀經濟數據” “鋒云醫療健康系統” “飛揚的小鳥” 等30 多個項目,并在不斷增加和完善中。增加 “互聯網+” 大學生創新創業、 “挑戰杯” 、藍橋杯、計算機程序設計、創新創業等各類學科競賽為綜合應用類持續項目,此為第二課堂。對課程設置進行改革,使得學生缺乏實踐、教學資源不足等重大問題得到了有效緩解,重新設置后的課程得到了學生的認可和好評,提高了學生對該課程的學習興趣。
3.2.1 教學實施
將Java 程序設計課程由原來的半機房上課轉變為全機房授課。理論講解和實操相結合, “邊講邊寫邊練” 。教師在學生練習期間,主動解答學生的問題,了解學生掌握情況,適時調整授課節奏。本課程內容劃分為三篇,第一篇為語法基礎、流程控制、數組等基礎知識,因有C語言作基礎,學習難度不大,學生缺乏的是邏輯思維能力及上機實踐能力。第二篇是重點,為類和對象,包括類、對象、繼承、多態、抽象類、接口、包和內部類等內容,學完本篇,學生應能掌握如何用面向對象的思維編寫Java程序,解決現實問題。第三篇為核心技術,包括異常處理、字符串、常用類庫、集合類、輸出、數據庫操作、Swing 程序設計、Java 繪圖、多線程和網絡通信等內容,學完本篇,學生應能開發出一些小型應用程序。最后通過安排為期一周的計算機程序實踐項目,由企業工程師帶訓,學生自由組隊,選做項目資源庫里的一個項目,全程運用軟件工程的設計思想,采用真實項目開發流程,按照 “項目管理—開發環境—代碼&文檔—質量&安全—持續集成—軟件部署” 步驟,模擬團隊開發,全過程體驗和完成公司項目開發的完整流程。此外,在后續的學科競賽中,學生持續對Java程序進行進一步的學習和應用,不斷強化工程應用能力。
3.2.2 教學模式
以企業需要的技術型工程師人才為培養目標,采用 “四維一體” 的教學模式,全方位培養學生。第一維是專業技能,包括Java 工程師初級技能、高級技能、項目規劃、需求分析、項目設計、開發測試、文檔編寫、項目部署和項目開發流程等專業技能。第二維是項目經驗,包含實踐項目開發經驗和分享項目開發經驗。第三維是思維拓展,學生在項目中融入自己的想法、開展獨立分析和學習。第四維是綜合素養,包括團隊合作能力、溝通表達能力、個人職業素養、公司規章制度和個人職業規劃。在教學過程中,將以上四個維度融合到一體,把整個項目從設計、開發、實施、交付維護等拆分到課程的不同階段,每個階段都采用 “四維一體” 的教學模式展開教學,不僅讓學生掌握專業技能,體驗公司的開發流程,更注重培養學生的團隊合作意識和獨立解決問題的能力,提高學生實踐動手能力和就業價值。整個過程中,采用 “5W+1H” (what―何事,why―何故,who―何人,where―何地,when―何時,how―何法)的教學方式,課程中引導學生思考并解決問題。
3.2.3 企業化教學及管理
按照權威的移動互聯網公司的項目流程要求和標準,對課堂和實訓項目進行管理,涉及項目的市場調查、需求分析、項目規劃、項目開發、BUG和集成測試、產品提交、產品上線、產品推廣、產品試運營、產品正式運營等各階段。課堂教學和項目實訓過程中,要求學生使用最權威的移動互聯網公司的標準文檔和工具,教師為學生提供各類模板、資料和開發工具,包括需求文檔的模板、市場調查的模板和資料、項目策劃的模板、項目開發的框架和工具、項目測試文檔模板和工具、產品提交環境、產品運營的資料等。按照真實的、正規公司的管理制度管理和約束學生,為學生營造并使其感受真實的公司工作氛圍。
3.2.4 開展項目制教學
項目制教學實施流程:需求(進行需求分析)―計劃(提交工作計劃)―決策(與企業工程師進行專業討論后決策)―實施(編碼實現)―測試(形成測試報告)―總結(與企業工程師進行專業討論)。以小組的形式進行課程的教學和實訓項目的開發,鍛煉學生的團隊合作能力。每個小組選出一位有責任感、有擔當的小組長,保證本小組課程學習和小組項目的有序進行。在學習過程中,教師每天都會講解新的知識點,融入一些簡單的小例子,并與學生進行有趣的小游戲互動,使學生對編程更加感興趣。組織學生模擬公司的開會,討論項目的進度和問題,學生可以發表對項目目前發展階段的建議和意見,使項目更完善。在項目實訓過程中,學生要寫周報或日報,記錄自己的進步和收獲。項目即將結束時,學生需要進行項目總結和匯報,包括學習以及項目相關數據的總結,如項目代碼的工作量統計、BUG 的統計率與解決率等,全面提升教學質量。
3.2.5 過程化考核
成績由個人考核成績(占總成績的30%,包括考勤、階段作業、團隊表現)、項目組考核成績(占總成績的50%:包括方案設計、組織實施、技術)和項目匯報成績(占總成績的20%:包括項目匯報、項目報告、項目總結)三部分構成,根據評分標準展開評分。
3.2.6 以賽促學,以賽促教
競賽是通向杰出工程師型技術人才的捷徑,為了使學生能學以致用,除去教學計劃中的64 個課時及程序設計實踐項目外,教學團隊還成立了學科競賽小組,劃分四大類:數學建模、程序設計、 “互聯網+” 創新創業大賽和 “挑戰杯” 競賽。配以指導老師在大學四年中不分時段開展常態化競賽指導,以賽促學,以賽促教,企業工程師全方位參與學科競賽指導。在過去的兩年里,實踐取得非常好的效果,具體體現在四大類學科競賽中,在參賽隊伍和參賽總人數不變的情況下,學生摘得省級以上獎項由2021 年的6 項增加到2022 年的26 項。
本文針對學院Java程序設計課程教學存在的問題,結合學院推行的CFAP 工程師型人才培養模式,充分利用學院現有資源進行教學改革與實踐。在課程設置上,增加第二課堂,以校企合作的綜合應用為持續項目,與企業共建 “實訓項目資源庫” 。在教學實施上,采用 “四維一體” 的教學模式和 “5W+1H” 的教學方式開展項目制教學,采用企業化管理模式進行教學管理,將單一化的考核方式改為過程化考核方式,并全力推進各類學科競賽,以賽促學,以賽促教。通過整合教學資源和實施教學改革,學生缺乏實踐經驗和內驅力、教學資源不足、教學方式單一等問題得到了有效解決。重新設置后的課程得到了學生的認可和好評,提高了學生對該課程的學習興趣。教學實施的改革,提高了Java程序設計的教學質量和學生的學習效果,體現在今年學生的就業、用人單位的反饋以及各類學科競賽所取得的成績中。本研究為其他程序設計類課程教學改革提供了新的思路和方向,為其教師進行教學改革提供了經驗和借鑒。