梁妍 马驰

摘要:Java程序设计是计算机专业的基础核心课程。为了提高学生的编程技能和解决复杂工程问题的能力,提出并实施了一种融合微积分案例的混合教学模式,改革了教学过程、教学资源和考核方式,使得Java教学内容设计上包含多因素、多技术,帮助学生建立数学与计算机之间的联系,培养学生解决复杂工程问题的能力。通过问卷调查和教学评价,发现该模式能够有效地提升学生的学习效果和满意度。

关键词:教学改革;混合教学模式;Java程序设计;微积分

中图分类号:G642      文献标识码:A

文章编号:1009-3044(2024)09-0136-03

开放科学(资源服务)标识码(OSID)

0 引言

随着计算机技术的快速发展和广泛应用,计算机专业教学面临着新的挑战和机遇。如何培养具有创新能力和工程实践能力的高素质计算机人才,是计算机专业教学的重要目标和任务。Java编程语言作为一种优秀的编程语言,具有简单易学、面向对象、平台无关、多线程、安全等特点和优势,在软件开发领域有着广泛的应用和需求[1]。Java程序设计作为计算机相关专业教学的基础课程之一,对于培养学生的编程思维、逻辑分析、问题解决等能力有着重要的作用和地位。微积分作为高等数学的重要组成部分,是计算机专业教学的另一个基础课程。微积分不仅是计算机科学理论的数学基础,也是计算机工程实践中不可或缺的工具。在本科工程认证的12条毕业要求中,首要的要求就是能够基于数学等多学科知识解决复杂工程问题,微积分在计算机专业教学中的作用和地位不容忽视[2]。

在Java程序设计教学和微积分教学中,都存在着一些问题和困难。例如,作为计算机专业的基础课程,关系数据库设计、Web界面设计等专业课程尚未开始授课,学生缺乏综合开发能力,难以展开实际应用场景下的案例教学设计;在微积分教学中,与计算机工程具体情况的情境化程度较弱,以及教学和实际应用之间时间跨度太长,导致学生缺乏兴趣和动力,难以理解和掌握微积分的概念和方法。

线上线下混合教学模式的出现,使得线下班级授课制群体学习优势与网络学习个性化融为一体,教学不再受制于课程学时,可以合理地分配时间和资源[3]。本文设计了一种融合微积分案例设计的Java程序教学模式,在Java程序设计教学中设计了若干微积分案例,从教学设计,教学过程和考核方法进行了混合教学改革,以实现以下目标:1) 提高Java程序设计教学的实践性和趣味性,激发学生的编程兴趣和创造力;2) 融合微积分知识点,增强微积分教学的情境性和应用性,帮助学生建立数学与计算机之间的联系;3) 符合工程认证中教学内容设计上包含多因素、多技术,通过形式化处理用抽象模型标识问题的指导思想,培养学生解决复杂工程问题的能力。

1 Java程序设计教学中存在的问题

为了提供更多的功能、修复错误、增强安全性和改善性能,Java语言每半年更新一次版本,截至2023年3月份,Java的最新版本为JDK 20[4]。相对Java语言快速的更新速度,高校目前在Java教学过程中所教授的内容已经不能满足社会发展的需求[5]。从教学目标、教学模式、考核方式三个方面分析,主要有下列问题:

1) 教学目标不明确。传统教学模式中,教师需要依据大纲和教材教授Java的理论知识,实验项目是对课后的例题的验证,不会涉及实际项目实践。师注重传授语法知识和基本技能,忽视了培养学生的创新思维和解决问题的能力[6]。

2) 教学模式单一。传统的讲授式教学方法,注重课堂中的学习,忽视课前预测和课后总结的重要性。缺乏互动和反馈导致学生缺乏主动性和兴趣,很难让学生对知识有深入的理解和掌握[5]。

3) 考核方式不够完善。课程考核依赖期末的笔试成绩,忽视了Java编程的实践和应用,导致学生死记书本上的知识,不能灵活地运用Java语言解决问题,与课程培养高素质计算机人才的目标相悖[6]。

2 Java程序设计教学设计

2.1 教学框架

混合教学是指将线上和线下教学相结合的一种教学模式。它充分利用网络资源,实现个性化和差异化的教学,同时保留了面授教学中师生互动、实践操作等优势。混合教学框架在国内外已经得到了广泛的应用和研究[7-10],取得了良好的效果。

Java程序设计的混合教学框架包含两部分内容,线下教学模式(即传统的课堂教授的模式),主要目标是为了让学生理解和掌握的基础知识和验证案例程序;线上教学模式,主要目标是为了提高学生的解决问题和自主创新的能力,教师通过将课程的重点知识以视频形式上传到教学平台上用于学生课前预习和课后复习,并根据知识点设置相应的问题用于检测学习效果,通过学习通等教学平台进行教师与学生之间的交流。Java程序设计实践教学框架如图1所示。

2.2 教学过程设计

Java程序设计混合教学过程中,采用了“在线”+“离线”教学的方式,充分利用了网络教学和传统教学的优势。整个教学过程包括以下几个步骤:

1) 在线预习。课前教师通过学习通等线上教学平台,提供章节相关资料(例如,第一章节Java语言的历史与特点),并设置问题(例如,如何理解Java程序语言面向对象、健壮性)检测学生的预习情况。学生通过预习资料,了解课程内容的基本概念和要点,并通过教学平台将预习过程中遇到的问题反馈给教师。

2) 线下讲解。课堂上,老师首先参考课本知识和教学大纲,讲解相关的知识点。然后教师根据反馈的问题,结合讲解内容为学生解答疑惑。最后通过组织小组讨论、提问和抢答等方式,对所讲知识进行进一步拓展。

3) 线下实践。学生在实验室中进行项目实践活动,如教学资源设计中的人口增长模型案例。通过学生社团、创新创业大赛等活动,学生可完成附加实践,如疫情传播模型、水污染模型等。

4) 在线复习。教师会根据课堂内容,布置拓展任务。学生通过小组合作的方式完成项目,模拟实际工作中的项目编程过程,培养学生的团队协作能力。

线上线下两种教学模式相辅相成,在保证学生对知识充分掌握的基础上,提高了学生的项目实践能力和团队合作意识,使学生对Java课程设计的知识得到进一步拓展。

2.3 教学资源设计

Java程序设计教学资源分为基础知识教学资源和案例教学资源两方面,其中基础知识教学资源主要由Java程序设计教学大纲和教材为主,资源较为丰富;而案例教学资源较为稀缺,并且由于其他专业课尚未授课,大部分学生的综合开发能力不足,难以进行实际应用场景的案例教学和项目教学。融合微积分知识点的案例符合工程认证中教学内容设计上包含多因素、多技术,通过形式化处理用抽象模型标识问题的指导思想,同时增强微积分教学的情境性和应用性,可以帮助学生建立数学与计算机语言之间的联系。

以下是一个基于一阶线性微分方程求解并应用的Java的案例教学方案设计,主要功能包括三个模块:1) 方程求解模块:一阶线性微分求解算法的实现和调用;2) 问题定义模块:需要使用微分方程的具体问题定义(人口增长问题、传染病问题、湖水污染问题等);3) 主页面模块:显示系统菜单,提供各种操作选项。

方案内容和知识点对应见表1,具体设计内容如下:

1) 设计微分方程求解类ODESolver,该类针对求解一阶线性微分方程问题实现了Euler方法,输入为初值、求解区间、步长,输出为在求解区间上的离散点处的函数值近似解。

根据人口增长问题设计人口增长类Population,依据的一阶线性微分方程如下:

[dNdt=rN]

其中N是人口数量,r是人口增长率。使用Euler法或改进的Euler法进行数值求解,返回一个二维数组,每一行表示一个时间点和对应的人口数。

2) 定义接口(ODEFunction) ,声明对一阶线性微分方程问题求解的抽象方法,重构ODESolver类实现ODEFunction接口,并使用多态的方式调用。

3) 定义一个工具类(Utils) ,提供一些常用的方法,如输入输出数据,格式化日期,关闭资源等。这样可以讲解函数定义和调用的方式和规范。

4) 定义一个测试类(Test) ,创建ODESolver对象,并调用其方法来完成各种操作。在调用过程中,使用try-catch-finally语句来处理可能出现的异常,并打印异常信息。

5) 定义一个主类(Main) ,创建Test对象,并使用循环语句来显示主菜单,并根据用户输入执行相应操作。在循环中,使用switch-case语句来判断用户选择,并调用Test对象中相应方法。

6) 功能扩展和优化,使用多线程技术来实现并发操作或后台任务。

7) 使用Java的图形库绘制人口增长曲线,并显示在窗口中。

8) 根据ODESolver类的结构,设计求解一阶线性微分方程的改进Euler方法,梯形法等,并实现ODEFunction接口,理解多态的作用。

9) 根据人口增长模型,解决类似一阶微分方程问题:

①传染病问题:

[dIdt=rI(1-IN)-γI]

其中I是感染者的数量,r是感染率,N是总人口,γ是康复率。

②湖水污染问题:

[dCdt=k1(C0-C)-k2C]

其中C是湖水中污染物的浓度,C0是进入湖水的污水的浓度,k1是湖水的流出率,k2是污染物的自然净化率。

2.4 考核方式设计

根据本文所设计的教学模式、教学过程、教学资源,对传统的以卷面考试为主的学生成绩考核方式进行了相应的改革。该教学更加注重于学生在学习过程中的考核评估,将过程性评估和总结性评估的成绩占比分别设置为60%和40%,具体课程考核方式如表2所示,过程性评估满分为100分,线上教学平台学习总分60分,线下课堂讲授学习总分40分。总结性评估中的实际项目实践和卷面考试总分都为100分。各部分成绩按照权重得到最终成绩。

3 改革效果的评估和反馈

为了探究新的教学模式对学生学习效果和满意度的影响,将2021级学生的部分学生分为了实验班和对照班,实验班使用了改革后的教学方法,其中实验班和对照班的人数分别为82人和81人。使用教学评价和满意度问卷,对实验班和对照班的学生进行了比较。

3.1 教学评价

实验班和对照班的学生在过程性评估和总结性评估两个方面进行了统计和分析,结果如图2所示。实验班的线上教学平台学习平均分高于对照班5.6分,说明实验班的学生在完成课前预习、讨论并完成课前问题、完成课后作业等方面更加积极和主动。实验班的线下课堂讲授学习平均分高于对照班4.4分,说明实验班的学生在认真记录重点知识、积极与教师互动等方面更加投入和参与。实验班的实际项目实践平均分高于对照班8.8分,说明实验班的学生在Java程序设计的实际应用能力上明显优于对照班。实验班的卷面考试平均分也高于对照班8.4分,说明实验班的学生在Java程序设计的理论知识上也明显优于对照班。综上可知,新的教学模式能够有效提高学生的Java程序设计综合能力和水平。

3.2 课程满意度问卷对比

课程满意度问卷是衡量学生对课程内容、教学方法、教师态度等方面的认同和评价的重要工具,也是反映教学质量和效果的间接体现。在期末考试后,采用课程满意度问卷对实验班和对照班的学生进行了调查,问卷共包含10个问题,每个问题有5个选项(非常满意、满意、一般、不满意、非常不满意),每个选项对应5-1分,总分为50分。问卷的结果如表3所示。

从表3可以看出,实验班的课程满意度问卷平均分高于对照班5.6分,说明实验班的学生对融合微积分案例的Java程序设计课程混合教学模式更加认可和满意。实验班的标准差小于对照班0.8分,说明实验班的学生在课程满意度上的差异较小,整体评价较为一致。综上所述,新的教学模式能够有效提高学生的Java程序设计学习效果和满意度。

4 结论

针对应用型软件工程专业人才培养的特点,重新设计了Java程序设计课程的教学模式,采用了线上线下相结合的混合式教学方式。这种教学方式改善了教学过程,充分利用了课前与课后的非课堂时间,延长了学习时间,使知识的学习更容易被学生接受和掌握。同时,本文将微积分知识与Java程序设计相融合,丰富了教学资源,有利于学生进一步拓展知识面和视野。此外,本文还完善了考核方式,注重考查学生的实际应用能力和创新能力,培养出更加符合社会发展需求的应用计算机人才。

参考文献:

[1] 何小翔,蒋叶青,蒋守仁.Java编程语言及互联网设计[J].合肥工业大学学报(自然科学版),2002,25(1):105-108.

[2] 吴明玉,裴金萍,杨秀娟.“一流课程、两个引领、三大项目、四类竞赛” 人才培养体系探索与实践[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] 张绿云,吴启明,段巧灵.基于企业需求的Java课程教学改革研究[J].教育观察,2021,10(21):121-123.

[6] 卢冶,张其亮,白素琴.“金课” 视域下程序设计类课程混合式教学实践与思考——以Java程序设计课程为例[J].计算机教育,2021(8):30-34.

[7] 李国平,王晓青,柴春鹏,等.基于MOOC的线上线下混合教学模式在《高分子物理》中的教学探索——以 “高分子的分子运动” 为例[J].高分子通报,2022(10):162-168.

[8] 黄德群.基于高校网络教学平台的混合学习模式应用研究[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.

【通联编辑:王 力】