导航菜单

数据结构课程设计辅助教学平台设计与实现

庞晓琼,宋礼鹏,韩燮,靳雁霞,庞敏

(中北大学 计算机与控制工程学院,山西 太原 030051)

摘要:介绍数据结构课程设计辅助教学平台的设计过程,说明其构建思路、系统结构和实现方法,阐述该平台集内容提供、多媒体资料库浏览、流媒体播放和交流互动于一身,采用Adobe Flex、PHP、MySQL、Apache和flash Media Server等技术,以纯Flash方式展现,指出使用该平台可以更好地发挥教师引导、启发、监控教学过程的主导作用,同时又能充分体现学生作为学习过程主体的主动性和创造性,有利于教师启发教学和学生自主建构知识体系。

教育期刊网 http://www.jyqkw.com
关键词 :数据结构;课程设计;教学平台

基金项目:国家自然科学基金项目(61379125);山西省自然科学基金项目(2012011015-3);山西省高等学校科技创新项目(2014143)。

第一作者简介:庞晓琼,女,讲师,研究方向为信息安全与密码学,xqpang@nuc.edu.cn。

0 引言

数据结构是计算机相关专业的核心基础课程,根据教学大纲安排,各章节安排相应教学内容的验证性上机实验,还设置针对课程内容的综合设计实验环节,这是考查学生理论联系实际动手能力的重要环节,对锻炼学生发现问题、解决问题的能力也很有裨益。数据结构课程设计实验步骤如下:需求分析——选择并构造合适的数据结构——功能函数设计——具体编码实现——运行测试——完成课程设计说明书。在传统的教学安排中,实验过程由学生独立完成,教师的作用主要是答疑、过程监督和成果验收等方面,这种强调学生的“学”而忽视教师主导作用的教学过程虽然会涌现出一些优秀的作品,但也存在一些问题:一是学生自由度过大,容易偏离课程设计教学目标;二是部分学生由于缺乏专业训练,没有形成正解的思维方法,拿到题目无从下手,只能生搬硬套基本数据结构;三是代码编写不够规范,可读性差,也不注重文档的整理;四是存在照抄他人课程设计的现象 [1-3] 。

数据结构课程设计是个综合性实践环节,不仅需要数据结构知识,还是对计算机程序设计语言、离散数学和软件工程等课程的综合运用。学生的自主学习和教师的主导学习相结合十分重要,为更好地发挥教师引导、启发、监控教学过程的主导作用,结合当前互联网应用开发的主流技术,我们设计实现了数据结构课程设计辅助教学平台,用于指导和帮助学生完成课程设计。

1 设计过程

1.1 目的与思想

数据结构课程设计辅助教学平台的主要目的包括:①通过优化学生自主学习环境,完善学习策略,充分发挥教师引导、启发、监控教学过程的主导作用;②为学生自主建构知识体系创造条件,使学生系统掌握数据结构课程内容、锻炼和提高编程能力,充分体现学生的主动性、创造性并得到成就感。设计思想主要体现在:①充分发挥互联网作用,互联网应用已成为学生课余生活的重要组成部分,教师应因势利导,利用互联网对学生进行指导和辅导;②要激发学生的兴趣,兴趣是最好的老师,教学平台的界面要美观大方和简洁明朗,注重多媒体组件的选择和使用;③学习环节的设计要贯穿整个课程设计过程,覆盖不同知识层面的学生;④注重新媒介和新技术的使用,紧跟时代发展步伐;⑤尊重互联网规律,在知识大爆炸时代,微课堂、“短平快”是主流,注重化繁为简和突出重点。

1.2 内容构建

(1)教师可结合数据结构实验环节的特点,挑选综合性强、涉及知识面广、适合学生自主创新的经典案例,由教师制作成设计分析讲解、代码编写讲解和运行测试讲解等分段视频,学生根据需要可自主点播。教师通过引导和启发,开拓学生思维,鼓励学生自主构造更合理的数据结构,实现更完善的功能。平台选取的案例均可用多种数据结构实现,适用于不同层次的学生,同时也考查学生对于算法设计、内外排序、文件存取和实现效率等各方面知识点的掌握情况,是对学生综合能力的考验。

(2)为了使学生能够学以致用,教师可通过咨询社会上相关领域的工程师、系统分析师和从业人员并对历届毕业、就业的学生进行问卷调查,在资源选择和案例讲解中注重理论联系实际,着力从项目管理、软件工程、测试驱动开发等方面传授从业经验,为提高学生的就业能力打下坚实基础。

(3)在教学资源的运用上,教师可提供视频、音像、文档、幻灯片、表格、图形图像和电子书籍等多种媒体形式,涵盖数据结构课程设计涉及的C语言程序设计、C++语言、算法设计、离散数学等资源内容;尊重原创者的版权,培养学生的版权意识,对所有引用的资源均详细标明来源及版权信息。

(4)注重有教无类,使不同能力水平的学生都能从中汲取养分。对于初级水平的学生,通过学习视频讲解、参考优秀作品和阅读教师点评,找到完成课程设计的入口,自主完成课程设计;对于能力强、学有余力的学生,通过查看共享资源和在自主探索中挑战自我,锻炼驾驭问题的能力,规范编程风格并实践软件工程。

(5)注重沟通交流,授人以渔。平台中开设释疑解惑栏目和课程设计论坛,预留微信公众账号,学生可以提出问题及求解,促进和强化师生间、学生间的互动交流,从点点滴滴中积累学习。

2 实现过程

2.1 系统架构

数据结构课程设计辅助教学平台的系统架构如图1所示。

数据结构课程设计辅助教学平台Web服务器采用Apache服务器,以纯Flex技术实现,数据库采用MySQL,由PHP从数据库中读取数据形成XML文件提供给Flex使用,用户通过浏览器以HTTP协议访问该平台。媒体播放采用两种形式:一是普通的媒体文件,均以Flash形式提供,包括幻灯片、课件、文档和书籍等;二是流媒体,通过FMS(Adobe Flash Media Server)流媒体服务器以RTMP协议向客户端推送。相对于下载后观看的网络播放形式而言,流媒体的典型特征是把连续的音频和视频信息压缩后放到网络服务器上,用户可以边下载边观看。采用流媒体方式和流媒体服务器还可以减轻服务器的访问压力,使得平台能够同时处理更多的用户视频点播请求。

2.2 技术特点

(1)平台是一个典型的富互联网应用(rich internet application,RIA),RIA的好处在于比用HTML能实现的接口更加健壮,反应更加灵敏,可视化特性更加出色。RIA的实现技术包括Ajax、Flex和Silverlight等,本平台使用的是Flex技术。Flex结合了音频、视频和实时通讯,用户体验极佳,具备桌面应用程序的用户交互感和传统网络应用的部署便利性。

(2)平台开发坚持跨平台、跨浏览器的特性,使用技术及组件包括Adobe Flex、Apache、PHP、MySQL、Adobe Flash Media Server等,均具备良好跨平台特性,后台服务器支持Windows、Linux和Unix等不同操作系统。平台以纯粹的Flash形式展现,具备良好跨浏览器特性,只要装有Flash Player的浏览器都能够正常浏览,支持所有主流浏览器,如IE、火狐、UC、Chrome等,客户端支持Windows、Linux等主流操作系统,同样也支持移动互联网以及基于Android、iOS的平板电脑、手机等便携设备。

(3)平台中使用到的视频、音像、文档、幻灯片、表格、图形图像和书籍等统一转换为flv格式文件,用户只需要通过浏览器就可以在线查看上述各种形式的媒体资源,不需安装任何其他插件或应用软件(如Word、 Excel、 Powerpoint等),充分考虑了客户端的跨平台和多样性。

(4)视频点播和视频直播中采用了FMS(Adobe Flash Media Server)流媒体服务器,该技术是主流的视频传播实现技术。通过FMS,流媒体文件将通过RTMP协议向客户端推送,图像压缩率更高,播放流畅清晰。与下载视频文件到本地后观看的网络播放形式相比,流媒体的典型特征是用户可以边下载边观看,浏览速度快,播放中支持拖拽和定位。此外,FMS还具备良好的可扩展能力,可根据用户群规模增加边缘服务器(edge server)迅速提高访问能力。

(5)流媒体视频讲解中充分利用了电子黑板软件,结合数位板硬件,在多媒体教学结合“板书”讲解,既“现代”又“传统”,让教师能够把握教学的主线,学生有充分的消化时间,弥补了多媒体教学中的不足。

(6)设计细节上注重界面设计,功能分区清晰、导航明确、操作简便、提示信息丰富;而Flash的动态特点可以增强平台的动感效果,使得颜色搭配赏心悦目、色调把握得当并以CSS样式表统一平台的风格,提高学生的使用兴趣。

2.3 功能模块

平台目前具备7个模块,分别是首页、影音中心、堂件集萃、资源共享、自主探索、优秀作品和释疑解惑,如图2所示。

1) 首页模块。

首页模块(如图3所示)是平台的门面,介绍平台的目的和特色,展示最新的信息和媒体介绍。首页分为4个功能区域:1是新闻区,用来发布最新的通知、相关信息、教师布置的作业等;2是最新媒体资源展示区;3是平台的菜单导航区;4是网络资源链接区。

2) 影音中心模块。

影音中心模块(如图4所示)集中展现平台中所有的媒体资源,包括flv形式的流媒体视频,Flash形式的教学堂件、幻灯片,Flash形式的文档、表格、书籍、代码和资料,分为3个功能区域:1是资源类目区,以树型结构展示;2是媒体放映区,支持各种格式的文档(如图5所示),也能进行视频点播和在线视频直播;3是资源区,显示当前类目对应的视频、幻灯和文档资源。

3) 堂件集萃模块。

堂件集萃模块(如图6所示)以图像列表方式展现理论课堂教学和案例视频教学中的堂件,每个堂件均配有标题、所属类目、内容介绍等文字信息。所有堂件都是以Flash的形式展现,支持声音、动画、切换等功能(如图7所示)。

4) 资源共享模块。

资源共享模块汇集教师和学生提供的电子书、国内外经典数据结构教材等信息资源和学习辅助材料,每个文档均注明资源名称、来源、所属类目、内容介绍、版权信息等情况。该模块以文字列表形式展现,通过点击单条记录可在线阅览相应文档。所有文档资料均采用FlashPaper形式提供在线阅读,不需安装其他插件或软件。

5) 自主探索模块。

自主探索模块提供一些课程设计实践环节要求之外的、富有挑战性的课题,方便学生开拓思维、勇攀高峰、锻炼挑战自我能力,促进学生自学。

6) 优秀作品模块。

优秀作品模块提供历届学生的优秀作品,这些作品均完成得较为出色且富有创新性,具有参考价值,可供广大学生下载和学习。每个作品都包含作者信息,详细注明题目要求和设计内容,有些还附有教师点评。

7) 释疑解惑模块。

释疑解惑模块(如图8所示)是师生之间、学生与学生间互助学习的园地,分为3个功能区域:1区显示既往学生提出的问题及教师的答复;2区是学生向教师提出问题的区域;3区提供“中北大学数据结构论坛”的链接。

3 结语

数据结构课程设计辅助教学平台已在3届计算机、网络工程、软件工程专业学生的数据结构课程设计过程中使用。通过指导教师和每个学生进行一对一答辩的结果来看,学生的课程设计水平有了明显提高,对数据结构的运用更加灵活,思路也更加开阔,达到了建设该辅助教学平台的初衷。下一步,我们将设计开发与该平台对应的微信公众账号,使平台成为师生课余交流的重要途径。

教育期刊网 http://www.jyqkw.com
参考文献:

[1] 庞晓琼. 案例驱动的数据结构课程设计教学改革实践[J]. 计算机教育, 2009(1): 53-55.

[2] 马巧梅, 庞晓琼, 杨秋翔. 数据结构课程设计案例教程[M]. 北京: 人民邮电出版社, 2012: 1-3.

[3] 周海英, 马巧梅, 靳雁霞. 数据结构与算法设计[M]. 2版. 北京: 国防工业出版社, 2009: 1-3.

(编辑:宋文婷)

下载文本