APP下载

基于知识图谱的“223”实践教学模式在离散数学课程中的应用

2024-09-13柴玉梅李迎春

电脑知识与技术 2024年22期

摘要:离散数学是计算机专业的一门必修课,其理论知识广泛应用于计算机相关领域工程问题的建模与分析。为解决教学过程中“重理论,轻实践”、知识点琐碎等问题,结合团队多年的教学经验,提出基于知识图谱的“223”实践教学模式,给出了详尽的教学案例。实践表明,这样的改革不但提升了学生学习离散数学的兴趣,而且提高了自主学习和程序设计与实现的能力。

关键词:离散数学;知识图谱;知识点;实践教学模式;选派问题

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

文章编号:1009-3044(2024)22-0137-04

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

0 引言

离散数学是计算机及其相关专业的一门必修课,也是2021年底教育部启动实施的计算机领域本科教育教学改革试点工作计划(简称“101 计划”) 12门核心课程之一,涵盖数理逻辑、集合论、图论等多个分支,广泛应用于计算机相关领域工程问题的建模与分析。针对“定义-定理-证明-习题”的传统理论授课方式,笔者结合自身教学经验,对课程已做出一些改革与实践[1-2],但当前的教学方式仍存在不足之处,主要表现在:①知识点琐碎,缺乏整合及有效的呈现方式。“学习通”中的课程资源按照传统的章节组织,学生难以将零散的知识点有机地结合起来,形成一个完整的知识框架和全局性的认知,学习效果不佳。②教学内容侧重理论知识传授,导致多数学生认为课程枯燥乏味、缺乏实用性。“能够使用离散数学基本知识对计算机科学领域的有关离散量的实际问题建立模型并设计解决方案”这个课程目标的达成度不理想。为解决上述问题,迫切需要将现有的课程资源进行重构、整合、关联,优化知识表达,让知识“看得见”“看得全”“活起来”。

知识图谱是结构化的语义知识库,用于以符号形式描述物理世界中的概念及其相互关系,其基本组成单位是“实体-关系-实体”三元组,以及实体及其相关属性——值对,实体间通过关系相互联结,构成网状的知识结构[3]。课程知识图谱采用图示的方法,建立课程内各知识点之间的关系,并且把每个知识点关联多种学习资源包括多媒体、图、文、声、习题、测试、超链接等,可以实现知识点的充分细化和有效重组,既能改善教学效果,又有助于学生对课程的深度理解。

本文针对现有教学的特点及不足,借助知识图谱相关技术,在本校范围内首次将编程作业引入离散数学课,以应用离散数学知识解决实际问题为导向,提出“223”实践教学模式,助力课程建设。

1 基于知识图谱的“223”实践教学模式案例

1.1 教学准备

依托超星泛雅平台,从现有的课程章节中导入知识点并辅以人工调整的方式抽取课程知识点,建立知识点之间的关系。之后,将知识点与多模态教学资源进行关联,从而完成离散数学课程知识图谱的构建。

本校相关专业的离散数学课开设在大一第二学期,学生在第一学期学过C++程序设计,有一定的编程基础但应用能力略显不足。此外,课程总学时数为48,均为理论授课,无实验学时,因此编程实践只能在课余完成。综合以上情况,依托小程序在线评测系统(OJ),精选出4个项目:①利用逻辑推理知识解决选派问题;②等价关系应用于分配软件开发模块;③应用拓扑排序编排先修课程;④用图论中的节点度数序列解决POJ中的“青蛙的邻居”题目。

1.2 教学模式设计

课程实践教学改革采用“223”模式,即“线上/线下”2种教学方式相结合、“超星泛雅+OJ系统”2个平台相辅相成和“课前-课中-课后”3个教学阶段互为补充。具体流程如图1所示。

1.3 教学实施

以第一次实践项目为例。问题描述:A、B、C、D四个人中要派两个人出差,按下述三个条件有几种派法?如何派?①若A去,则C和D中要去1人。②B和C不能都去。③若C去,则D要留下。

1) 课前预学。课前,教师将已经完成的课程知识图谱、实践项目的具体描述、项目涉及的最核心知识点等形成自测题发布到泛雅平台。学生在图谱中搜索,得到与项目对应的部分知识图谱,由图谱可知前置知识点的掌握情况。如果不理想,按照泛雅平台提供的“学习路径”,选择相应的关联资源进行巩固复习,然后完成自测题,同时记录暂时未解决的疑问。“选派问题”的课前预习内容如图2所示。

学生登录泛雅平台进入课程知识图谱后,在搜索栏输入“主范式的应用”可以看到图3所示的局部知识图谱。由该图可知,“主范式的应用”前置知识点包括:①命题连接词;②命题符号化;③真值表;④主范式的求法。其关联知识点有:①命题公式的分类;②等价公式证明。

在图3中选择某个知识点,可以查看“学习路径”,了解该知识点的掌握情况。图4所示为某生的“学习路径”,可以清晰地看出该生各个知识点的掌握率。如果想对某个知识点进行复习,在图3中选择该知识点,即可找到关联的学习资源,包括“章节测验”“视频”“课件”等,有针对性地进行巩固学习。所有的前置知识点都掌握后,完成图2所示的自测题,至此课前预学结束。

2) 课中研学1。这个环节的教学活动主要在线下课堂进行。教师从知识图谱中精准掌握了学生的预习情况后,可以聚焦错误率高的问题,而非逐一详细讲解,从而大大节省宝贵的课堂时间。

对选派问题,从知识图谱中教师得到3个自测题目的正确率统计,第一题为61%,第二题为95%,第三题为94%。显然,第一题的错误率最高,进一步查看统计详情,得到图5所示饼图。可以看出,有11.81%的学生选择A选项,即将“C和D中要去1人”翻译成了“析取”,究其原因是混淆了“可兼或”与“排斥或”。进行重点分析,这句话的意思是“C和D要去,但只能去1个,不包括两个人都去的情况”,所以应该是“排斥或”。表示“排斥或”的有两个选项,即C、D选项正确。

接下来,讲解本题的建模过程。题目的3个条件分别符号化为:①A→(C∧¬D)∨(¬C∧D)②¬(B∧C)③C→¬D。满足三个条件的选派方案可以写成命题公式G⇔(A→(C∧¬D)∨(¬C∧D))∧¬(B∧C)∧(C→¬D)。求出G的主析取范式即可分析出问题的解。

之后,引导学生思考:真值表法和等值演算法哪个更适合编程求主析取范式?通过讨论,大家一致认为真值表法较合适。如何构造公式G的真值表?需要列出4个变元A、B、C、D的真值组合情况,然后构造子公式的真值,直到列出公式G的真值表。一番热烈交流之后,大多数同意采用四重循环(A~D分别从0循环到1)的方式来实现该功能。

最后,教师在OJ系统发布编程作业。如图6所示。

3) 课后拓学1。学生课后利用业余时间在OJ系统选择自己熟悉的编程语言写代码、提交,系统自动测评、反馈错误信息。学生找出代码的bug进行修改,直到程序被系统接受。教师在OJ系统后台查看学生提交的代码,及时发现问题并给予指导。此次实践项目,帮助学生解决代码中的48个答案错误、13个运行错误、66个编译错误及1个格式错误。作业结束时,统计数据表明:共提交343次,正确105次,有些同学尝试用不同的方法来解决问题,故进行了多次提交。

4) 课中研学2。编程作业结束后,课堂上抽出大约10分钟的时间让学生分享自己的解决方案,教师和其他学生进行点评。两份代码片段如图7所示。“能想到用‘移位’和‘按位与’运算列出4个变元的16种真值组合情况,妙啊!”有的同学感慨道。还有的同学表示第一次看到bitset的用法,准备用在自己的程序中。之后,教师结合本次实践过程总结利用离散数学知识解决实际问题的步骤:自然语言描述的问题→离散数学语言描述(建模)→编程语言描述(解决问题)。

最后,老师在OJ系统布置用同类模型可以解决的其他编程题目:“甲、乙、丙三人对一块矿石进行判断,每人判断两次。甲认为这块矿石不是铁,也不是铜;乙认为它不是铁,是锡;丙认为它不是锡,是铁。已知老工人两次判断都对,普通队员两次判断一对一错,实习生两次判断都错。试问此矿石是什么矿?甲、乙、丙三人各是什么身份?[4]”

5) 课后拓学2。学生听取教师的总结和同学们的分享后,可以选择完善之前的程序,也可以对本次实践过程进行归纳总结形成实验报告、绘制自己专属的知识图谱,还可以完成OJ上扩展的编程题目。教师则可针对学生提交的成果进行个性化指导。

“选派问题”经过课堂第二轮交流后,有10名同学完善之前的代码,代码行数由最多的95行降到48行;20名同学在“学习通”提交实验报告;36人完成OJ系统的选做拓展作业。还有2名同学在图3的基础上绘制了自己的“跨课”图谱,如图8、图9所示。

1.4 实施效果

课后收到学生的一些反馈,如“知识图谱很有趣,不但能一目了然知识点之间的关系,还能制作自己的图谱。随着课程的进行,打算绘制更多的专属于自己的知识图谱。”还有一些同学表达在离散数学课中引入实践环节的看法:“编程作业能将我们学习的C++知识和离散数学知识成功联系到一起,更加开阔思维,对C++有更深一层的认识。”对教学模式,有的同学认为:“老师在编程作业开始之前的提示,对我打开思路非常重要。”“观摩同学们的代码让我了解到很多不一样的实现方法,拓宽了视野。”

这些主观评价在一定程度上反映了改革的成效,但为了更好地了解“223”模式的教学效果,实践项目结束后,对笔者执教的计算机科学与技术专业2023级82名学生,从7个方面进行了问卷调查,详细结果见表1。

从调查结果可以看出,有90.24%的学生赞同在离散数学课中引入编程环节,能激发自己对这两门课程的学习兴趣。对OJ系统的认可度更是达到了92.68%。认为知识图谱在课前预学阶段有帮助的约占89%,但课后打算用知识图谱做总结的不足40%,需加大课程知识图谱的推广。对于新的教学模式,91.46%的学生表示非常喜欢或喜欢,只有6.10% 的学生持不确定态度,没有非常不喜欢的学生。总体来说,学生对这种新的教学模式满意度较高。

2 结束语

“223”实践教学模式以编程求解离散数学问题为导向,发挥知识图谱的可视化、问题精准定位之优势,借助OJ系统便捷高效的特点,不仅提高了学生学习离散数学的兴趣,而且拓宽了程序设计的广度,培养了学生的数学思维能力,将原来抽象的理论通过建立模型、编程求解,让知识以亲眼可见的方式“用起来”“活起来”。

参考文献:

[1] 柴玉梅.融入课程思政的离散数学课教学设计[J].电脑知识与技术,2020,16(34):133-134,152.

[2] 柴玉梅.一种针对大一学生的离散数学教改方案[J].电脑知识与技术,2020,16(26):129-130.

[3] 刘峤,李杨,段宏,等.知识图谱构建技术综述[J].计算机研究与发展,2016,53(3):582-600.

[4] 贲可荣,袁景凌, 谢茜.离散数学[M].3版.北京:清华大学出版社,2021:50-51.

[5] 杜丽美,张剑妹.基于OBE和PBL融合的离散数学教学改革[J].计算机教育,2023(5):149-154.

[6] 白莲花,贾永旺.基于“两个世界转换框架”的课内探究型教学案例设计[J].计算机教育,2021(4):147-150.

【通联编辑:王 力】