前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的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++語言程序設計國際標準進行實驗講學,在試驗中老師要善于對于同一個程序代碼、進行適當變換就可以講解、實驗幾個概念和方法,爭取用較短的實驗時間獲得盡可能大的教學效果。