梁妍 馬馳
摘要:Java程序設計是計算機專業(yè)的基礎核心課程。為了提高學生的編程技能和解決復雜工程問題的能力,提出并實施了一種融合微積分案例的混合教學模式,改革了教學過程、教學資源和考核方式,使得Java教學內(nèi)容設計上包含多因素、多技術,幫助學生建立數(shù)學與計算機之間的聯(lián)系,培養(yǎng)學生解決復雜工程問題的能力。通過問卷調(diào)查和教學評價,發(fā)現(xiàn)該模式能夠有效地提升學生的學習效果和滿意度。
關鍵詞:教學改革;混合教學模式;Java程序設計;微積分
中圖分類號:G642? ? ? 文獻標識碼:A
文章編號:1009-3044(2024)09-0136-03
開放科學(資源服務)標識碼(OSID)
0 引言
隨著計算機技術的快速發(fā)展和廣泛應用,計算機專業(yè)教學面臨著新的挑戰(zhàn)和機遇。如何培養(yǎng)具有創(chuàng)新能力和工程實踐能力的高素質(zhì)計算機人才,是計算機專業(yè)教學的重要目標和任務。Java編程語言作為一種優(yōu)秀的編程語言,具有簡單易學、面向?qū)ο?、平臺無關、多線程、安全等特點和優(yōu)勢,在軟件開發(fā)領域有著廣泛的應用和需求[1]。Java程序設計作為計算機相關專業(yè)教學的基礎課程之一,對于培養(yǎng)學生的編程思維、邏輯分析、問題解決等能力有著重要的作用和地位。微積分作為高等數(shù)學的重要組成部分,是計算機專業(yè)教學的另一個基礎課程。微積分不僅是計算機科學理論的數(shù)學基礎,也是計算機工程實踐中不可或缺的工具。在本科工程認證的12條畢業(yè)要求中,首要的要求就是能夠基于數(shù)學等多學科知識解決復雜工程問題,微積分在計算機專業(yè)教學中的作用和地位不容忽視[2]。
在Java程序設計教學和微積分教學中,都存在著一些問題和困難。例如,作為計算機專業(yè)的基礎課程,關系數(shù)據(jù)庫設計、Web界面設計等專業(yè)課程尚未開始授課,學生缺乏綜合開發(fā)能力,難以展開實際應用場景下的案例教學設計;在微積分教學中,與計算機工程具體情況的情境化程度較弱,以及教學和實際應用之間時間跨度太長,導致學生缺乏興趣和動力,難以理解和掌握微積分的概念和方法。
線上線下混合教學模式的出現(xiàn),使得線下班級授課制群體學習優(yōu)勢與網(wǎng)絡學習個性化融為一體,教學不再受制于課程學時,可以合理地分配時間和資源[3]。本文設計了一種融合微積分案例設計的Java程序教學模式,在Java程序設計教學中設計了若干微積分案例,從教學設計,教學過程和考核方法進行了混合教學改革,以實現(xiàn)以下目標:1) 提高Java程序設計教學的實踐性和趣味性,激發(fā)學生的編程興趣和創(chuàng)造力;2) 融合微積分知識點,增強微積分教學的情境性和應用性,幫助學生建立數(shù)學與計算機之間的聯(lián)系;3) 符合工程認證中教學內(nèi)容設計上包含多因素、多技術,通過形式化處理用抽象模型標識問題的指導思想,培養(yǎng)學生解決復雜工程問題的能力。
1 Java程序設計教學中存在的問題
為了提供更多的功能、修復錯誤、增強安全性和改善性能,Java語言每半年更新一次版本,截至2023年3月份,Java的最新版本為JDK 20[4]。相對Java語言快速的更新速度,高校目前在Java教學過程中所教授的內(nèi)容已經(jīng)不能滿足社會發(fā)展的需求[5]。從教學目標、教學模式、考核方式三個方面分析,主要有下列問題:
1) 教學目標不明確。傳統(tǒng)教學模式中,教師需要依據(jù)大綱和教材教授Java的理論知識,實驗項目是對課后的例題的驗證,不會涉及實際項目實踐。師注重傳授語法知識和基本技能,忽視了培養(yǎng)學生的創(chuàng)新思維和解決問題的能力[6]。
2) 教學模式單一。傳統(tǒng)的講授式教學方法,注重課堂中的學習,忽視課前預測和課后總結的重要性。缺乏互動和反饋導致學生缺乏主動性和興趣,很難讓學生對知識有深入的理解和掌握[5]。
3) 考核方式不夠完善。課程考核依賴期末的筆試成績,忽視了Java編程的實踐和應用,導致學生死記書本上的知識,不能靈活地運用Java語言解決問題,與課程培養(yǎng)高素質(zhì)計算機人才的目標相悖[6]。
2 Java程序設計教學設計
2.1 教學框架
混合教學是指將線上和線下教學相結合的一種教學模式。它充分利用網(wǎng)絡資源,實現(xiàn)個性化和差異化的教學,同時保留了面授教學中師生互動、實踐操作等優(yōu)勢?;旌辖虒W框架在國內(nèi)外已經(jīng)得到了廣泛的應用和研究[7-10],取得了良好的效果。
Java程序設計的混合教學框架包含兩部分內(nèi)容,線下教學模式(即傳統(tǒng)的課堂教授的模式),主要目標是為了讓學生理解和掌握的基礎知識和驗證案例程序;線上教學模式,主要目標是為了提高學生的解決問題和自主創(chuàng)新的能力,教師通過將課程的重點知識以視頻形式上傳到教學平臺上用于學生課前預習和課后復習,并根據(jù)知識點設置相應的問題用于檢測學習效果,通過學習通等教學平臺進行教師與學生之間的交流。Java程序設計實踐教學框架如圖1所示。
2.2 教學過程設計
Java程序設計混合教學過程中,采用了“在線”+“離線”教學的方式,充分利用了網(wǎng)絡教學和傳統(tǒng)教學的優(yōu)勢。整個教學過程包括以下幾個步驟:
1) 在線預習。課前教師通過學習通等線上教學平臺,提供章節(jié)相關資料(例如,第一章節(jié)Java語言的歷史與特點),并設置問題(例如,如何理解Java程序語言面向?qū)ο?、健壯性)檢測學生的預習情況。學生通過預習資料,了解課程內(nèi)容的基本概念和要點,并通過教學平臺將預習過程中遇到的問題反饋給教師。
2) 線下講解。課堂上,老師首先參考課本知識和教學大綱,講解相關的知識點。然后教師根據(jù)反饋的問題,結合講解內(nèi)容為學生解答疑惑。最后通過組織小組討論、提問和搶答等方式,對所講知識進行進一步拓展。
3) 線下實踐。學生在實驗室中進行項目實踐活動,如教學資源設計中的人口增長模型案例。通過學生社團、創(chuàng)新創(chuàng)業(yè)大賽等活動,學生可完成附加實踐,如疫情傳播模型、水污染模型等。
4) 在線復習。教師會根據(jù)課堂內(nèi)容,布置拓展任務。學生通過小組合作的方式完成項目,模擬實際工作中的項目編程過程,培養(yǎng)學生的團隊協(xié)作能力。
線上線下兩種教學模式相輔相成,在保證學生對知識充分掌握的基礎上,提高了學生的項目實踐能力和團隊合作意識,使學生對Java課程設計的知識得到進一步拓展。
2.3 教學資源設計
Java程序設計教學資源分為基礎知識教學資源和案例教學資源兩方面,其中基礎知識教學資源主要由Java程序設計教學大綱和教材為主,資源較為豐富;而案例教學資源較為稀缺,并且由于其他專業(yè)課尚未授課,大部分學生的綜合開發(fā)能力不足,難以進行實際應用場景的案例教學和項目教學。融合微積分知識點的案例符合工程認證中教學內(nèi)容設計上包含多因素、多技術,通過形式化處理用抽象模型標識問題的指導思想,同時增強微積分教學的情境性和應用性,可以幫助學生建立數(shù)學與計算機語言之間的聯(lián)系。
以下是一個基于一階線性微分方程求解并應用的Java的案例教學方案設計,主要功能包括三個模塊:1) 方程求解模塊:一階線性微分求解算法的實現(xiàn)和調(diào)用;2) 問題定義模塊:需要使用微分方程的具體問題定義(人口增長問題、傳染病問題、湖水污染問題等);3) 主頁面模塊:顯示系統(tǒng)菜單,提供各種操作選項。
方案內(nèi)容和知識點對應見表1,具體設計內(nèi)容如下:
1) 設計微分方程求解類ODESolver,該類針對求解一階線性微分方程問題實現(xiàn)了Euler方法,輸入為初值、求解區(qū)間、步長,輸出為在求解區(qū)間上的離散點處的函數(shù)值近似解。
根據(jù)人口增長問題設計人口增長類Population,依據(jù)的一階線性微分方程如下:
[dNdt=rN]
其中N是人口數(shù)量,r是人口增長率。使用Euler法或改進的Euler法進行數(shù)值求解,返回一個二維數(shù)組,每一行表示一個時間點和對應的人口數(shù)。
2) 定義接口(ODEFunction) ,聲明對一階線性微分方程問題求解的抽象方法,重構ODESolver類實現(xiàn)ODEFunction接口,并使用多態(tài)的方式調(diào)用。
3) 定義一個工具類(Utils) ,提供一些常用的方法,如輸入輸出數(shù)據(jù),格式化日期,關閉資源等。這樣可以講解函數(shù)定義和調(diào)用的方式和規(guī)范。
4) 定義一個測試類(Test) ,創(chuàng)建ODESolver對象,并調(diào)用其方法來完成各種操作。在調(diào)用過程中,使用try-catch-finally語句來處理可能出現(xiàn)的異常,并打印異常信息。
5) 定義一個主類(Main) ,創(chuàng)建Test對象,并使用循環(huán)語句來顯示主菜單,并根據(jù)用戶輸入執(zhí)行相應操作。在循環(huán)中,使用switch-case語句來判斷用戶選擇,并調(diào)用Test對象中相應方法。
6) 功能擴展和優(yōu)化,使用多線程技術來實現(xiàn)并發(fā)操作或后臺任務。
7) 使用Java的圖形庫繪制人口增長曲線,并顯示在窗口中。
8) 根據(jù)ODESolver類的結構,設計求解一階線性微分方程的改進Euler方法,梯形法等,并實現(xiàn)ODEFunction接口,理解多態(tài)的作用。
9) 根據(jù)人口增長模型,解決類似一階微分方程問題:
①傳染病問題:
[dIdt=rI(1-IN)-γI]
其中I是感染者的數(shù)量,r是感染率,N是總人口,γ是康復率。
②湖水污染問題:
[dCdt=k1(C0-C)-k2C]
其中C是湖水中污染物的濃度,C0是進入湖水的污水的濃度,k1是湖水的流出率,k2是污染物的自然凈化率。
2.4 考核方式設計
根據(jù)本文所設計的教學模式、教學過程、教學資源,對傳統(tǒng)的以卷面考試為主的學生成績考核方式進行了相應的改革。該教學更加注重于學生在學習過程中的考核評估,將過程性評估和總結性評估的成績占比分別設置為60%和40%,具體課程考核方式如表2所示,過程性評估滿分為100分,線上教學平臺學習總分60分,線下課堂講授學習總分40分??偨Y性評估中的實際項目實踐和卷面考試總分都為100分。各部分成績按照權重得到最終成績。
3 改革效果的評估和反饋
為了探究新的教學模式對學生學習效果和滿意度的影響,將2021級學生的部分學生分為了實驗班和對照班,實驗班使用了改革后的教學方法,其中實驗班和對照班的人數(shù)分別為82人和81人。使用教學評價和滿意度問卷,對實驗班和對照班的學生進行了比較。
3.1 教學評價
實驗班和對照班的學生在過程性評估和總結性評估兩個方面進行了統(tǒng)計和分析,結果如圖2所示。實驗班的線上教學平臺學習平均分高于對照班5.6分,說明實驗班的學生在完成課前預習、討論并完成課前問題、完成課后作業(yè)等方面更加積極和主動。實驗班的線下課堂講授學習平均分高于對照班4.4分,說明實驗班的學生在認真記錄重點知識、積極與教師互動等方面更加投入和參與。實驗班的實際項目實踐平均分高于對照班8.8分,說明實驗班的學生在Java程序設計的實際應用能力上明顯優(yōu)于對照班。實驗班的卷面考試平均分也高于對照班8.4分,說明實驗班的學生在Java程序設計的理論知識上也明顯優(yōu)于對照班。綜上可知,新的教學模式能夠有效提高學生的Java程序設計綜合能力和水平。
3.2 課程滿意度問卷對比
課程滿意度問卷是衡量學生對課程內(nèi)容、教學方法、教師態(tài)度等方面的認同和評價的重要工具,也是反映教學質(zhì)量和效果的間接體現(xiàn)。在期末考試后,采用課程滿意度問卷對實驗班和對照班的學生進行了調(diào)查,問卷共包含10個問題,每個問題有5個選項(非常滿意、滿意、一般、不滿意、非常不滿意),每個選項對應5-1分,總分為50分。問卷的結果如表3所示。
從表3可以看出,實驗班的課程滿意度問卷平均分高于對照班5.6分,說明實驗班的學生對融合微積分案例的Java程序設計課程混合教學模式更加認可和滿意。實驗班的標準差小于對照班0.8分,說明實驗班的學生在課程滿意度上的差異較小,整體評價較為一致。綜上所述,新的教學模式能夠有效提高學生的Java程序設計學習效果和滿意度。
4 結論
針對應用型軟件工程專業(yè)人才培養(yǎng)的特點,重新設計了Java程序設計課程的教學模式,采用了線上線下相結合的混合式教學方式。這種教學方式改善了教學過程,充分利用了課前與課后的非課堂時間,延長了學習時間,使知識的學習更容易被學生接受和掌握。同時,本文將微積分知識與Java程序設計相融合,豐富了教學資源,有利于學生進一步拓展知識面和視野。此外,本文還完善了考核方式,注重考查學生的實際應用能力和創(chuàng)新能力,培養(yǎng)出更加符合社會發(fā)展需求的應用計算機人才。
參考文獻:
[1] 何小翔,蔣葉青,蔣守仁.Java編程語言及互聯(lián)網(wǎng)設計[J].合肥工業(yè)大學學報(自然科學版),2002,25(1):105-108.
[2] 吳明玉,裴金萍,楊秀娟.“一流課程、兩個引領、三大項目、四類競賽” 人才培養(yǎng)體系探索與實踐[J].黑龍江教育(高教研究與評估),2022(9):55-57.
[3] 姚曄.從程序設計基礎到Java程序設計的課程教學體系構建研究[J].計算機時代,2021(7):95-97.
[4] Sharat Chander, The Arrival of Java 20.[EB/OL]. https://blogs.oracle.com/java/ post/the-arrival-of-java-20
[5] 張綠云,吳啟明,段巧靈.基于企業(yè)需求的Java課程教學改革研究[J].教育觀察,2021,10(21):121-123.
[6] 盧冶,張其亮,白素琴.“金課” 視域下程序設計類課程混合式教學實踐與思考——以Java程序設計課程為例[J].計算機教育,2021(8):30-34.
[7] 李國平,王曉青,柴春鵬,等.基于MOOC的線上線下混合教學模式在《高分子物理》中的教學探索——以 “高分子的分子運動” 為例[J].高分子通報,2022(10):162-168.
[8] 黃德群.基于高校網(wǎng)絡教學平臺的混合學習模式應用研究[J].遠程教育雜志,2013,31(3):64-70.
[9] 李政濤.基礎教育的后疫情時代,是“雙線混融教學” 的新時代[J].中國教育學刊,2020(5):5.
[10] FORTIN A,LEGAULT M.Development of generic competencies:impact of a mixed teaching approach on students' perceptions[J].Accounting Education,2010,19(1/2):93-122.
【通聯(lián)編輯:王 力】