九江学院教务处

站内搜索:

 首页  作息时间  新闻动态  通知公告  机构设置  规章制度  教学建设  教师发展  专业认证  劳动教育  办事指南  文件下载 
  当前位置:文章正文  

校级课程思政示范课《数据结构》课程思政教学案例
2023-04-13  

 

案例一

1.案例基本信息

案例名称:创新无处不在-哈夫曼树及应用

对应章节:5.4 哈夫曼树及应用

2.案例教学目标

(1)引导学生要遵守职业道德和规范,要有保密意识。

(2)加强学生创新意识和工匠精神的培养。

3.案例主要内容

(1)H公司有两个骨干员工,下班后也需要经常交流工作上的事情,两位员工都很谨慎,他俩根据聊天中常见字符的频率,编制了一套加密编码,在聊天过程中,对于一些关键信息,会用自己设计的编码加密后再发送给对方。

(2)哈夫曼的生平事迹及算法产生的背景:戴维.哈夫曼,1925年出生于美国俄亥俄州一个非常普通的家庭。在他27岁攻读博士学位的期间,他的导师Fano教授出了一道选择题:你可以选择复习功课,参加期末考试,也可以选择提交一篇学期论文,就可以免考。Fano教授针对学期论文布置的问题如下:寻找最有效的二进制编码。由于无法证明哪个已有编码是最有效的,哈夫曼放弃对已有编码的研究,转向新的探索,最终发现了基于二叉树结构的哈夫曼编码。哈夫曼除了发明了哈夫曼编码,在其他方面也有创新,比如他设计的二叉最优搜索树被认为是同类算法中效率最高的。日常生活中的哈夫曼喜欢折纸,他将折纸艺术与数学结合起来,把一张张普通的白纸变成了艺术品。

 

(3) 约翰是一个农场主,他在巡视农场的时候发现有些篱笆已经坏掉了,维修篱笆需要一些长短不一的木条,于是约翰买了一根长木条,然后请来了伐木工人唐德为他切割,唐德的收费方案是:切割一根木头的费用正好等于它的长度。假设这根木条的长度恰好等于需要维修篱笆的木条长度之和,请帮助约翰制定一个付费金额最少的切割方案。

 

4.教学设计

教学过程设计

线上课前学习

(课前)

 

线下课堂教学

(课中)

教学活动

教学方法

设计意图

提问:如何设计一套加密编码用于日常生活中的交流?

例:H公司有两个骨干员工,下班后也需要经常交流工作上的事情,两位员工都很谨慎,他俩根据聊天中常见字符的频率,编制了一套加密编码,在聊天过程中,对于一些关键信息,会用自己设计的编码加密后再发送给对方。

问题导向

通过导入问题,留下悬念,引发学生对编码的兴趣,同时引导学生要遵守职业道德和规范,保守企业机密;并进一步引导学生要爱自己的国家,保守国家秘密,维护国家安全,人人有责。

介绍哈夫曼的生平事迹、哈夫曼算法产生的背景,让学生意识到创新可以出现在老师布置的期末大作业中,创新也可以出现在我们的日常生活中。

创设情境

通过了解哈夫曼的一些生平事迹,引导学生发现生活处处有创新,创新无处不在;要养成多动脑,勤思考的习惯,以激发自身的创新意识;同时,还需丰富知识储备,提升自身的创新能力。

哈夫曼树的应用:约翰修篱笆的最少费用方案。

哈夫曼树的构造过程可以看成是木头的拼接过程,而木头的切割方案则可以看成是木头拼接过程的逆过程,所以可以利用哈夫曼树的构造过程来描述切割木条的方案。

案例分析

引导学生要打破常规,从逆向思维的角度分析问题、解决问题。同时引导学生解决问题要寻求最佳方案,以最小大代价达到最大的效益。

利用超星学习通发布分组任务:从代码实现的角度,详细描述约翰修篱笆问题的算法实现思路。通过生讲生评的方式,增强学生之间的互动,帮助提升学生的自信心和表达能力。

约翰修篱笆问题的算法实现思路,可以用数组也可以用链表作为存储结构,还可以利用堆来改进算法的效率。

分组研讨

 

培养学生的团队意识,加强小组成员的沟通交流,群策群力,提出解决问题的多种思路,从中找寻解决问题的最佳方案。引导学生算法设计时要追求更高效率,要有精益求精、追求卓越的工匠精神。

对课前布置的成绩评定讨论题进行分析。

在软件开发中,经常会遇到解决大量判定问题的时候,在解决这类问题的时候,习惯做法是按照判定条件的连贯性自上而下逐个判断,而实际上大量的判定问题普遍存在满足中间条件多、两头条件少的现象。引导学生在哈夫曼树的构造过程中增加约束条件,通过建立最佳判定树得到比较次数最小的成绩评定方案,这也意味着站在用户的角度,响应时间会更短,会给用户带来更好的体验。

问题探究

鼓励学生勇于创新、大胆尝试,创新就在我们身边。引导学生把哈夫曼树的构造过程通过增加约束条件创新应用到成绩评定的比较环节。并再次对学生强调编写程序要养成注重细节,追求更高效率的良好习惯,以加强学生工匠精神的培养。

课后实践与拓展

(课后)

1.       课后拓展:数据结构中有很多算法因为其独特的创新思路,故而以算法提出者的名字命名。通过查阅资料,谈谈你所知道的一些以人名命名的算法,简单介绍一下算法产生的背景及功能。

2.       课后任务:编程实现约翰修篱笆问题的切割方案,需给出算法思路分析、代码及执行结果截图。

5.教学反思

1)数据结构课程教学采用的是线上线下相结合的混合教学模式,可以采用讨论、情境设置、案例分析、问题导向、问题探究等多种教学方法,将课程思政贯穿“课前课中课后”教育教学的全过程。

2)数据结构课程基本算法和经典算法较多,在教学中应收集这些算法提出者所作出的贡献,挖掘算法背后的故事,形成有效开展课程思政的活素材,通过这些素材与课堂教学的植入,帮助学生了解科学家发现问题、分析问题和解决问题的计算思维模式,学习科学家们锲而不舍的探究创新精神,引导学生树立科技强国的坚定信念。

3)强调学以致用,不光要掌握算法本身的实现思想,更要能利用算法解决实际问题。在算法的实现过程中,要正确引导学生从不同角度看待问题或事物,激发学生的探索精神和创新精神,尝试多种方式解决同一问题,并分析结果的异同,不断去追求算法的完美性,培养学生勇攀科学高峰的勇气以及精益求精的大国工匠精神。

 

 

案例二

1.案例基本信息

案例名称:守规矩但不墨守陈规-队列

对应章节:3.5 队列

2.案例教学目标

1)引导学生要尊重社会公德,遵守公共秩序,要守规矩但是不要墨守陈规。

2)增强学生的民族认同感、文化自信心和家国情怀。

3.案例主要内容

1)排队现象在日常生活中随处可见,到食堂打饭要排队、去超市购物结账要排队、进火车站要排队、核酸检测要排队,排队使公共场所有了秩序,使各项服务、工作能有序、高效地运行,而插队、加塞等行为会引起推搡、引发争执和混乱,甚至会带来意向不到的严重后果。

2)国际足联世界杯小组赛出线规则:32支参赛队通过抽签分为八个小组,每个小组分别有四只球队进行比赛,每支球队都必须和其他三支球队进行且只进行一场比赛,每组4个队循环比赛,共打6场,每场比赛90分钟,胜平负分别积310,每个小组积分的前两名球队出线进入淘汰赛阶段的“16强”。已知2022年卡塔尔世界杯32强分组名单如下,请利用队列的基本操作,编写算法,打印各组内的循环比赛对战名单。

3)《道路交通安全法》第53条规定:警车、消防车、救护车、工程救险车执行紧急任务时,可以使用警报器、标志灯具,在确保安全的前提下,不受行驶路线、行驶方向、行驶速度和信号灯的限制,其他车辆和行人应当让行。

 

4.教学设计

教学过程设计

线上课前学习

(课前)

1.阅读教材3.5节,观看视频3.7.13.7.3

知识点:队列的特点,循环队列,链队列。

2.完成练习6 队列。

3.完成讨论:简述队列、栈、线性表三者之间的关联和区别。并列举出你在生活中发现的“栈”、“队列”和“线性表”。

线下课堂教学

(课中)

教学活动

教学方法

设计意图

通过引入日常生活中的排队现象:食堂打饭、超市购物结账、进火车站、核酸检测等,引出队列的基本概念,通过观察现实生活中的排队现象,了解队列“先进先出”的特点及队列的作用。

在讲解队列的过程中,让学生意识到秩序的重要性,课堂上要遵守课堂秩序才能保证教学的有序进行,企业员工要遵守企业的规章制度才能保证生产的正常进行,行人、车辆只有遵守交通法规才能保证交通有序、安全地运行。

创设情境

引导学生意识到排队制度使公共场所有了秩序,使得各项工作能高效地运行,进一步引申学校和企业的规章制度,让大家的学习和工作能安定有序地进行,国家制定的各种法律法规,能让人们的生活有安全保障。

引导学生既要尊重社会公德,遵守公共秩序,同时也要遵守学校规章制度,遵守交通规则,遵守国家法律法规。

针对基础和重点知识,进行随机抽查、随堂检测,讲解课前布置作业;收集问题,答疑解惑。

对课前布置的讨论题进行分析,总结线性表、栈和队列三种结构的异同点,栈和队列可以看作操作受限制的线性表。

问题探究

检查学生线上自学情况,查漏补缺。 引导学生辩证看待线性表、栈和队列三者之间的关系,线性表的优点在于插入和删除位置不受限制,而栈和队列的优点在于可以高效模拟实际应用中的类似场景。

国际足联世界杯小组赛出线规则如下:32支参赛队通过抽签分为八个小组,每个小组分别有四只球队进行比赛,每支球队都必须和其他三支球队进行且只进行一场比赛,已知2022年卡塔尔世界杯32强分组名单如下,请利用队列的基本操作,编写算法,打印各组内的循环比赛对战名单。

指导学生利用队列的出队、入队、判队空、遍历等操作,解决上述问题。

算法实现思路:将小组内的球队依次入队,只要队列不为空,队头元素出队,再遍历队列中的元素,直到队列为空为止。

分组讨论

指导学利用队列解决实际问题的同时,讲解卡塔尔世界杯上出现的中国元素,从体育场馆建设到电力保障,从赛场内体育用品和企业品牌到赛场外的保障设施等等,中国制造、中国建造、中国品牌,为世界杯提供了强有力的支持。体现出中国经济强大的竞争力、影响力。增强学生对中华民族的认同感、自豪感,培养学生的家国情怀。

情境导入:在排队等待红绿灯时,正在执行任务的救护车和消防车拥有优先通过的权利。

通过跟学生讲解《道路交通安全法》第53引出优先队列的概念。优先队列中的元素被赋予了优先级,优先级最高的元素最先删除,优先队列具有“优先级最高先出”的特征。

优先队列的算法实现,可以用排序、查找、直接插入等操作,也可以用堆提高算法的性能。

创设情境

讲解优先队列思想的同时,引导学生,遇到正在执行任务的消防车和救护车时,要主动避让,为生命让道。进一步引导学生处理任何问题必须遵循必要的规矩,但是面对具体问题和工作中的复杂性,又要敢于打破常规,勇于创新,守规矩但不墨守陈规。

课后实践与拓展

(课后)

课后任务:约瑟夫环(约瑟夫问题)是一个数学的应用问题,已知 n 个人(以编号123...n分别表示)围坐在一张圆桌周围。从编号为 k 的人开始报数,数到 m 的那个人出圈;他的下一个人又从 1 开始报数,数到 m 的那个人又出圈;依此规律重复下去,直到剩余最后一个胜利者。请利用所学的数据结构(如:顺序表、链表、队列等)解决约瑟夫问题,尽可提供多种解决方案,给出算法设计思路,算法效率分析、代码及运行结果截图。

2.课后讨论:

 

5.教学反思

1)兴趣是最好的老师,想让学生积极主动参与课程思政,必须保证思政元素与专业知识的融入具有趣味性和吸引力,除了引入计算机发展历程中的代表性人物或里程碑事件的介绍以外,思政元素的挖掘还可以从学生关注的行业大事件以及当前社会的热点事件出发,引导学生关注国内外时事和本学科的研究与应用前沿。

2)课程思政的评价方式可以采用调查问卷、心得体会等诊断性评价和终结性评价方式,判断学生的思想状况,也可以通过学生参与思政问题的讨论情况、教学过程的记录等进行评价和反馈。

3)一个案例可以应用于多个教学知识点,如约瑟夫问题就可以贯穿线性表、栈和队列的始终,让学生尝试用不同的数据结构解决此问题,对算法效率进行分析,并给出算法的实现。这样既能加强学生对基本数据结构的应用,也能让学生深切体会到用不同数据结构解决同一问题的差异性,从中找到效率最佳的解决方案,培养学生综合运用知识解决问题的能力和精益求精的工匠精神。

 

关闭窗口

教学信息查询  

 

成绩上传查询 | 课程课表查询
考试网上报名 | 公共体育选课
学生学籍信息 | 教学质量评价
教学专题栏目  

 

尔雅网络课程
专升本工作

地址:江西省九江市前进东路551号九江学院教务处(主校区2号行政楼)

Copyright © 2015 Academic Affairs Office Of Jiujiang University All Rights Reserved