前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的web3d技术论文主题范文,仅供参考,欢迎阅读并收藏。
(西安石油大学计算机学院,陕西 西安 710065)
【摘要】随着我国计算机网络技术的飞速发展,虚拟现实技术也随之而出,虚拟校园就是虚拟技术的一个分支。本论文以西安石油大学新校区为例,基于Unity3d平台开发的系统运行效率高、维护简单的特点,运用3dmax建模软件进行对场景建模,通过JavaScript和C#语言实现人机交互,最后结合html进行融合导出,从而完成虚拟校园的开发。针对虚拟漫游网络占用大量网络带宽,影像虚拟漫游系统运行的流畅性,提出了在建模优化及程序中的优化实施措施,经过软件测试,表明该优化方法能够有效地降低网络带宽,能够一定程度上提高虚拟漫游系统运行效率,为构建虚拟数字化校园及相关方向研究提供实用参考价值。
关键词 虚拟现实;虚拟校园;校园漫游;Unity3d
Design and Realization of Virtual Campus Roaming Based on Unity3D
WANG Cai-ling LIU Rui-xiang SONG Zhao
(Xi’an Shiyou University, School of Computer science, Xi’an Shaanxi 710065, China)
【Abstract】The virtual reality technology comes with the rapid development of computer network technology, and the virtual campus is a branch of it. In this paper, the new campus of xi’an Shiyou university is taken as an example, the system based on Unity3d platform which has high efficiency and good maintenance, it used 3dmax to model the scene and realize human-computer interaction through JavaScript and c#, finally combining HTML to export and fuse, thus completing the development of the virtual campus, and providing practical reference value for building a virtual digital campus and the relevant research.
【Key words】Virtual reality; Virtual campus; Campus roaming; Unity3D
0 引言
在网络快速发展的时代,虚拟现实技术成为了高等教育机构和国内外商业抢占市场和提高竞争力的一个强有力手段。他们通过虚拟现实技术,让用户足不出户就可以了解到他们所需要的东西,而且具有身临其境地感觉。使用者利用网络手段真实感触到产品、环境及体验,对虚拟现实技术的要求更高更迫切。基于双方的需求,更加促进了web3d技术的完善和成熟。
所谓虚拟现实是利用电脑模拟产生一个三维空间的虚拟世界,提供使用者关于视觉、听觉、触觉等感官的模拟,让使用者如同身历其境一般,可以及时、没有限制地观察三度空间内的事物。虚拟现实技术已经广泛应用在医疗[1]、教育[2-3]、电子商务[4-5]等众多领域。其中,Web3D技术是当前虚拟现实 的主流技术。Web3D又称网络三维,是一种在虚拟现实技术的基础上,将现实世界中有形的物品通过互联网进行虚拟的三维立体展示并可互动浏览操作的一种虚拟现实技术。相比起目前网上主流的以图片、flash、动画的展示方式来说,Web3D技术让用户有了浏览的自主感,可以以自己的角度去观察,还有许多虚拟特效和互动操作。Unity3d是由Unity Technologies开发的一个可以轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity3D最大的优势是性价比高, 并且可以成网页浏览的方式, 用户不用下载客户端, 就可以直接体验. Unity3D支持各种脚本语言包括Javascript、C# 兼容各种操作系统, 真正的实现了跨平台。
本论文从创建数字校园需求分析入手,通过前期测量,三维建模完成各个数字模块,最终完成一个数字化校园。首先应该通过CAD平面图[6-7]和实地拍摄图片[8-10]构造模型主题,经过测量和分析得到虚拟场景内各个模型的尺寸,利用3dmax建模软件对各个建筑体进行建模,然后进行场景合并。运用3dmax插件导出为FBX格式,将导出文件导入Unity3D中,在 Unity3D中添加灯光设置、图纸设置、及第一人称角色来完成人机交互。利用Unity3d的跨平台设置生成html格式,将html格式文档在互联网中,可实现网络环境下虚拟校园的漫游。
1 三维虚拟校园漫游的总体设计
1.1 虚拟校园漫游开发流程
基于西安石油大学新校区的虚拟校园漫游开发流程如图1所示。
首先,获取校园地理相关信息数据。在这里首先获取校园AutoCAD平面图和相关建筑物设计图纸。对建筑物分别从四个正面及八个方向拍照,获取外部轮廓及细节图;对草地、水域及道路等采用实景拍照获取相关信息。
其次,将所采集到的数据及图片信息利用3Dmax建模软件,制作三维数字模型,对粗糙模型进行加工渲染,得到效果逼真的三维模型。
再次,将三维模型利用3Dmax插件导出,由于Unity3D软件要求输入模型为FBX类型,因此,按照Unity3D软件平台要求输出指定模型,进行后续的开发。
最后,利用Unity3D软件,使用Javascript和C#语言,添加灯光照射和人物角色,对人物添加碰撞检测,实现基于第一人称的无失真漫游。
1.2 开发过程中的关键技术
1.2.1 漫游功能的实现
漫游功能是实现数字化校园的关键, 交互是实现漫游的方式. 基本的人机交互方式,例如人物行走,需要采用鼠标点击前进、后退、左转、右转、跳跃等功能,在Unity3D中可以以WSAD实现,代码在FPScontral.js脚本文件中,其关键代码如下:
var Speed=5;
var RotateSpeed=20;
function Update () {
if(Input.GetKey(KeyCode.W)){transform.Translate( Vector3.forward* Time.deltaTime * Speed);
if(Input.GetKey(KeyCode.S)){transform.Translate( Vector3.forward* Time.deltaTime * -Speed);
if(Input.GetKey(KeyCode.A)){transform.Translate( Vector3.up* Time.deltaTime * RotateSpeed);
if(Input.GetKey(KeyCode.D)){transform.Translate( Vector3.up* Time.deltaTime * - RotateSpeed);}
}
另一种重要的交互功能是GUI界面设计,在虚拟校园中,需要场景的跳转,如图2所示,根据选择进入场景,实现相应的漫游模式。核心代码如下:
function OnGUI(){
GUI.Label(Rect(280,150,400,200),str);
if(GUI.Button(Rect(250,320,100,25),"进入校园"))
{
Application.LoadLevel("xishiyou02");
}
if(GUI.Button(Rect(600,320,100,25),"退出系统")){
Application.Quit();
}
}
1.2.2 碰撞检测设计
碰撞检测[11-12]是模拟现实环境中的人物及物体在遇到障碍物时发生的本能反应,例如,当角色遇到墙壁,如果没有设计碰撞检测,则角色会出现穿墙而过的失真现象,在现实中,应该是当发现墙壁与角色存在一定距离时,则需要停止前进。在这种情况下,设计人员需要添加碰撞检测函数。碰撞检测实现及性能是整个数字校园漫游的性能指标之一。Unity3d开发平台默认给每个对象(GameObject)添加一个碰撞组件(ColliderComponent),一些背景对象则可以取消该组件。在unity3d中,能检测碰撞发生的方式有两种,一种是利用碰撞器,另一种则是利用触发器。这两种方法应用都非常广泛。
在Unity3d中,主要有以下接口函数来处理这两种碰撞检测:
触发信息检测:
1)MonoBehaviour.OnTriggerEnter( Collider other )当进入触发器
2)MonoBehaviour.OnTriggerExit( Collider other )当退出触发器
3)MonoBehaviour.OnTriggerStay( Collider other )当逗留触发器
碰撞信息检测:
1)MonoBehaviour.OnCollisionEnter( Collision collisionInfo ) 当进入碰撞器
2)MonoBehaviour.OnCollisionExit( Collision collisionInfo ) 当退出碰撞器
3)MonoBehaviour.OnCollisionStay( Collision collisionInfo ) 当逗留碰撞器
2 虚拟校园的实现
2.1 虚拟校园漫游系统设计要求
虚拟校园提供三维浏览功能有利于用户通过网络直观地获取信息,可以自主控制前进方向。构建这样的虚拟校园系统,在开发过程中需要解决的问题如下:
1)可以实现网络浏览, 文件不能过大, 要保证适合大多数计算机可以访问;
2)以一定的比例真实缩小实体校园, 所有重要的场景要尽量真实还原;
3)提供比较人性化的GUI界面, 比如“帮助导航”用来给用户提示信息;
4)设置与学校官网链接的页面导航;
5)配备背景音乐, 并可以由用户自行设置关闭或打开;
6)设置导航图方便用户了解校园的整体;
7)通过服务器多用户交互。
2.2 构建过程
2.2.1 数据收集
通过实地考察量,测量,拍照等方式进行数据信息的收集。
2.2.2 模型构建
学校模型通常为学校大门,教学楼,路灯,花池,树木,草地等元素构成。根据收集的数据通过3dmax 对基础模型进行平面建模,在模型构建过程中添加贴图,材质,灯光,效果等构建出逼真的模型。在模型的构建中需要注意的是多边形模型的优化. 一个虚拟校园系统还是比较大的, 对模型充分的优化可以减小最后网络文件的大小, 利于用户浏览。
2.2.3 人机交互
人机交互技术是通过计算机输入、输出设备, 以有效的方式实现人与计算机对话的技术. 在本系统中主要的人机交互包括GUI界面设计和漫游设计.。用户通过网页浏览器打开该系统,在系统的介绍下进行校园漫游,用户以第一人称视角进行浏览,增强体验感,通过控制键盘wasd控制视角的移动同时鼠标控制视角的旋转。音乐可以给用户带来试听上的,结合视角,使其有种身临其境的感觉,同时用户可以自己开关音乐。系统添加碰撞检测系统使得用户不会出现穿墙现象,完善虚拟环境的真实性。
3 效果展示
4 软件测试与优化
任何系统都需要进行黑盒子测试以发现系统存在的问题和漏洞。本系统也进行了相应的测试。在测试中发现,基于网络环境下,系统存在占用网络流量大,运行缓慢的现象。分析原因是因为测试电脑配置较低及网络带宽限制。这就要求我们从用户角度出发,在保证真实度的情况下尽量减少模型的数量,大部分建筑需要通过平面建模来优化模型的复杂度,在建模过程中尽量减少模型顶点和分段数,在unity3d处理过程中,尽量使用静态灯光,动态实时灯光相比静态灯光,非常耗费资源。所以除了能动的角色和物体静态的地形和建筑。尽量减少视角范围和距离,减少不必要的运行消耗。
具体实施方案有:
1)模型设计方向:
a)使用层距离来控制模型的显示距离;
b)阴影其实包含两方面阴暗和影子,建议使用实时影子时把阴暗效果烘焙出来,不要使用灯光来调节光线阴暗;
c)少用像素灯和使用像素灯的Shader;
d)如果硬阴影可以解决问题就不要用软阴影,并且使用不影响效果的低分辨率阴影;
e)实时阴影很耗性能,尽量减小产生阴影的距离;
f)允许的话在大场景中使用线性雾,这样可以使远距离对象或阴影不易察觉,因此可以通过减小相机和阴影距离来提高性能。
2)程序优化方向:
a)删除脚本中为空或不需要的默认方法;
b)只在一个脚本中使用OnGUI方法;
c)避免在OnGUI中对变量、方法进行更新、赋值,输出变量建议在Update函数中调用;
d)同一脚本中频繁使用的变量建议声明其为全局变量,脚本之间频繁调用的变量或方法声明为全局静态变量或方法;
e)不去频繁获取组件,将其声明为全局变量;
f)需要隐藏/显示或实例化来回切换的对象,不使用SetActive Recursively或active,使用将对象远远移出相机范围和移回原位的做法;
g)尽量少用模运算和除法运算,比如a/5f,需改写成a*0.2f。
5 结束语
本文以西安石油大学新校区为例,基于Unity3d平台开发的系统运行效率高、维护简单,运用3dmax建模软件进行对场景建模,通过Javascript和C#语言实现人机交互,最后结合html进行融合导出,从而完成虚拟校园的开发。在论文中重点介绍了系统设计过程中的关键技术以及对系统从模型设计及程序设计两方面的优化。该系统经过测试,基本实现学生用户的使用需求。
参考文献
[1]范立冬,李曙光,张治刚.虚拟现实技术在医学训练中的应用[J].创伤外科杂志,2008,12,9(6).
[2]吴燕玲.基于Wed的玩味动画技术及其在教学中的应用[J].中山大学学报:自然科学版,2002(6):53-56.
[3]詹胜利.Web3D技术在网络教学中的应用[J].网络技术与网络教学,2006,1:15-17.
[4]来翔.面向电子商务的虚拟商品模型研究[D].浙江大学,2003.
[5]沈璞.虚拟现实技术在现代工业设计中的应用[J].制造业自动化,2004,6:76-78.
[6][] Okabe M, Igarashi T. 3D modeling of trees from freehand sketches [C]//International Conference on Computer Graphics and Interactive Techniques. ACM SIGGRAPH 2003 Sketches & Applications. New York, USA: ACM, 2003:1-1.
[7]Okabe M, Owada S, Igarashi T. Interactive design of botanical trees using freehand sketches and example-based editing [J]. Computer Graphics Forum, Eurographics (S0167-7055), 2005, 24(3):487-496.
[8]Livny Y, Yan F L, Olson M, et al. Automatic Reconstruction of Tree Skeletal Structures from Point Clouds [J]. ACM Transactions on Graphics (S0730-0301), 2010,29(6):151-1:151-8.
[9][] Tan P, Fang T, Xiao J X, et al. Single Image Tree Modeling [J]. ACM Transactions on Graphics (S0730-0301), 2008, 27(5): 108-1: 108-8.
[10]Neubert B, Franken T, Deussen O. Approximate image-based tree-modeling using particle flows [J]. ACM Transactions on Graphics (S0730-0301), 2007,26(3):88-1:88-8.
[11]甘建红,彭强,戴培东,等.基于 OBB 层次结构碰撞检测的改进算法[J].系统仿真学报,2011,23(1):2619-2173.
论文关键词 :虚拟现实 动态网站 B/S模式 网络系统结构
论文摘要 :针对虚拟现实技 术的发展和 当前微机组装的实习现状 ,提出“动 态网站+数据库 +虚拟现实”的技 术万棠.设计基于 B/S模 式的网络 系统结构模型,该系统更新 、维护方便 ,有良好的通用性和可扩展 性.
虚拟现实 (Virtual Reality简称 VR)技术是近几年迅速发展起来的一种新 的人机接口技术,是一项以计算机技术为核心,综合视、听、触觉为一体,模仿现实三维空间的再现技术,利用虚拟现实技术,在计算机上可以逼真地模拟自然真实环境.随着计算机网络技术和计算机图形学 的不断发展,结合 VR技术,打破了传统的基于 Web的二维平 面交互模式,实现了基 于 Web3D三维空间交互模式 的第二代 Web技术(多媒体 +虚拟现实+Internet).虚拟现实技术已广泛应用于航空航天、医学实习、建筑设计、军事训练、体育训练、娱乐游戏等诸多领域.目前,虚拟现实技术已应用于课堂教学,作为教学媒体对远程教学已产生深远的影响.
微机组装是高校计算机专业的一门应用及实用性较强的专业课程,学生在掌握微机原理和了解当前计算机硬件发展最新技术的情况下,自己动手组装计算机.高校大都开设这门课程,而大多数都是使用已经淘汰的计算机,远远落后于实际计算机硬件的发展.由于硬件条件的限制,使得理论与实际相脱节.而且,认识计算机结构,频繁地拆装计算机,硬件的损坏程度很大,实验代价太高。针对以上问题,本研究尝试将动态网站数据库技术和虚拟现实技术应用于虚拟微机组装系统的开发中,提出了一种基于 Web数据库技术,结合网络技术和虚拟现实技术口 的网络虚拟微机组装系统的结构模型,综合发挥各种开发工具的优势,设计研究基于虚拟现实技术的网络装机系统 ,为广大高校学生、电脑爱好者 、电脑经营者提供了一个很好的学习业务推广平台,也是今后远程教育的发展和趋势.
1 系统结构
本系统是一个基于网络的共享虚拟微机组装系统 .使用者可以通过人机界面对虚拟环境中的硬件设备进行组装.系统展示的主要功能:计算机硬件设备展示 、安装过程演示、组装实验,并可 以实现多个实验者协同工作,共同完成实验.
如图 1所示 ,该系统的流程分为 3层,自下而上分别为数据库管理层、应用层和交互层.其中,交互层为使用者浏览界面,有关数据计算和数据处理在应用层,Web服务器负责接收远程或本地的 HTTP请求,根据请求从数据服务器获取相关资源 ,然后将结果转换成 HTMI 语言形式 ,生成 Web页面送到浏览器端.
数据库管理层:负责底层数据库的 日常管理,包括资源的入库、修改、删除、属性设置等相关管理功能. 应用层 :是整个系统的后台管理层.包括文件查询模块、在线管理模块和用户管理模块等.根据使用者的实际需要进行相应的操作.
交互层:是系统各功能模块的可视化显示 ,使用者通过浏览器与服务器相连,完成各种操作.本系统采用 3层完全独立的结构模型,防止了对数据库的非法操作 ,系统安全性高.任何数据资源的更新或程序的升级都是由服务器端完成的,不影响客户端操作, 系统维护和升级 十分方便.对于客户端只需安装浏览器即可使用.
2 系统开发及运行环境
系统在 Windows2000环 境下开发完成,采用SQL Sever数据库 、Apache服务器和 PHP等作为网络开发工具 ,利用CAXA实体设计和 MuhiGenCreator 建模工具 、VRMI 技术及相关图像处理软件.客户端需安装 IE 5.0以上版本浏览器 ,还需安装 相 应 的 VRML 浏 览 器 插 件 (如:BS—ContactVRML,C0SMO一2.1.1-eng,CORTVRML等).
2.1 虚拟现实技术
虚拟现实技术具有沉浸感、交互性以及多感知性等三大特点,虚拟现实技术是本系统实现的关键.Vega是 目前流行的一个虚拟现实应用程序开发环境,随 Vega发行的还有一个 Lynx图形用户界面程序.硬件模型使用与 Vega相关的三维建模工具 Creator实现.使用 Vega开发虚拟现实应用程序的主要流程如图 2所示.
主要过程如下 :
1)建模.建模是建立虚拟场景中的地形及各种物体的三维数字模型,这些模型使Creator建模工具,建立虚拟场景中物体的三维数字模型,经过渲染后在计算机屏幕上可以形成逼真的地形和物体.建模任务由Creator软件实现,能够满足虚拟现实应用程序的实时性要求.
2)用 Lynx建立应用程序定义文件。建模形成三维数字模型后,使用 Lynx实用程序定义文件(ADF).ADF文件描述了用于虚拟现实应用程序中的模型文件、运动模型及其路径、特殊效果、环境效果等,使用Lynx程序可大大节省编程人员的工作量.
3)编程.在 C、C++或 VC++语言平台上,利用 Vega的 API和软件库,调入已建立的 ADF文件及三维数字模型,对程序进行初始化,编程响应用户输入并动态地改变程序的运行,最终完成虚拟现实应用程序的编制.
4)编译运行.应用程序编译成功后,调试运行该应用程序,最后系统集成.
2.2 动态网站数据库技术
整个系统的开发采用 目前公认的开发动态网站最佳组合,即 PHP+Apache+MySQL组合技 术,该技术具有较高的性价比.
1)建立数据库.利用 MySQI 建立数据库,对数据库的操作,可以使用 php My Admin管理器,该管理器具有与标准的 Windows资源管理器相似的界面与操作方式,可以方便地进行数据库的创建与管理.
2)完成数据库间的交互.数据库与 Web相连,转换成 Web页.PHP4支持 MySQL数据库,不需要外部支持库就可以实现对 MySQL的全部操作,利用 PHP4调用相关的数据库管理函数,从而实现web与 MySQL数据库之间的交互.
3)数据库的管理与维护.利用 Dream weaver制作数据库管理页面,并且提供远程维护功能,用户可以通过浏览器登陆数据库管理页面,对数据库进行管理和维护,提高了系统维护的灵活性,为本系统的随时更新提供方便.
3 应用测试实例
学生以学号登陆后,即进入实验系统.首先 ,从元件模型库中选择相应的硬件,如主板、内存、硬盘、鼠标、键盘等.然后 ,进行硬件的插接.将内存条插入主板,插接时若报警 ,则内存条选取有误;若发现所选内存条为 DDR 内存条 ,而 主板插槽 口需 要SDR内存条与之匹配那么,重新选取内存条后继续上一步操作;系统仍报警,是内存条方向不匹配则旋转内存条至适当方向后 ,再插入主板内存插槽中.图 3显示已将 内存条摆放到正确位置,即将插入主板时的状态.
硬盘数据线与电源线的插接,将数据线和电源线的方向调整正确后 ,硬盘即插接成功,如 图 4所示.主机箱内还有光驱网卡、显卡等硬件的插接,这里不再一一赘述.至于外设,现在大部分是 USB接口的外部设备.同样可能遇到方 向需要调整的情况 ,将插 口调整好后 ,连接主机箱相应 的插槽即可.这样 ,将所有硬件连接好 ,一台计算机组装成功.
基于 VR技术的虚拟微机组装 系统,在高校实验教学中得到良好的应用效果.为学生提供了一个自由实验的平台,增强了学生做实验的自主性 ,不再受实验室忙、设备少的约束 ,进一步提高了学生的学习积极性、主动性和创造性.对于高校实验室管理来说,也节省了实验准备时间,降低了实验成本,使实验室管理和开放更加现代化、人性化.在设备不断更新的基础上,使得实验紧跟时代的发展,有助于学生了解最新的硬件发展情况.此系统也可以应用于计算机销售市场,具有很好的应用前景.
4 结语
本研究给出了基于 VR技术的虚拟微机组装系统的设计结构模型以及应用测试实例,据此亦可以设计出其他学科的网络虚拟实验系统.相信不久的将来,随着 VR技术的发展,结合人工智能、神经网络等学科,VR技术将应用于更广的范围,交互式的、人性化的网络虚拟平台,将成为实验教学与应用性学习的主流。
参考文献
[1] 徐英卓.基于 VR的运动人体科 学虚拟实验系统[J].计算机系统应用,2002(9):19—21.
[2] Williams E H,Lane D.PHP& MySQL Web数据库应用开发指南[M].谢君英 ,欧阳宇译.北京 :中国电力出版社 ,2003.
[3] 曾建超 ,俞志和.虚拟 现实技术及其应用[M].北京 :清华大学出版社 ,1996.
1 实践课程简介
本课程属于我校计算机类本科生的第一门专业基础实践课,课程内容包括C++语言程序设计的理论和实践两个部分。基础理论部分内容包括C语言程序设计的基本概念、C++面向对象程序设计、类、对象、继承、派生、多态、模板等概念。实践部分则包括C++语言程序设计的基本训练、类和模板的设计编程、几个算法的实现、简单应用等。
C++语言程序设计是计算机类本科生的一门程序设计语言基础课程,虽然现在大多数程序员使用Java语言做项目开发,但作为程序设计的入门语言,考虑到在培养程序员思维方式的转变过程中,既要兼顾理解计算机硬件和软件的结合,又要程序员从传统的数学逻辑思维方式继承并成功转型到计算机逻辑思维方式。目前也只有C或C++语言能够较好的满足这种需求。
本课程注重采用C++编程语言的最新国际标准[1],结合我们学校实验室硬件的情况,尽可能采用国际上正在流行的比较新的编程软件进行实践教学。使得课程的讲授内容始终跟踪C++程序设计语言的前沿性和先进性。积极学习和引入国内外同行的先进教学方法和教学案例。简单介绍C++语言程序设计的几个流派、现实的应用情况及未来发展趋势。
本课程强调学生在认真听课、阅读理解课本上的有关程序设计的概念、方法外,还要善于利用互联网的资源,特别是学习C++语言程序设计的几个官方网站、几个行业大牛的网站上的知识。在理解理论的基础上展开实验验证,不断的修正自己的理解偏差,使自己学到的知识不断完善,形成体系,为后续课程的学习打下一个坚实的基础。在C++语言程序设计实践教学过程中,强调合作能力的培养,团队意识的形成。自2004年以来,本课程教学效果得到学生的一致肯定,锻炼和培养了学生的实践能力,比较好的完成了本门课程的教学任务。
2 实践教学目标
本课程的实践教学目标包括:学生通过本课程的学习、实践,让学生从中学生传统的数学思维方式转变为结合计算机软硬件特点和计算机逻辑的计算机思维模式去分析问题、编写程序、实现解决问题。通过C++语言程序设计课程的实践训练,了解什么是面向对象的设计思想,养成良好的程序设计风格。利用C++语言程序设计来解决一些实际问题;学会自顶向下,逐步细化,会把复杂问题拆解为几个更为简单的问题,利用面向对象技术进行设计和编程。培养团队协作和开放意识,为计算机类专业后续课程的学习打下一个良好的基础。
3 实践教学方法、手段(举例说明采用的各种教学方法及手段的使用目的、实施过程、实施效果)
①建立以转变传统数学逻辑思维方式为结合计算机软硬件特点的计算机逻辑思维方式为主线的,分层级、渐变式的实验教学体系。首先训练学生学习计算机编程的三种基本逻辑,数组等数据的组织方式,学会排序等几个简单常用算法、解决一些简单问题。然后学习把数据和定义在数据上的操作整合在一起引入类的概念、学会类的定义、理解继承、派生、多态、学会模板的定义和使用、学习文件的使用方法。使学生养成良好的程序设计风格、形成计算机逻辑思维模式。
②采用灵活多变的教学方法,加快提高学生的编程能力。实践教学过程中,针对一些具体的例题,先解决基本问题,然后分析对于一些语句进行适当修改和加入新的语句就可以解决类似的其他问题。设计、利用一些实验数据发现所设计的程序的关键性问题,然后引导学生去解决此类问题。因为本门课程是学生接触的第一门实践性课程,教学过程中引出的问题有些是当前阶段可以解决的,一些问题还要通过后续课程的学习提高能力后才能解决,不一定马上就要把问题解决掉、重点是培养学生继续学习的兴趣。激发学生自主学习的积极性、主动性和能动性。
鼓励学生自主组建C++语言程序设计兴趣小组去找协作课题、完成课程设计作业。实验课堂上也鼓励学生多走动、多交流。建立网上资料、技术分享机制、鼓励学生分享解决问题的方法,老师根据学生的分享情况,适当增加学生的平时成绩。
③逐步建立学校和社会的协同培养模式。在教学过程中,课外时间如有可能,适当组织部分学生走出校门,利用校友资源,组织参观企业、科研院所、地方政府等单位在计算机方面的应用情况。了解社会需求、拓展视野、激发学生学习本专业的积极性。形式多样的人才培养协同创新模式。教学团队通过学院与广州易数信息科技有限公司、广东省信息安全测评中心、广州杰赛科技股份有限公司、广州腾科网络技术有限公司等企事业单位建立了长期战略合作关系。这些都为创新型人才培养打下了坚实的基础。
4 实践教学考核方法
本课程的总评价分数包括平时考勤,平时作业,中段考试、期终前上机考试、课程设计与新技术资料翻译,期末考核六部分。分别占10%、10%、15%、15%、10%、40%。其中,平时作业主要是针对课程中每章节后,为巩固所学内容所布置的习题编程实现;课程设计则主要是训练学生的协作能力和解决实际问题的分析、设计、编程能力、要求提交一份相对完整的设计文档;英文资料翻译采用自主选择网络上国外近半年来计算机类的英文资料、鼓励组团分解翻译大块文件,要求每人翻译至少2个A4版面。期末考试通过闭卷方式考核程序设计的能力,期终考试占总成绩的40%。
5 实践教材
本课程的实践教材为本课程主持人及参与人员王玉山等所编著的《C++语言程序设计实践》,该教材现在只有电子稿,还没有正式出版。
6 实践教学环境和教学资源
本课程的实践教学环境为:①学习版的微软公司的Visual Studio Visual C++的集成开发环境。②Bloodshed Dev-C++(C++开发工具)V5.11.0中文免费版。③奇趣科技开发的跨平台C++图形用户界面应用程序开发框架Qt。
教学资源:
①课程概要:课程简介、教学大纲、课程特色、教学效果。
②在线课堂:课程PPT。
③实验指导:实验指导书和实验报告。
④部分大作业选题目录。
⑤C++语言程序设计课程及研究常用、重要网址列表。
7 实践教学效果
经过多年探索和实践,教学团队在人才培养模式、教学方法、实践教学改革、试验教材编写等方面取得了一定的成绩。团队成员发表相关教改论文10余篇,获得过2010年广东省千百十校级人才项目,主持广东外语外贸大学校教学研究课题“毕业设计管理系统”,2010年度、2012年度广东外语外贸大学优秀科研业绩奖二等奖,周咏梅和林华两位老师获得过年度优秀个人。教学团队成员具有丰富的教学改革实践经验和理论基础,保证了本门实践课的教学质量。
通过大作业与新技术资料翻译,提高了学生主动学习的积极性、培养了团结协作精神。提高了解决问题的能力。组织部分学生到相关企业参观、坚定同学们学习本专业的积极性。
指导学生积极开展科研实践和申报项目,获得成绩如下:
①在王玉山老师的指导下,软件系2015级大学一年级新生林泽聪等获得了广东省团委的攀登计划项目:个人健康档案,获得资助2万元。
②在周咏梅和蒋盛益老师指导下,彭金原等同学获得广东外语外贸大学校级大学生创新创业项目:网络舆情构建关键问题研究―以微博客为分析对象(2011年校级);黄确君等获得:面向高校图书馆的推荐系统(2012年校级)。
国家级学科竞赛获奖情况:
Innc多媒体解析语言,2007年在天津举办的全国第10届挑战杯比赛3等奖,2004级软件工程专业,文羲畅。指导老师王玉山。该项目同时获得广东省2007年第九届挑战杯1等奖。
省级学科竞赛获奖情况:
①四灵象棋――基于互联网与移动设备联合开发,广东省第18届“高校杯”软件作品赛一等奖,2006级计算机专业:郭勇、刘荣科、何健,指导老师:林华、蒋盛益、吴彩虹、王玉山。
②基于Web3d的网上服装商城 , 第十七届广东省“文泰高校杯”软件设计(本科组)竞赛1等奖, 2004级软件工程专业学生,指导老师,王玉山。
泛珠三角安利杯大学生计算机作品赛:
2006级计算机专业,陈俊平,余雯. 基于C++语言程序设计的垃圾邮件识别系统, 泛珠三角大学生计算机作品赛广东赛区, 二等奖,2009。
2006级计算机专业学生,“任意达”――私人定制高校客车联盟系统,大学生计算机作品赛暨泛珠三角大学生计算机作品赛广东赛区选拔赛三等奖 , 指导教师林华。
8 实践课程特色及价值
《C++语言程序设计》作为大学计算机类1年级新生的第1门实践课程, 肩负着既要把学生从传统的数学思维方式向结合计算机软硬件特点的计算机思维方式转变,又要转变学生的应试教育模式学习方式向探索式、实证式、协同式、全球互联网求助式、开放式教育学习方式转变。还要求学会面向对象的程序设计思想方法,为后续课程的学习打下一个良好的基础。课程内容本身要求理论联系实际、在理解理论的基础上进行实践验证并不断修正、完善自己理论体系。学习本课程后,要求能够进行面向对象的类的设计,能够解决一些实际问题。本课程的特色和价值主要表现在:
①课程内容理论联系实际,所用软件实验工具、环境要符合时代需要、要采用最新的C++语言程序设计国际标准进行实验讲学,在试验中老师要善于对于同一个程序代码、进行适当变换就可以讲解、实验几个概念和方法,争取用较短的实验时间获得尽可能大的教学效果。