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