可视频录制和动态演示网络教学系统的设计研究
2016-06-20罗云芳唐运乐
罗云芳+唐运乐
【摘 要】针对“PHP网站建设与开发”课程课件和现有网络教学系统的不足,研究设计开发新的适合“PHP网站建设与开发”等程序设计课程的网络教学系统。
【关键词】网络教学系统 课件管理 视频录制 循环动态演示
【中图分类号】G 【文献标识码】A
【文章编号】0450-9889(2016)04C-0186-04
“PHP网站建设与开发”是计算机类专业的核心专业课程,课程教学成效将直接影响学生利用PHP语言进行Web应用程序开发的技能水平,影响学生毕业后是否符合PHP Web开发程序员工作岗位要求。但作为程序设计类课程,“PHP网站建设与开发”课程具有涉及知识面广、内容抽象、实践操作性很强等特点。
要想提高课程教学质量,建设一套功能丰富、适合本课程教学的网络教学系统是非常有必要的。“PHP网站建设与开发”相关课程的教学存在许多网络教学系统,但这些网络教学系统主要存在以下问题:系统展示教学课件时以PDF文档显示,比较死板没有原有PPT动画动态效果;系统缺少自动录屏功能,无法录制教师上课视频供学生课后学习;系统无法实现程序设计循环结构执行过程的动态演示,无法将抽象的知识形象化,不易于学生对知识的掌握。
针对当前“PHP网站建设与开发”相关课程网络教学系统的不足,我们设计开发一套全新的网络教学系统,以更好地辅助教学。新系统为更好地辅助课程教学,主要具有三大新功能:PPT教学课件的管理和内嵌于Web页面中打开显示;教师授课视频录制、去噪声和存储管理;程序循环结构执行过程动态演示。
一、系统整体设计
为方便教学使用,“PHP网站建设与开发”课程教学系统是采用B/S架构模式实现的Web网络版。系统开发平台基于Windows操作系统,以Apache为后台服务器、Mysql为后台数据库、PHP为开发语言、ThinkPHP为开发框架,按MVC设计模式进行设计开发。一是实现了PHP代码与HTML代码的分离,业务逻辑处理层、视图层和数据处理层的分离,在修改页面视图时不需要重新编译数据模型层和控制器,使系统具有良好的重用性、扩展性和可维护性。
“PHP网站建设与开发”课程教学系统为更好地辅助课程教学,除一般教学系统具有的常规功能外,主要包括PPT教学课件管理展示、授课过程视频录制与处理、循环结构程序执行过程动态演示、程序流程图自动绘制与存储等新功能,系统总体框图如图1所示。
系统中,课程PPT教学课件管理包括前端PPT教学课件目录树型展示和课件的Web页面内嵌打开显示,后台的课程PPT教学课件动态分类管理,包括课程的添加、删除、修改和查询管理,根据选择的课程添加、删除、修改和查询相应的PPT教学课件;授课视频录制和视频声音去噪声处理实现教师授课过程中整个授课过程的视频录制和分类存储管理,在录制前按视频存储信息表要求设置相应的视频信息,录制时按设置的信息自动将视频分类存储,对已录制的教学视频声音进行去噪声处理,提高视频声音的质量;循环结构程序执行过程动态演示,将数据排序算法抽象的执行过程形象化,实现按授课时随意给定排序数据个数和随机生成的排序数据,按冒泡排序算法的执行过程,动态演示程序算法循环执行的整个过程,使课程重要的算法部分抽象的知识点形象化,让学生更易于理解和掌握,为更好地深入程序设计相关课程的学习打下良好基础。
二、网络教学系统实现
(一)PPT教学课件管理
由于PPT文件不能直接内嵌于Web页面中打开显示,因此很多网络教学系统都将PPT教学课件转换为PDF文件格式以方便在Web页面中打开,但这种方式无法保留PPT文件的原始特性。为方便PPT教学文件的管理和保证PPT教学课件的原始特性,本网络教学系统建立PPT教学课件管理信息表,将PPT教学课件信息归类入库管理,在展示时按课件名称以树型目录列表菜单的方式列出,点击菜单列表中的课件名称,课件将内嵌在Web页面中打开显示。
实现将PPT教学课件内嵌在Web页面打开的方法可以使用微软的OCX控件和第三方的控件。为方便系统使用在此使用微软的OCX控件实现PPT教学课件的打开显示。具体实现步骤如图2所示。
下载OfficeCtrol.ocx控件后,在系统的命令提示符窗口执行regsvr32 OfficeCtrol.ocx命令实现注册,注册成功后打开php.ini配置文件,修改配置启用com.allow_dcom=true,使PHP支持OfficeCtrol.ocx控件的应用开发,在网络教学系统PPT课件文件管理模块页面中使用语句include("PPTCtrol\OfficeCtrol.ocx")把控件包含进来,利用$ppt = new COM("PPTCtrol\OfficeCtrol.ocx ") or die("Unable to instanciate PPT")语句创建PPT对象模型,创建成功利用$ppt->Documents->Open()语句打开PPT教学课件文件,利用Object对象显示PPT教学课件文件,实现PPT教学课件文件在Web页面的内嵌显示。
(二)授课语音视频录制
把授课过程的语音视频录制下来,供学生课后学习和复习观看,能有效帮助学生消化课堂上老师所讲授的课程内容和技能。授课语音视频录制包括教学语音视频录制和语音视频存储两部分功能,授课语音视频录制实现先在系统页面添加录制启动按钮,然后进入录制设置页面,设置完成后则开始授课语音视频的录制,录制完成后按停止按钮将视频存储到相应目录并将视频按录制前设置的信息入库存储,实现视频的管理。授课语音视频录制功能的实现采用原生态开发比较麻烦,这里采用Mcapture+MFile构件实现,具体步骤如图3所示。
使用Oraycn.MFile.dll和Oraycn.MCapture.dll引用Mcapture+FMFile构件,使用CapturerFactory.CreateDesktopCapturer创建视频文件;使用Threading类创建启动多线程,同步实现麦克风数据和授课计算机屏幕图像的采集,其中使用CapturerFactory.CreateMicrophoneCapturer实现麦克风数据的采集,使用CapturerFactory.CreateDesktopCapturer实现屏幕图像的采集,对采集的音频数据使用videoFileMaker进行编码并采用改进的谱相减语音增强处理算法对音频信号去噪声处理,对采集的屏幕图像进行裁剪,因为MFile要求录制的视频帧的长和宽必须是4的整数倍,通过MultimediaManager的DesktopEncodeQuality属性,调整采集屏幕图像的清晰度;使用videoFileMaker.AddVideoFrame将采集的音频和图像同步写入到视频文件,录制完成后使用StopRecordAsyn停止录制即可完成视频的录制和保存。
在教学视频的录制中,由于授课环境人较多,通过麦克风采集的音频数据除了教师的声音外还会有较多的背景噪声,因此对录制的音频要特别进行去噪声处理,为增强录噪声处理效果,采用改进谱相减算法对录制的音频进行去噪声处理,谱相减语音增强处理算法其数学表达式为:
在去噪声处理中,由于噪声能量分布广,而语音能量则集中于某于频段,通过灵活调整(1-3)式中的α和β的值,可以有效提高去噪声能力。采用改进后的语音增强处理算法实现授课语音处理流程如图4所示。
授课视频音频语音去噪处理使用wvaerda()函数读取录制的语音,确定汉明窗长度和平滑速度后使用hamming()函数实现语音信号处理,确定傅里叶变换长度即循环次数M,使用fft()函数实现傅里叶变换,使用mean()函数实现功率谱计算,获取改进后谱相减阀值α、β后确定功率因素补偿阀值,用乘积的方法实现去噪声处理,使用ifft()函数进行IFFT变换,按以上方式循环处理完成所读取的音频信号即可完成授课视频中音频的去噪声处理。
(三)循环结构执行过程动态演示
循环结构是程序设计的核心基础,PHP程序设计也不例外,但循环结构程序执行的过程比较抽象,如果不能将其执行的抽象过程形象的表示出来,学生很难理解和掌握,传统的教学课件或系统只能展示循环结构的简单执行过程,无法实现循环结构程序执行抽象过程的形象化,不能满足教学随机案例的动态演示需要。循环结构执行过程动态演示功能模块从数据排序的经典算法冒泡排序的实现动态演示其数据的排序过程,把抽象的循环结构程序执行过程形象化。以冒泡排序动态演示循环结构执行过程具体的实现流程如图5所示。
按输入的预排序数据个数N,使用随机函数random.Next()生成[0-100]区间范围的预排序数据,根据预排序数据个数生成预排序数据显示标签,为使动态生成的标签能够整齐排列显示,标签位置x坐标值表达式为:x=k*50+50,y坐标值表达式为:y=j*50+60,其中k表示标签的下标,j表示标签显示的行标值。在生成的标签中显示随机生成的预排序原始数据,按冒泡排序算法的思想,对数据进行非降序排列过程是第一趟将第一个数与后面每一个数一一进行比较,如果后面的数比第一个数小则交换,第二趟将第二个数与后面每一个数一一进行比较如果后面的数比第一个数小则交换,依此方式,进行N-1趟则排序完成,整个执行过程共完成N*(N-1)次比较。为突出显示正排序的数据,以实现动态演示的效果在排序的过程中用定时器间隔时间执行和在排序过程中通过设置标签的背景色实现,同时生成交换数据显示标签,修改已排序数据标签背景色标识数据排序完成,最后显示已排序的结果数据。
三、系统测试
为验证本网络教学系统所实现的PPT教学课件管理、授课语音视频录制和循环结构执行过程动态演示功能,对三个功能模块进行测试。点击进入PPT教学课件管理模块,进入功能模块主界面,界面左侧是课件管理菜单,具体的菜单项是从PPT教学课件管理信息表中读取教学课件信息动态生成的,从系统后台能方便地实现教学课件的添加、删除和修改等管理。点击左侧菜单课件标题,打开PPT教学课件在右侧内嵌显示,同时PPT教学课件可以放映和展示原来设计的动画效果,与直接打开效果一样,实现了PPT教学课件的动态管理。
进入授课语音视频录制模块,点击录制授课视频设置功能按钮,进入设置界面,设置相应的参数后,点击开始录制按钮开始录制一段时间后,停止录制并保存录制的文件,用视频播放器打开录制的视频能正常打开并播放。
进入循环结构执行过程动态演示功能模块,打开功能界面,在界面的排序数据个数编辑区输入排序数据的个数,点击成生数据功能按钮,生成排序数据并生成显示数据的标签,并在标签正常显示数据。点击开始排序功能按钮,实现数据排序,并生成辅助标签,修改正排序数据的显示标签背景色,同时生成显示已排序数据的标签显示已排序数据,实现了数据排序过程的动态演示效果。数据排序过程动态演示效果具体如图6所示。
四、小结
在教学中,采用适合的网络教学系统辅助教学,能有效地帮助教师提高教学质量,但针对于“PHP网站建设与开发”等程序设计类课程,目前的网络教学辅助系统存在不足,为解决目前网络教学辅助系统的不足。本文在透彻了解网络教学辅助系统急需的功能后,全新设计开发适合“PHP网站建设与开发”课程的网络教学辅助系统,新系统主要具有PPT教学课件管理和内嵌于Web页面中打开显示、授课语音视频录制存储管理和循环结构执行过程动态演示三大特色模块。测试表明系统能实现PPT教学课件的动态管理和内嵌于Web页面中打开显示,并支持PPT教学课件的放映和动画效果;授课过程视频的录制和存储管理,方便学生课后学习使用;循环过程动态演示,将抽象和算法执行过程形象化,使学生易于理解和掌握。新设计开发的网络教学系统,经过4所学校20多个班级师生的推广试用,获得师生的良好评价,辅助教师教学取得良好的效果。
【参考文献】
[1]杨晋.大型B/S架构实验综合管理平台研究与实现[J].实验室研究与探索,2011(10)
[2]马东宇.基于Windows Server 2012 R2、WampServer环境的Moodle平台搭建及优化扩展[J].内蒙古师范大学学报,2014(11)
[3]申斌,李利民.基于MVC模式S2SH框架的库存管理系统[J].实验室研究与探索,2014(11)
[4]伍旭,戴光明,彭雷,等.基于MVC架构的深空探测任务设计与仿真平台[J].计算机仿真,2014(8)
[5]杨光,李龙清,常心坦,等.基于Web实现树型目录两种方式及比较[J].西安科技大学学报,2004(3)
[6]房国栋,李晓静,王聪,等.网络教学资源的管理潜力与网络学习过程管理设[J].现代教育技术,2012(6)
[7]沈晓东,李弼程.一种基于功率因数补偿的谱相减算法改进[J].河南科技大学学报,2011(2)
[8]隋璐瑛,张雄伟,黄建军,等.基于码本学习的改进谱减语音增强算法[J].计算机工程与应用,2013(16)
[9]张贺,沈天飞,滕秋霞.基于级联式改进型谱减算法的语音去噪技术研究[J].工业控制计算机,2014(7)
[10]谢志英,袁红丽,韩月霞,等.关于计算机编程语言之间融合教学的研究[J].计算机工程与科学,2014(4)
[11]边倩,焦康,王忠,等.“C语言程序设计”课程数组教学方法的探索[J].计算机工程与科学,2014(12)
[12]杨波,梁少林. C语言中冒泡排序算法的教学设计与分析[J].信息与电脑,2015(16)
[13]王勇,蔡国永.基于随机函数的哈希函数[J].计算机工程与设计,2015(10)
[14]李海燕,张立忠.《生命科学导论》网络教学资源平台的研究与实现[J].计算机与应用化学,2011(5)
[15]梁永春,王凯成,赵方舟,等.开放式实训教学管理系统的开发[J].实验技术与管理,2014(6)
【作者简介】罗云芳(1981— ),男,广西贺州人,广西职业技术学院计电系讲师,硕士,研究方向:软件工程,计算机应用技术及计算机教学。
(责编 卢 雯)