《数据结构》网络辅助教学平台的设计与实现

2017-11-20 21:18李莉田翔华李丰军森干毕雪华
电脑知识与技术 2017年26期
关键词:教学服务数据结构自主学习

李莉+田翔华+李丰军+森干+毕雪华

摘要:该文依托我校“课程中心”,满足学生自主学习的需要,设计并实现了基于校园网的数据结构课程辅助教学系统,并在我校实施应用,为学生的课前预习、课堂教学、课后练习、重点回顾等提供了个性化的教学服务,取得了显著的效果,提升了教学质量。

关键词:数据结构;网络辅助教学;自主学习;个性化;教学服务

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)26-0130-03

Abstract: In this paper, basing on "curriculum center" of our school, satisfying students' autonomous learning, we designed and implemented the data structure course aided teaching system Based on campus network, and application in our school, for students to preview before class, classroom teaching, after-school practice, focus on provide personalized teaching service, achieved significant effect, improved the quality of teaching.

Key words: data structure; network assisted instruction; autonomous learning; individualization; teaching service

1 背景

随着计算机技术和网络教育的深入发展,尤其是高等教育改革的需求,为解决传统教学模式易受时间、空间限制,无法满足教师教学的多层次多样化和学生个性化学习的需要,我校大力开展“课程中心”的建设,充分利用计算机网络这一现代化的教学手段,为学生创建一个全面、开放、自主、个性化的教学服务,从而促进学生自主学习,提升教学质量。

数据结构是我校医学信息管理专业的一门重要专业基础课程,该课程主要研究非数值计算的程序设计问题,涉及大量的概念、数据模型和算法,是软件设计与开发的必备基础。但由于该课程理论和实践性强、内容丰富且抽象,学生普遍反映存在学生难学、教师难教的困境。因此探索和构建新的教学模式、教学方法是教学组一直以来重点研究的一个课题。经过多年的探索和实践,在我校“课程中心”网络平台上提出采用最新的多媒体和web技术设计实现了自主的、多媒体化和交互性强的《数据结构》课程的教学辅助系统,来辅助现有的课堂教学新模式。

2 系统总体设计

近年来,高校校园网的建设和发展极其迅速, 采用B/S(Browser/Server,浏览器/服务器)架构为用户提供跨平台、开放的辅助教学系统更具潜力[1]。我校于2013年建设了课程中心网站教学平台,为进一步加强优质教育資源的开发、普及和共享,提高教育教学质量,允许教学团队根据课程性质和教学特点等再次开发和设计。本教学组教师采用现代化技术与手段,建设了《数据结构》课程中心,并不断地进行补充完善,使教学管理人员、课程负责人、上课教师及学生可以随时随地登录课程中心进行管理评估、完善补充课程资源、实现师生互动、自主学习等后端管理及操作应用。

2.1 设计思路和原则

数据结构课程主要研究如何根据实际问题合理地选择逻辑结构去组织数据,并设计有效的物理存储结构,实现插入、删除等基本运算和查找、排序等众多算法并对其进行分析评价。课程概念多、知识抽象,算法复杂,具有很强的理论性,逻辑性和技巧性[2]。学生普遍认为该课程学起来较枯燥,往往难以理解和接受,算法设计更是感到无从下手,导致他们的学习兴趣不高、主动性不强,达不到教学目的。对此我们进行认真分析,以学生为主体,在设计该教学辅助系统时充分考虑并实施在该课程教与学的全过程建立课前预习、课堂教学、课后练习与习题课、上机实践教学四大教学环节相融合的教学结构。同时,综合该课程的教学体系、知识架构、教学手段、教学方法和策略以及教学活动安排在网络辅助教学环境下如何实施,以学生为主体,教师为主导的人性化教育理念、教育模式,遵循完整性、多媒体化、强交互性和学生自主学习的原则来设计开发该辅助教学系统。

2.2 系统功能设计

首先数据结构课程本身具有抽象、知识点繁杂、实践性强等特点,加之我校学生的生源特点,存在知识体系差异,尤其是不同民族之间。使得数据结构课程教学的突出难点是知识的抽象性和动态性,传统的以教师为主体的教学模式和单一的教学方法难以克服教学中存在的问题,为了更好地满足学生个体需求差异;教师根据实际教学及时调整补充教学资源和信息;同时,方便管理者进行管理与评估考核。我们在开发和设计本系统时,确定了整个网络辅助教学平台的功能模块,如图1所示。

该辅助教学系统不仅发布课程大纲、教学日历、教案首页续页、多媒体课件、视频、课后作业与习题等基本内容,还精心设计算法动画演示以及仿真跟踪执行,对部分知识点设计制作微课开展教学,建立师生、生生的互动进行在线答疑、讨论论坛等。同时及时更新该课程相关前沿研究动态,内地高校精品课程教学视频。极大地丰富教学网络资源,提高学习兴趣,增强信心,拓展学生自主学习的途径和方法。

2.3 开发工具

在开发工具的选择上,我们考虑该辅助教学系统在校园网上的运行速度和运行效率,兼顾技术领先、实用性、安全稳定等因素,提出基于B/S(Browser/Server 浏览器/服务器)模式进行架构,采用Visual Studio.Net和SQL Server数据库进行开发设计,算法动画演示采用Flash、HTML等技术实现,仿真执行采用Visual C++开发设计,系统架构合理、实现简单,使《数据结构》课程辅助教学平台能让学生自主的学习活动不再受时空限制,能以最大信息量、最方便的方式实现师生间、学生之间的资源共享、学习交流。endprint

3 主要功能模块的设计与实现

《数据结构》辅助教学系统主要是对课堂教学的重要补充和延伸,面向不同的学生个体,在课堂教学的学习过程中,对知识的接受和掌握难免存在个体差异,为了更好的辅助学生满足其个性化学习的需求,该系统围绕学生自主进行课前预习、课堂学习、课后练习、重点复习、上机实验等环节设置了自主学习、检测训练、提问讨论三大模块。其中自主学习模块以页面导航方式提供了丰富全面的教学资源,可以满足多层次个性化教与学的需求,为学生提供了一个内容丰富、知识全面、形式生动、趣味性强的教学辅助平台。

1) 学生可以提前查看课程简介、教材与参考书籍、教学日历、教案首页、续页等相应的教学资料;

2) 学生可对下节课要学习的内容进行课前预习,引导学生把握知识体系、重点难点并激发其带着问题主动听课、认真听课的兴趣;

3) 对课堂学习没有很好掌握或者理解的內容,可以选择课后观看视频或者微课对知识点进一步学习;

4) 针对较复杂的算法,学生也可以反复观看算法动画演示,并对算法执行过程进行跟踪测试,帮助学生理解掌握算法的思想和具体实现;

5) 学生可根据教学进度获悉实验教学的安排及实验内容、实验要求与目的,提前分析和理解问题,进行实验设计与小组讨论。

3.1 微课教学

微课于2008年首创,其核心组成内容是片段教学视频,以半结构化、主题化的教学单元应用[3]。鉴于《数据结构》课程中部分抽象难以理解的知识点,我们采用绘声绘影、录屏等现代教育技术精心设计制作了以知识点为主题、片长10分钟左右的教学微课,辅助课堂教学,满足不同学生对不同知识点的个性化学习,即可在课后进行查缺不漏,又能重点复习巩固某个知识点,从而促进学生有效地自主学习。

3.2 算法动画演示

《数据结构》是讲述数据组织、储存和算法原理等理论知识为主,课程中有很多复杂的、较难理解的算法。我们知道对于理解复杂数据结构算法的最好方法就是用直观、形象、动态的方式展现它们的行为动作,这样把复杂抽象的教学内容形象化,即达到了教学目的,又丰富了课堂教学形式,提高了学生的学习兴趣。因此,我们采用Flash和HTML5技术制作开发了多种数据结构和算法的交互式动画。

1) FLASH交互动画的设计制作

我们利用Flash帧动画技术,根据算法思想创设动画情景、动画元素,对课程中的复杂算法进行了算法思想的动画演示,给学生以较强的视觉冲击,从而吸引学生,激发学生的学习兴趣。如图2所示,讲授快速排序之冒泡排序算法时,我用一个生活中排队的小实例来模拟冒泡排序的思想及实现过程,然后让学生自己去观察、发现、总结描述冒泡排序的思想。

此外,我们还利用Flash中面向对象的脚本语言Actionscript编写程序来模拟计算机内存中是如何完成算法执行过程的,同时,允许学生进行数据测试,分步执行,来进一步观察算法思想及执行过程,将算法从直观的动画实现过渡到抽象的计算机内部实现过程,从而引入数据结构的组织、存储和操作运算,让学生进一步掌握算法思想,理解算法的原理。如图3所示,(a)为冒泡排序交互动画的初始状态,(b)为用户输入待排序的记录关键词后,模拟数据在计算机内存中的存储,然后单击开始或单步按钮就可以进行算法的动画演示。

2) HTML5动画的设计制作

近年来,算法的动画演示趋于轻量级、页面化、易使用等方面发展,因此使用Flash技术设计制作的动画演示系统需要安装Flash插件,可视化环境要求较高,某些情况下给辅助教学带来了些许不便。而新一代的HTML5标准增添了图形的绘制、多媒体等新元素及功能,我们可以用HTML5画布(canvas)元素在JavaScript中设计制作图形动画,并可以在浏览器中直接运行,方便学生课前课后随时随地使用web浏览器进行自主学习,也方便任课教师在不同的教学环境下正常授课。如图4所示:(a)为冒泡排序算法动画演示的初始页面;(b)为动画演示的效果展示,并分别给出每一趟排序的结果。

3.3 算法仿真执行

算法的动画演示对于学生学习、掌握算法的思想原理起到了重要的作用,但是要求学生理解教材中的算法伪代码时,很多同学就感到抽象,难以想象,理解起来困难重重。因此,我们针对课程中部分难度较大的算法进行了仿真以及跟踪测试。采用Visual C++作为开发工具,调用windows API设计制作图形界面,完成图形编程,MFC基本类实现算法的动态演示,利用多线程技术来控制算法的动画演示、源码跟踪和执行。同时,允许用户单步执行算法,进行算法的模拟仿真,理解算法源码。

如图5所示,在同一界面中不但给出了算法测试数据、算法源码以及算法动画演示,还对算法的每一行源码进行了详实地解释。这样通过对底层的内存和磁盘等硬件资源的模拟,允许算法的单步执行,有助于让学生加深对算法思想及内部实现机制的理解,掌握算法原理,理解算法源码并进行算法描述与分析。同时,可以引导学生自主、探究式学习,强化结构、算法、编程相结合的教学模式,为后期的实验教学和学生自主编程打下夯实的理论基础。

4 结束语

《数据结构》网络辅助教学平台从实际教学出发,为学生提供了一个全面、开放、自主、个性化的教学服务,是现有的课堂教学模式的重要补充和延伸拓展,实践证明,此系统的设计开发有助于激发学生的学习兴趣和主动性,培养学生养成课前预习、课后复习、回顾重点难点的好习惯,促进学生自主学习;也使课堂教学更加具体生动,更富有吸引力,进而提升了教学质量。然而,我们对该课程的教学探索和实践并没有停止,还需要在今后做出更多的尝试和完善。

参考文献:

[1] 王民川. 基于B/S结构的教学资源平台的设计与实现[J]. 福建电脑, 2009, 25(3):124-125.

[2] 严蔚敏, 吴伟民. 数据结构(C语言版)[M]. 北京: 清华大学出版社, 2012.

[3] 刘锐, 王海燕. 基于微课的“翻转课堂”教学模式设计和实践[J]. 现代教育技术, 2014, 24(5):26-32.endprint

猜你喜欢
教学服务数据结构自主学习
来华留学生对全英文授课教学服务满意度量表的信度和效度分析——以昆明医科大学为例
“翻转课堂”教学模式的探讨——以《数据结构》课程教学为例
强化学生工作教学服务功能
TRIZ理论在“数据结构”多媒体教学中的应用
《数据结构》教学方法创新探讨