融合情境式教学的数据结构与算法课程探索与实践

2024-08-08 00:00:00彭岳
科教导刊 2024年20期

摘 要 数据结构与算法是计算机科学与工程领域的核心课程,但因课程内容的抽象性和复杂性,学生在学习过程中存在理解困难和兴趣流失问题,导致其难以有效地达成计算机人才培养目标。文章通过分析情境式教学的理论基础及当前教学现状,研究围绕哈夫曼树这样一个知识点构建与现实世界紧密相关的学习情境,设计基于情境的教学实施方案,并在实际教学中应用和评估效果。研究发现,情境式教学既能提高理论与实践的结合度,激发学生的学习动机与学习兴趣,又能增强学生的国家观念和历史使命感。

关键词 情境式教学;数据结构与算法;哈夫曼树与哈夫曼编码;人才培养

中图分类号:G424 文献标识码:A DOI:10.16400/j.cnki.kjdk.2024.20.041

Exploration and Practice of Data Structures and Algorithms

Course Integrated with Situational Teaching

——A Case Study of Huffman Trees and Huffman Coding

PENG Yue

(Nanjing Tech University, College of Computer and Information Engineering

(College of Artificial Intelligence), Nanjing, Jiangsu 211800)

Abstract Data Structures and Algorithms is a core course in the field of Computer Science and Engineering. However, due to the abstractness and complexity of the course, students find it difficult to understand and lose interest during the learning process, making it challenging to achieve the goal of cultivating computer talents. Through analyzing the theoretical foundation of situational teaching and the current teaching status, this study constructs learning situations around the knowledge point of Huffman Trees. A set of situational-based teaching implementation plans was designed and applied in actual teaching, along with an effectiveness evaluation. The research finds that situational teaching not only improves the integration of theory and practice, and stimulates students' learning motivation and interest, but also effectively enhances students' national consciousness and sense of historical mission.

Keywords situational teaching; Data Structures and Algorithms; Huffman Trees and Huffman Coding; talent cultivation

随着信息技术的飞速发展,计算机科学与技术专业也日益受到关注。数据结构与算法[1]作为计算机科学与技术专业的核心课程之一,其教学效果直接影响到学生逻辑思维能力和问题解决能力的培养。然而,因该课程的抽象性和复杂性,学生在学习过程中往往感到难以理解和兴趣缺失,成为当前教学改革中的一个重要挑战。情境式教学[2]作为一种有效的教学方法,通过构建具有现实意义的学习情境,激发学生的学习兴趣,提高学生的参与度和学习效率[3]。本研究旨在探索情境式教学在课程教学中的应用,特别是如何通过情境式教学方法来提升学生对数据结构与算法中哈夫曼树这一知识点的理解和兴趣。本文通过分析情境式教学的理论基础和当前数据结构与算法教学的现状,设计了基于上述情境的教学实施方案,并在实际教学中开展应用和评估。通过对教学实施前后学生学习兴趣、学习效果的对比分析,旨在验证情境式教学在该课程中的有效性,并为今后的教学改革提供参考和借鉴。

1 数据结构与算法课程的挑战

数据结构与算法是计算机科学与工程领域的一门核心课程,它不仅是理解计算机程序设计的基础,而且对于解决实际问题、提高程序运行效率和资源利用率具有重要意义,对于培养学生的逻辑思维能力、编程能力和解决问题的能力也具有重要作用。然而,在教学过程中,教师面临着如下挑战。

1.1 理论与实践脱节

该课程内容丰富,理论性强,学生在学习时往往难以将抽象的理论知识与实际应用联系起来。这种脱节导致学生在掌握了大量理论概念后,仍感到在面对实际软件开发任务时无从下手。课程往往过分强调算法的理论推导和数据结构的抽象模型,而忽略了这些知识在软件工程中的实践应用,比如为何要设计或采用某种数据结构,如何选择合适的数据结构或者特定算法以优化性能等。学生往往知其然而不知其所以然,空有理论基础却并不能灵活解决实际问题。

1.2 学习动机不足

由于课程的抽象性和难度,部分学生对于深入学习缺乏足够的兴趣和动力,核心原因源于学生对课程内容的实用性和相关性缺乏直观感受。这门课程通常涉及大量的理论知识和抽象概念,如果教学方式单一、缺乏创新,很容易让学生感到枯燥乏味,从而降低学习兴趣。此外,当学生无法清晰地看到所学知识与实际应用之间的联系时,他们可能会质疑知识的价值,进一步减弱学习动机。

1.3 与思政教育结合难度大

本课程主要关注技术和理论知识的传授,而思政教育则侧重于价值观的培养和思想道德教育。两者内容的显著差异和目标的不同导致教师在教学实践中难以找到一个自然而有效的结合点,最终往往会形成思政教育缺失的情况,或者为了思政而思政的生硬的教育模式[4]。

2 引入情境式教学的必要性

2.1 情境式教学的理论基础

情境式教育是一种以学习者为中心的教学方法,其核心理念是在真实或模拟的情境中进行教学,以增强学习内容的相关性和实用性。这种教学方法的理论基础主要来源于认知心理学和构建主义学习理论,强调知识和技能的学习应当在具体的语境中进行,以促进学生对知识的深入理解和应用能力的提升。情境式教育的优势在于它能够激发学生的学习兴趣,通过提供与现实生活紧密联系的学习情境,使学生在解决实际问题的过程中主动探索和学习,从而实现知识与实践的有效结合。此外,情境式教育也使得抽象的思政理论知识变得具体化、生动化,从而增强学生的学习兴趣和参与度,通过促进学生在特定情境下的情感体验和价值判断,有助于加强思想道德建设和价值观引导,培养学生的社会责任感和历史使命感。

数据结构与算法作为计算机科学的核心内容,其抽象性和逻辑性要求学生不仅要理解理论,还要能将理论应用于实践。情境式教学通过创设与学生未来职业生涯或日常生活相关的实际情境,使学生在解决问题的过程中应用所学的知识,这种“学以致用”的过程有助于学生深化对理论知识的理解和掌握。同时,在课程中开展情境式教学还符合认知负荷理论的观点,即通过减少不必要的认知负荷,让学生将注意力集中于关键概念的学习上。在课程学习中,通过将复杂的概念和算法应用于具体的情境,可减少学生对抽象概念理解的难度,使其更容易集中精力理解和掌握核心知识点。

2.2 结合情境式教学开展教学活动的优势

结合情境式教学开展教学活动,可有效应对当前课程教学中面临的挑战:①提高理论与实践的结合度。通过设计与真实世界相关的情境任务,让学生在解决具体问题的过程中运用理论知识,强化理论与实践的联系。②激发学习兴趣和动机。情境式教学通过引入有趣的情境背景和任务,增强学生学习的趣味性和参与度,从而提高学生的学习动机。③适应不同学生的学习需求。情境式教学强调个性化学习和合作学习,通过小组合作解决情境任务,充分考虑不同学生的背景和能力,促进学生间的互助和学习。

综上所述,结合情境式教学开展数据结构与算法的教学活动,不仅可以有效解决课程当前面临的挑战,还能提升学生的学习效果和综合能力,为学生未来职业生涯的发展打下坚实的基础。

3 数据结构与算法课程情境构建

3.1 情境设计的原则与目标

情境设计是情境式教学的核心环节,其目的是通过模拟真实的或具有实际意义的情境,激发学生的学习兴趣,提高学生的参与度和学习效率。在设计情境时,应遵循以下几个原则:真实性、相关性、挑战性和趣味性。真实性原则要求情境设计需要贴近学生的生活实际或专业实践,以增强学生的学习动机;相关性原则强调情境与学习内容的紧密联系,确保学习活动的目标明确;挑战性原则鼓励教师设计具有一定难度的任务,促进学生主动探索以解决问题;趣味性原则是指通过有趣的情境设计吸引学生的注意力,提高其学习积极性。

本研究选取了数据结构与算法课程中的哈夫曼树与哈夫曼编码这一知识点,基于上述理念开展情境式教学,使学生理解并掌握最短带权路径和的概念、哈夫曼树的构建过程以及哈夫曼编码的原理和应用。通过结合具体情境可以让学生更加深刻地理解信息编码与数据压缩的本质思路,从而自发地设计和构造哈夫曼树来完成情境中信息编码与传递的要求。

3.2 情境背景的构建

哈夫曼树是数据结构与算法中的一种经典数据结构应用,它是根据字符出现的频率或概率构建的一棵二叉树,以实现最优的编码方案。哈夫曼编码是一种基于哈夫曼树的编码算法,通过构建哈夫曼树,每个字符可以被编码为一串不等长的二进制码,其中频率高的字符使用较短的编码,频率低的字符使用较长的编码,从而实现数据的有效压缩。哈夫曼编码的原理和应用在信息论和编码理论中占有重要地位,是数据结构与算法中的重要知识点之一,也是计算机专业学生必须掌握的基础知识之一。

此章节选取了抗战时期解放军通信兵在战场上及时有效地传递作战信息的场景。在这一背景下,高效地传递战场信息成为胜利的关键,战场中通信环境艰难恶劣,战机稍纵即逝,需第一时间传递有效的战况,为了确保信息的安全传输并尽量减少被敌方截获的风险,通信兵需采用一种高效的加密方式,从而引出了哈夫曼树和哈夫曼编码的概念。为了让学生更好地理解哈夫曼树在情报加密和数据压缩中的应用,教师构建了一个虚拟的战报传递任务,学生需要利用哈夫曼树的原理来设计高效的战报加密和传输方案。

3.3 情境活动的设计

3.3.1 引入情境

教师通过视频、图片、文献等多媒体材料,向学生介绍抗战时期的历史背景和解放军通信兵是如何在艰苦的环境中发挥“千里眼顺风耳”的作用。通过这种情感化的引入,交代了任务的背景,激发了学生的兴趣和好奇心,同时也增强了学生的国家观念和历史使命感,并且为后续的知识点学习奠定了基础。

3.3.2 问题提出

教师提出问题:如何在通讯环境恶劣、通信成本很高的前提下,有效且高效地传递信息。引导学生思考不同加密形式下信息平均长度的区别,自然而然地引出最短带权路径和的概念和哈夫曼树的必要性。通过这一步骤,学生被推动去深入探索和理解哈夫曼树的构建原理和应用价值,从被动学习转为主动学习和思考,并更深入理解任何一种数据结构与算法的提出都是为了解决某一类实际问题。

3.3.3 学生探索

分组让学生通过查阅资料、小组讨论等方式,探索哈夫曼树的构建过程和原理。教师不是直接传授知识,而是为学生的自我探索提供指导。通过小组合作,学生在相互讨论和资料交流中学习和理解复杂的数据结构和算法概念。教师的指导帮助学生将抽象的数据结构、算法概念与具体的实战通信任务联系起来,让他们在学习中主动寻找解决问题的策略和方法。

3.3.4 实践应用

教师设计一个模拟的战报加密与传递活动,让学生自行设计编码加密方式,在相同的情报文本上与哈夫曼编码进行对比,以评估加密效率。通过这种模拟实践,让学生亲身体验到哈夫曼树在信息安全传输中的应用价值。

3.3.5 反思讨论

活动结束后,组织学生进行反思讨论[5],讨论哈夫曼树作为一种经典的数据结构在现代信息技术中的应用,如数据压缩、通信系统等。教师通过引导学生回顾并反思整个情境活动,帮助学生总结学习经验,加深理解,提出疑问,从而巩固学生在数据结构与算法方面的知识和技能。同时,反思讨论也使学生能够更好地理解情境中的团队精神和创造性思维,为未来的学术和职业生涯打下坚实的基础。

4 结语

本研究通过深入探索情境式教学法在数据结构与算法课程教学中的应用,设计和构建具体教学情境,有效地激发了学生的学习兴趣,促进学生更加深入地理解知识点,同时更加自然地融合了思政背景,在情境中润物细无声地为学生开展爱党爱国思政教育。研究不仅验证了该教学方法的有效性,而且还为教学实践提供了具体的实践尝试,从而进一步优化教学方法,提高教学质量,为学生的全面发展奠定了坚实的基础。

参考文献

[1] 严蔚敏,李冬梅,吴伟民.数据结构(C语言版)[J].计算机教育,2012(12):62-62.

[2] Gardner G,Harrelson G L.Situational teaching:Meeting the needs of evolving learners[J].International Journal of Athletic Therapy and Training,2002,7(5):18-22.

[3] 莫宝庆.情景式教学对培养学生知识应用能力的促进作用[J].医学教育探索,2007,6(6):494-495.

[4] 高德毅,宗爱东.从思政课程到课程思政:从战略高度构建高校思想政治教育课程体系[J].中国高等教育,2017(1):43-46.

[5] 陈家刚,鲍同梅.国外高校教学反馈:手段、特点及对我国高校的启示[J].现代教育科学:高教研究,2008(6):153-155.