田興彥,杜紅燕
(海南熱帶海洋學院 創(chuàng)意設計學院,海南 三亞 572022)
《普通高等學校本科專業(yè)類教學質(zhì)量國家標準》已正式出版、實施。《標準》針對動畫與數(shù)字媒體相關專業(yè)的人文、藝術與科學深度交叉融合特點,要求各專業(yè)廣泛吸取相關學科的知識、理論和方法,培養(yǎng)高級復合應用型人才[1]。強調(diào)專業(yè)課程體系要藝術、技術交叉融合,要以創(chuàng)作(設計)為核心,將培養(yǎng)學生的藝術創(chuàng)作能力和服務于藝術創(chuàng)作的技術研發(fā)能力為首要目標。程序設計屬于服務于藝術創(chuàng)作的技術研發(fā)能力之一,動畫、數(shù)字媒體藝術專業(yè)的游戲設計開發(fā)、虛擬現(xiàn)實/增強現(xiàn)實應用設計、網(wǎng)絡媒體應用開發(fā)等專業(yè)課程模塊均離不開程序設計。
程序設計課程是普通高校理工科專業(yè)的專業(yè)基礎課,也是許多高校設置的公共基礎課,目標是培養(yǎng)學生運用程序設計語言進行邏輯思維、分析問題、解決問題的能力。很多動畫、數(shù)字媒體藝術的藝術類專業(yè)開設了程序設計相關課程[2],比如“C語言程序設計”、“C#程序設計”、“Java程序設計”、“面向對象程序設計”等,但藝術類專業(yè)學生普遍數(shù)理基礎知識薄弱,邏輯思維能力不強,大部分學生覺得程序設計課程枯燥、難度大,課程教學效果不佳[3]。
針對藝術類專業(yè),特別是動畫、數(shù)字媒體藝術專業(yè)的程序設計課程,提出并探索了以游戲開發(fā)項目為驅動的課程改革思路[4],將程序設計的知識點融進游戲開發(fā)過程中,將程序設計理論教學與游戲開發(fā)技能培養(yǎng)相結合,使學生迅速理解編程知識,運用編程方法,解決實際問題,提高學生對程序設計的興趣,增強學生的自主學習和動手編程能力。
傳統(tǒng)程序設計課程主要采用的高級語言及常用編程環(huán)境有:C語言及編程環(huán)境、Turbo C、C++語言及編程環(huán)境、Microsoft Visual C++、C#語言及編程環(huán)境、Microsoft Visual Studio、Java語言及編程環(huán)境、Eclipse等。主要講授編程語言的語法規(guī)范和編程技能(算法),語法規(guī)范枯燥難記,編程技能又多是針對較為抽象的數(shù)學問題求解,編程環(huán)境對程序結果的展現(xiàn)不夠形象直觀,缺乏圖形交互,與藝術專業(yè)的藝術創(chuàng)作與設計結合不緊密、內(nèi)容不相關,導致學生參與感不強。為此,對程序設計課程的編程語言與環(huán)境進行改革,選用Unity3D引擎作為課程的編程環(huán)境,選用Unity3D開發(fā)語言C#為課程的編程語言。
Unity3D是由Unity Technologies公司開發(fā)的一個讓藝術家和技術人員一起輕松創(chuàng)建諸如三維游戲、建筑可視化、實時三維動畫等類型互動內(nèi)容的多平臺專業(yè)游戲引擎及游戲開發(fā)工具。使用Unity3D開發(fā)語言C#進行程序設計教學,把枯燥的C#語法規(guī)范和具體的游戲開發(fā)實踐結合起來,不但提高了學生的學習興趣,同時培養(yǎng)了學生將程序設計思想和方法應用到游戲設計開發(fā)上的技術研發(fā)能力。
針對藝術專業(yè)特點對程序設計課程教學內(nèi)容進行改革,將以講述程序語言語法規(guī)則為主要內(nèi)容的應試課程,轉變?yōu)榕囵B(yǎng)藝術創(chuàng)作開發(fā)技能的編程實踐課程。對于動畫、數(shù)字媒體藝術專業(yè),游戲設計與開發(fā)是專業(yè)核心模塊之一,它需要程序設計技能服務于游戲創(chuàng)作,所以,將程序設計課程的主要內(nèi)容設置為:培養(yǎng)學生運用C#語言在Unity3D中進行游戲程序設計的基本技能,將C#語法知識的講解融入游戲開發(fā)過程中。在Unity3D中進行游戲程序設計,讓學生即時體會到編程后的游戲運行效果,大幅提高了學生學習興趣。
程序設計語言有其完備的語法規(guī)則和知識體系,傳統(tǒng)的程序設計課程以編程語言的語法規(guī)則和知識體系為教學主線,在講授語法規(guī)則、知識點的過程中配合編程實踐。這種教學模式重視理論構建,但枯燥無趣,特別是對藝術類學生。為此,在動畫、數(shù)字媒體藝術專業(yè)的程序設計課程中采用游戲項目驅動的教學模式,以一個完整游戲開發(fā)過程為教學主線,在教授游戲開發(fā)各基本技能的過程中講授所需的C#語法知識。在該游戲項目驅動的教學模式下,教學的主要工作是將C#語言的語法規(guī)則和基本知識體系分解到游戲開發(fā)各基本技能任務中,然后按一定的邏輯順序和難易程度重新組織成課堂。課程的教學過程就是整個游戲的開發(fā)過程,也是C#語言知識體系的構建過程。在游戲項目驅動的課程教學過程中,學生能保持較高的學習積極性,不僅完成了既定的游戲程序開發(fā)任務,而且能利用所學技能對游戲進行各種改良、拓展,效果良好。
探索“做中學”教學方法?!白鲋袑W”是美國教育學家杜威提出的教育思想和方法[5],他把教學過程看作是“做”的過程,在教學中更注重實踐操作。本課程以項目為驅動,圍繞游戲開發(fā)項目,設計小任務,提出小問題,講解所需知識點,然后組織學生分析討論問題,提出解決方案,完成游戲小任務。在教學過程中堅持“以學生為中心”,鼓勵學生運用知識獨立完成游戲開發(fā)項目。
將抽象的知識點用游戲形式形象地展示出來。C#語言知識點多且較抽象,常令學生感覺枯燥、困難。課程結合游戲開發(fā)項目將抽象難懂的知識點用游戲形象地展示出來。比如在學習變量時,用多個變量分別表示游戲對象的大小、位置和方向,讓學生通過變量賦值觀察游戲場景中游戲對象的大小、位置、方向變化,從而讓學生理解掌握變量的概念。這種形象生動的教學方式使學生持續(xù)保持學習興趣與學習積極性。
傳統(tǒng)的程序設計課程考試都是閉卷打分制,這種方式注重理論知識,對學生編程能力、解決問題能力的考核不足,容易造成學生不重視編程實踐的心態(tài),對采用游戲項目驅動式的程序設計教學產(chǎn)生較大的負面影響。為了配合游戲項目驅動式的程序設計課程教學改革,將課程考試分為兩部分:平時實驗考核(占60%),由平時游戲項目實驗成果及實驗文檔打分累計得到;期末實驗考核(占40%),根據(jù)學生期末游戲項目實驗獨立完成情況打分得到。改革后的考核方式注重學生在整個學習過程中的能力表現(xiàn),注重學生獨立分析問題解決問題的能力表現(xiàn)。新的考核方式既能充分體現(xiàn)每位學生的技能水平,也能使學生樹立對待科學知識的認真嚴謹?shù)闹螌W態(tài)度。
以游戲開發(fā)項目驅動的程序設計課程選定C#為編程語言、以Unity3D為開發(fā)環(huán)境,采用“做中學”教學法,教學過程就是整個游戲的開發(fā)過程,也是C#語言知識體系的構建過程。實踐證明,游戲開發(fā)項目驅動的教學改革激發(fā)了藝術類學生學習程序設計的興趣,增強了學生動手編程能力。
項目驅動的程序設計課程改革不僅適用于游戲設計方向,也適用于各類藝術與技術結合的專業(yè)方向。比如,針對網(wǎng)絡媒體專業(yè)方向,程序設計課程可以以網(wǎng)站設計項目為驅動,選定JavaScript為編程語言、Dreamweaver為開發(fā)環(huán)境;針對虛擬現(xiàn)實專業(yè)方向,程序設計課程可以以一個虛擬現(xiàn)實項目為驅動,選定C++為編程語言、Unreal引擎為開發(fā)環(huán)境。項目驅動的程序設計課程能為藝術與技術交叉融合的復合型專業(yè)的學生打下良好的程序設計基礎,使技術更好地為藝術創(chuàng)作服務。