信息与计算科学专业数据结构中线性表实践教学案例

2023-10-13 09:20宿迁学院文理学院卫丽华
内江科技 2023年9期
关键词:数据结构泰勒案例

◇宿迁学院文理学院 张 欣 卫丽华

本文针对信息与计算科学专业特点,设计了《数据结构》中线性表这一知识点的实践教学案例。该案例包含了数学分析中泰勒公式的理论及应用、顺序存储的线性表的定义与应用,同时非常自然地融入思政元素。该实践教学案例的设计充分考虑了信息与计算科学专业学生的特点,有助于学生对数学和数据结构知识的理解。本文详细给出了该案例的教学过程,具有较强的可操作性。

1998年,教育部颁布了《普通高等学校本科专业目录(1998年颁布)》,将原计算数学及其应用软件、运筹学、控制科学、信息科学专业合并为信息与计算科学专业,属数学类专业[1]。由此可以看出,信息与计算机科学专业是在数学类专业的课程体系中嵌入计算机软件类课程,这是信息与计算科学专业设立的初衷,也是该专业的基因和特色。2012和2020年,教育部又分别颁布了《普通高等学校本科专业目录(2012年)》和《普通高等学校本科专业目录(2020年版)》,其中信息与计算科学专业为理学门类专业,属数学类专业,授予理学学士学位[2-3]。信息与计算科学专业的设立得益于计算机科学技术的迅猛发展,经过十几年的发展,从专业定位、人才培养模式、课程体系、实践教学环节、教学方法等方面都进行了积极的研究与探索[4-5],使该专业建设逐步走向完善。目前国内开设该专业的院校有337所,笔者所在院校宿迁学院于2008年在扬州大学的联建下开设该专业,是较早开设信息与计算科学专业的院校之一。笔者毕业于信息与计算科学专业,从2009年起多次承担《数据结构》的理论和实践教学工作,对信息与计算科学专业《数据结构》的实践教学工作总结了一些自己的经验,本文简述之。

1 《数据结构》课程地位与教学研究现状

《数据结构》是信息与计算科学专业课程体系中非常重要的一门专业课程,在课程体系中起着举足轻重的作用,是数据库、算法分析与设计、软件工程等专业课程的前导课程。该课程是多门计算机课程的必备基础。通过本课程的学习,学生可以具备数据组织和处理能力,也可以提高软件开发能力。《数据结构》的学习也为后续课程以及程序设计水平的提高打下良好的基础。

该课程具有较强的“计算机”属性,“数学”属性偏弱,因此,该课程的教学工作多由计算机相关专业的教师承担,教学内容的安排与设计也多与计算机相关专业一致,未能充分考虑信息与计算科学专业的特点,即信息与计算科学本质上仍属数学类专业,专业本身具有很强的“数学”属性。因此,在教学中,若能充分结合学生所学的数学知识,在实践教学中为信息与计算科学专业的学生“量身定制”一部分实验内容,一方面可以加深学生对数据结构和高等数学知识的理解程度,另一方面,也可以让学生体会到知识融合的魅力,提高学生学习兴趣。

关于信息与计算科学专业《数据结构》课程的教学改革,不少学者对此提出了好的理念和思路[6-10]。谢爽、吴彩云[6]提出了基于数学思维的《数据结构》课程教学方法研究,文章论证和分析了《数据结构》课程成绩与数学基础成正相关关系,且线性关系显著。王嘉[7]对信息与计算科学专业《数据结构》课程的教学进行了探索,提出将学习目标和实践环节分级,依托“微助教”平台进行信息化教学,通过线上导学、测评、实践指导等环节,优化教学过程。唐年庆、汪在荣[8]对数据结构中的线性结构教学进行了分析;黄紫成、隋占丽[9]探索了在移动学习环境下《数据结构》课程教学的改革;甘秋云、郑春聪[10]以《数据结构》课程为例,结合本科高校教学经验,探讨了基于OBE-CDI教学模式下的课程改革实践。本文在以上理论的基础上,从实践教学的角度给出了《数据结构》中线性结构的教学案例。

2 线性结构实践教学案例

《数据结构》的教学内容主要包含线性表、栈和队列、串和数组、树和二叉树、图、查找与排序等。我们主要在线性结构部分设计了与高等数学知识密切相关的实验,如表1所示。

表1 线性结构实验内容

本文主要对表1中的第一个实验项目进行详细阐述。

3 利用泰勒公式和线性表知识计算初等函数的值

3.1 该实验项目蕴含的数学知识

泰勒公式是数学分析中非常重要的内容,泰勒公式的几何意义是利用多项式函数来逼近原函数,由于多项式函数可以求任意阶导数,易于计算,且便于求解极值或者判断函数的性质,因此通过泰勒公式可以求函数值和获取函数信息。不仅如此,泰勒公式在算法的收敛性分析中也是非常基础和重要的工具。因此,熟练掌握、理解和运用泰勒公式对信息与计算科学专业的学生而言非常重要。

基于此,我们将泰勒公式的知识融入线性表这一知识点中,设计了“利用泰勒公式计算的值”这一实验项目。实验内容如下:

3.2 该实验项目涵盖的数据结构知识

有了上述知识,我们便可以利用数据结构中顺序存储的线性表来完成相应的计算。首先,定义顺序表的结构如下(用C语言描述):

3.3 该实验项目中所包含的思政元素

3.4 函数求值及运行结果

为了测试本案例代码的可行性和正确性,我们将运算结果与调用相应库函数计算得到的结果进行对比,并设计了部分测试用例进行测试。其中主函数代码如下:

在上述代码中,expValue(x),sinValue(x)和cosValue(x)这三个函数是本案例的代码;exp(x),sin(x)和cos(x)是库函数math.h中的函数。我们分别输入x=1,1.57,3.14,50,700,-1,-1.57,-3.14,-50,-700来进行测试,运行结果均与库函数运行结果相同,部分运行结果截图如下:

图1 =1时程序运行结果

图2 =700时程序运行结果

图3 =-700时程序运行结果

在实际教学中,除了与库函数的运行结果进行对比,我们还让学生将运行结果与手机自带的计算器运算结果进行对比。学生会发现不同型号的手机运算结果并不完全相同,有部分运行结果甚至是错误的。比如在计算时,库函数和本文中的程序运行结果均为:0.999999682932,而有些计算器计算出的结果为:0.017452406437,由于近似等于1才是合理的。计算余弦函数也存在类似问题。这样的发现增加了学生对科学知识的敬畏感,同时也激发了学生认真学习的热情。

4 结束语

该实践教学案例的设计充分考虑了信息与计算科学专业兼具“数学”属性和“计算机”属性这一特征,将数学分析中非常重要的泰勒展开式融入在数据结构的线性表这一知识点中,同时,在进行多项式求值时,非常自然地融入思政元素。本文详细地介绍了该实践案例的实施过程,具有较强的可操作性。利用该实验项目,学生可以体会到数学分析知识在数据结构中的应用,一方面提高学生对数学知识的理解;另一方面,学生利用所学的数据结构知识,可以切实地计算出初等函数的函数值,同时还能发现手机“计算器”这一应用中的一些错误,同学们也非常有成就感,提高了学生对数据结构的学习兴趣。

猜你喜欢
数据结构泰勒案例
案例4 奔跑吧,少年!
随机变量分布及统计案例拔高卷
发生在你我身边的那些治超案例
“翻转课堂”教学模式的探讨——以《数据结构》课程教学为例
高职高专数据结构教学改革探讨
一起绵羊泰勒焦虫病的诊断治疗经过
一个模拟案例引发的多重思考
TRIZ理论在“数据结构”多媒体教学中的应用
泰勒公式的简单应用
《数据结构》教学方法创新探讨