999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

游戲開發驅動的Windows程序設計課程教改探析

2012-01-01 00:00:00楊程陳念年李郁峰
教學研究 2012年2期

[摘要]介紹了一種以游戲項目開發進行驅動的程序設計課程教學模式,結合Windows程序設計課程的特點,該教學模式將教師與學生、課堂教學與工程實踐、課內學習與課外學習融為一體,既減輕了教師教學難度與工作量,又大幅度提升了學生對程序設計的興趣,通過將游戲項目與課堂知識互相結合,建立起學生初步的軟件工程素養,提升了學生的主動學習與動手實踐能力。

[關鍵詞]游戲開發;Windows程序設計;程序設計實驗;教學改革

[中圖分類號]G642.0 [文獻標識碼]A [文章編號]1005-4634(2012)02-0092-04

0 引言

Windows程序設計課程由于具備極強的工程應用背景以及明確的能力培養目標而成為國內各理工類院校計算機軟件類專業普遍設立的重要課程。大多數院校通常在高級程序設計語言課程(C語言程序設計或C++語言程序設計)以及軟件理論基礎課程(數據結構或算法設計基礎)之后,開設Windows程序設計課程。該課程的教學目的在于培養學生能夠綜合運用已掌握的初步程序設計方法以及軟件理論知識,在深刻理解面向對象設計本質基礎上,能夠基于可視化開發工具(如Visual C++)在Windows平臺下進行基本的程序設計。學生經過這門課程的學習之后,不但應該具備在特定開發工具和平臺環境下進行熟練的程序設計和實現技能,而且通過該門課程綜合性實踐練習之后,還應該初步具備軟件工程的初步思想,具備實施綜合性復雜性較高的軟件開發項目所需的基本專業技能,為后續本科高年級課程做好知識儲備。該課程的設置與國家在計算機科學教育方面制定的“提高學生素質,注重創新精神和實踐能力”的教學目標是高度一致的。

然而在教學實踐中,這門課卻普遍存在教師難講、學生難學的情況。很多教師反映課程知識點太多太散,很難確立學習主線;而學生則普遍感覺這門課程門檻較高,知識點比較密集,不易把握學習重點,實際編程中往往感覺學習目標不明確,無從下手,在不斷遭遇困難挫折后逐漸對Windows編程產生了畏難情緒。針對這一不利狀況,很多院校采取了一系列的措施,蘭紅和李淑芝提出“以學生為中心”教學理念的課程改革思想;虞芬、鄒睿娟也提出“以學生為學習中心”的改革思想;徐宏喆和聶影等人提出“在教學的過程中利用信息化技術,力求激發學生對課程的學習熱情,培養學生動手實踐的能力,創造性思維培養”的方法。上述方法雖都有較強的理論依據,但將其運用于Win-dows程序設計課程進行教學,實際效果均不甚理想。

董曉瑩通過教學實踐和分析,結合計算機語言類課程的特點,闡述了計算機語言類課程改革的三個方面:課程內容的改革,教學方法、教學手段的改革,實驗室建設。面對這些方法和措施,筆者在對Windows程序設計課程教學的實踐過程中,大膽突破傳統教學思路,將課堂授課式教學與項目案例實踐活動相結合,探索出以游戲項目驅動、團隊協作的程序設計教學模式,同時采用新穎的過程和結果并重考核方式,激發了學生的學習興趣,實踐表明,這一做法取得了良好的教學效果。

1 課程教學改革思路

當前各個院校在Windows程序設計這門課程上設置的學時數各不相同,但基本的布局思路是相似的,即盡量將實踐教學實驗課的學時數比例適當加大,給學生提供更多的動手編程機會。蔡學森等人通過類似的實驗教學改革方法,在實驗課內容的改革方面,通過增加設計性、綜合性,很好的培養了學生科學實驗的素質。實驗及課程設計在授課內容上則一般是采取“理論課+實驗課”的模式進行。具體授課時,一般的模式是理論課緊扣大綱知識點編排、講授,實驗課在時間和內容上又與理論課相呼應。這種以課程大綱知識點為中心的教學方式雖然有一條主線,但對于程序設計能力培養來說,知識點通常顯得過于分散,各個知識點之間欠缺內在邏輯聯系性,教師通常針對單個知識點舉出案例代碼講解,示例通常抽離了應用背景與場合;實驗課內容也是遵照傳統模式開展,與理論課內容對應的若干次實驗練習構成實驗課主體內容,訓練要求以實驗指導書的方式規定;課程考核一般也按照閉卷打分的方式進行;學生在學習時按這種方式對各知識點依次掌握,普遍反映知識點零亂,不能理解一些被強調為重點的知識的實際應用價值,對各部分內容的內在邏輯性條理不清晰,也不知道在實際軟件項目中如何去應用這些知識。此外,示例代碼普遍缺乏趣味性,內容枯燥,很難讓學生有持久的編程學習熱情。

針對這種情況,對教師和學生的教學/學習背景作了一番調查分析,認為傳統的授課方式雖有一定價值,但整體而言比較脫離實際,而且形式比較僵化乏味,考核考察方式也不能很好地真實體現學生對具體編程知識與技能的掌握狀況;而當今的軟件行業對于培養軟件專業人才,尤其培養具備較強的工程問題解決能力的從業人員,提出了較高的要求,現有的授課理念與內容和這種需求存在脫節現象;當代青年大學生思維普遍比較活躍,其思維習慣和生活體驗決定了他們對于既有趣味性又有挑戰性的游戲娛樂類的軟件應用程序比較感興趣。在這樣的調查結果基礎之上,決定對Windows程序設計課程的教學方法進行大膽的調整改革,引入一種新的教學模式,即以規模適中的小游戲項目開發作為Windows程序設計課程學習的主體學習活動內容,通過全程的“知識講解+項目實施”方式完成對整個課程的教學與學習,將Windows編程知識與軟件工程的基本理念結合起來,以解決實際問題為推動教學/學習活動的中心點,在不脫離教學大綱的基本要求之下,以激發學生持久的編程熱情、養成學生規范的編程習慣作為培養目的,真正使學生經過課程學習之后具備相當的實際軟件開發能力,成為行業真正所需的人才。這樣的改進既高度符合建構主義以學生為中心,強調學生對知識的主動探索的理念,也為產學研相結合培養社會可用人才提供了一條新思路。經過幾個學期的實踐,事實證明教學效果良好。

2 課程實驗教學方案設計

2.1 分階段軟件版本升級式的項目驅動式教學法

以游戲項目開發方式驅動的Windows程序設計課程一般按照如下方式開展。

1)實驗內容(題目設計)。在每學期開始之前,課程組教師集體討論分析,設計出一種或幾種新學期課程項目的題目。選題原則:題目內容必須涵蓋教學主要內容,而且能夠最大程度調動學生編程興趣和熱情,題目設立的背景創意均源于實際生活或游戲。筆者認為興趣是學好一門知識的必要前提,實驗題目的設計內容盡可能要讓青年大學生喜聞樂見,如要求學生設計實現一款游戲軟件(如山寨版的QQ農場、泡泡龍、俄羅斯方塊、連連看等)。

2)項目驅動(階段性目標和要求)。具體項目推進按照分階段版本升級式進行,每階段具有明確的實踐和學習目標,對應學生在本門課程中必須掌握的知識、必須具備的能力要求。以“山寨版QQ農場”這個題目為例,某一學期的題目要求如下。

設計實現一個山寨版的QQ農場,單機版實現即可,要求用本學期學過的Windows程序課程知識進行設計,分3個版本多次提交,每一個版本均有必作內容和選作內容,確定的提交時限,嚴禁代碼抄襲,每個版本均要求內容格式規范的實驗報告(設計開發技術文檔)伴隨提交。各次大作業提交的成績形成平時成績,平時成績占總成績比例的70%。

版本1.0:要求在客戶區窗口實現農場耕地的靜態繪制,農場附近裝飾物(農舍、狗欄、風車等)的靜態繪制,能實現對耕地的操作,耕地能改變顯示狀態、體現這種操作結果,耕地上作物的幾個生長階段能表現出來。

對應教學大綱知識點內容為:MFC/SDK程序框架的建立;GDI對象繪圖;位圖的繪制;窗口客戶區的坐標計算與變換;定時器。

版本2.0:增加倉庫,商店的交互界面,增加必要動畫(如獵狗的行走),增強系統的趣味性,納入游戲積分規則。擴充澆水、除蟲、鋤草、施肥等擴展功能。

對應教學大綱知識點內容為:菜單;加速鍵;對話框;控件;對話框與視圖的交互。

版本3.0:增加系統數據管理能力,能對系統進行狀態保存和重新載入,加入聲音音樂效果,編寫用戶手冊。完善設計文檔,特別是在文檔中要給出各類關鍵系統結構圖,數據流圖和算法流程圖,對于關鍵技術的解決要有簡要文字分析說明。

對應教學大綱知識點內容為:文檔一視圖結構;文件的讀寫;數據庫編程基礎。

這個題目引起了學生們極大的興趣,而分階段推進實現設計的好處在于:每一階段設計目標明確,知識點緊扣教學大綱,各個知識點在運用時體現彼此內在關聯性和統一性,無論理論課還是實驗課的知識點講解,都將做到有的放矢。學生學習時不斷思考“這個講解的內容是否能用來解決現在要實現的游戲軟件的某個功能”,思維積極性被充分調動起來,課堂氣氛顯得熱烈而生動。教師以解決游戲項目中存在的實際編程問題為導向,抓住學生的關注點和注意力,將各個知識點有機地結合起來,給予學生啟發式講解;學生經過一番鉆研分析、查閱資料、編碼調試的學習活動,踴躍參與項目的推進,每達到一個版本的設計目標,既掌握了教學大綱所規定的知識內容,也提升了編程技能。

2.2 過程管理

通過實踐筆者認識到,在改善教學效果、活躍學習氣氛上雖可以把寬松活潑作為基調,然而對于課程過程化管理卻不能放松,相反在這方面還要提高要求,加強管理。

傳統的作業尤其實驗報告提交制,以一種高頻度的方式(如每周一次實驗均要提交一次實驗報告)進行,通過調查,筆者覺得該方式比較不可取,這樣做造成文檔工作量過大,學生很難再有時間精力對代碼進行質量改進,進而導致不少學生逐漸形成應付敷衍提交實驗報告的心態和習慣,這喪失了通過實驗報告對學生編程活動過程規范化管理的考察目的。與之相反,筆者一方面決定將實驗報告提交頻度降為項目大作業軟件版本的提交次數,但另一方面向學生強調:必須高度重視軟件技術文檔的質量,新版本的實驗報告的內容做了重大調整,要求按照:“(1)設計目標;(2)總體設計思路(必須附有系統結構示意圖);(3)系統詳細設計;(4)關鍵算法分析(必須附有算法流程圖);(5)測試結果分析;(6)總結”這樣的結構進行編寫,杜絕文檔編寫中的馬虎和不認真現象,通過此舉向學生強化:好的軟件首先是好的設計,而好的設計首先通過包含高質量設計圖的設計文檔體現出來;優質規范的技術文檔和優質規范的代碼對于程序員來說是同等重要。

通過教師的強化管理以及嚴抓按期回收代碼文檔制度,學生們普遍扭轉了把編程序看作是某種個人興趣支撐下的個人行為的膚淺觀念,認識到程序設計是一種體現科學性規范性的嚴謹的科研生產活動,必須周到細致,刻苦認真。經過一學期的錘煉,學生無論是在編程技術水平還是團隊協作能力方面,都得到了極大的提升和增強。

2.3 突破傳統的課程考核方式

教學課程改革的一個重要環節就是對課程的考核方式做調整。對于Windows程序設計這樣一門強調運用多方面知識技能進行相對復雜的軟件系統的設計與開發的課程,傳統的試卷閉卷打分制很難客觀反映學生真實水平,學生成績會被偶然性因素影響以及放大,并且這樣的考核方式也容易造成學生前緊后松的學習心態,而編程技能的提升效果,是需要在一段較長時間內持續專注的努力才可能體現出來。采用游戲項目驅動式的教學模式之后,很快對這種考核方式作了調整,最終的考核方式確定如下:學生成績由兩部分構成:平時成績(占70%),由各次不同版本軟件提交的代碼和文檔結果打分累計得到;最終答辯成績(占30%),課程結束不采用試卷閉卷式答題,而采取學生現場答辯方式對實現的游戲項目的設計思想與關鍵算法進行講解,教師當場給出成績。兩項內容相加得到學生Windows程序設計課程的總成績。

新的考核方式具有如下優點:(1)注重學生在一段時間內能力的持續增長而非一時的表現。既能充分體現每位學生的真實技能水平,也能使學生樹立起對待科學知識的認真嚴謹的治學態度,最終成績體現了更多的真實公正性。(2)教師也可以根據不同階段版本的作業批改情況,對發現的普遍性問題做及時講解以及研究方向的調整,對于學生學習狀況處于隨時把握之中。

然而這種考核方式也有不利之處,會造成教師作業批改量相對過大,教學負擔增加。

3 課程教學效果剖析

經過幾個學期的實踐,游戲開發驅動式的Windows程序設計課程教學改革取得了比較明顯的成效(見表1),主要表現在以下幾方面。

3.1 教學實踐內容有了具體針對性,與社會生產需求結合更加緊密

程序設計教學的內容不應該脫離實際的社會生產具體需求,否則就有閉門造車之嫌。當前,各類游戲類軟件(手機游戲、網絡游戲等)開發無疑已成為應用軟件開發領域的熱點之一,Windows環境下的許多重要的通用編程技術(GUI界面、數據庫、網絡、3D動畫)均毫無例外地在這一領域內得到了充分的運用和展現,這些知識的基礎部分正是Windows程序設計課程教學大綱之中所要求的掌握重點。新的教學方法設定的游戲項目,一般其提出背景都來自于實際軟件開發過程當中(如有一些技術問題是一些軟件開發類論壇上經常會討論的),學生通過一個要求比較全面的游戲項目研發的鍛煉,很好地對課程知識點進行了綜合運用,充分體現了學以致用的務實精神。由于編程技術的通用性,課程學習過程掌握的知識與技能也能很快地被運用到其他一些軟件開發領域(如信息系統、虛擬現實、嵌入式軟件)當中。通過這樣的課程鍛煉培養出的軟件開發類人才無疑更能滿足各類機構和企業的實際需求。

3.2 在新的高度理解和開展程序設計開發活動

Windows程序設計作為一門建立在低年級基礎軟件開發類課程之上的軟件開發“高級”課程,無論在編程思路的講解還是編程思想的闡釋,都不能也不應該停留在僅僅對某些局部的知識語法細節進行低層次的強化灌輸的層面上。通過一個類似于真實軟件產品的游戲項目開發過程,教師要讓學生明白,應該更多地從整體系統的角度對實際問題進行抽象建模,也應該更多地從框架的層次而不是代碼的角度去看待軟件,應該更多地關注軟件的結構是否具備良好的可擴展性和可復用性,要使學生明白,決定軟件產品是否成功更多地取決于系統設計過程而非代碼編寫過程;通過將軟件工程的開發過程具體地與實際項目結合起來,讓學生充分體會到軟件工程的許多概念和步驟不再抽象;規范的代碼文檔管理以及有效的團隊人員交流,使學生對實際開發團隊的活動有了比較直觀的認識和理解。經過這樣的理念熏陶和實踐鍛煉,學生對于軟件開發有了全新的體驗和認識,也更能符合當今軟件開發領域對于高層次軟件開發人才的培育需求。

3.3 有力激發學生對程序設計學習的興趣和熱情

Windows程序設計課程無疑是存在不少的知識點和學習難點,能讓學生持續持久地在這方面投入熱情和精力,興趣是極其關鍵的。通過分析當代青年大學生自身特點,游戲項目驅動式的教學無疑是深得人心的,學生在這樣的學習過程中既能感受到編程帶來的挑戰性,也能體驗到研制游戲的趣味性,將學和玩有效地結合一體,最終對程序設計和軟件開發產生了極大興趣,不少同學甚至決定今后將從事實際的游戲產品開發。課程學習結束之后,大部分同學要求教師繼續推薦一些Windows程序設計開發方面深入的高級著作,明確表示將在這方面進行持續深入的探索學習。

3.4 增強學生自主解決問題的意識和能力

在游戲驅動式教學當中提出的很多技術問題都是既具有趣味性也具有相當的挑戰性的,促使學生為解決具體問題進行了多方面的努力。一般經過第一階段的學習,學生普遍都意識到需要綜合運用多種手段(聯機文檔、網絡查詢、文獻查閱、教師答疑等)才能解決問題,而嚴格的代碼抄襲審查制度,使學生們普遍覺得應該盡可能依靠自身力量解決問題。通過學習,學生在運用編程技巧解決綜合性編程方面的能力有了大的提高,抄襲現象得到很好的扼制,自我學習能力普遍得到較大的提升。

3.5 有力促進學生課外科技活動的開展游戲驅動式的Windows程序設計課程教學法的成功,為學生課外科技活動提供了直接的模版參考借鑒作用。通過在實驗中心開展教學經驗推廣活動,許多在實驗中心立項的學生科技項目直接采用這種游戲項目開發驅動式進行管理,這類項目一般側重對某一具體技術點的深入研究與探索,也取得了很好的實踐效果。目前實驗中心投身于學生課外教學科技活動的學生數目逐年增多,隊伍不斷壯大,證明了教學改革思路的正確性。

4 結束語

傳統的以教材知識點為中心的“課堂講授+上機練習”教學模式,在Windows程序設計課程的教學活動中效果不理想。通過對大學生學習心理的充分分析與探索,引入了一種以游戲軟件項目開發驅動式的教學模式,它的特色可以用“知識講解+項目實施”來概括。新的教學方式很好地激發了學生的科技興趣,有效提高了學生的程序設計能力,初步奠定了學生的軟件工程素養,取得了比較好的教學效果。同時,這種方式也為如何將課堂教學與產業需求關聯掛鉤,培養實用型計算機專業人才帶來一種新的思路。

主站蜘蛛池模板: 精品国产aⅴ一区二区三区| 欧美视频二区| 91精品专区国产盗摄| 米奇精品一区二区三区| 91年精品国产福利线观看久久 | 精品偷拍一区二区| 99热这里只有精品在线观看| 婷婷开心中文字幕| 亚洲中文无码h在线观看| 国产在线视频福利资源站| 国产丝袜一区二区三区视频免下载| 亚洲 成人国产| 国产毛片基地| 亚洲欧美自拍视频| 亚洲国产精品一区二区第一页免| h视频在线播放| 亚洲免费三区| 伊人色在线视频| 久久亚洲中文字幕精品一区| 波多野结衣久久高清免费| 欧美区一区| 国产精品无码AⅤ在线观看播放| 久久精品一品道久久精品| 亚洲天堂日本| 午夜欧美在线| 一级成人欧美一区在线观看| 伊人久久久久久久| 欧美激情伊人| 国产精品亚欧美一区二区三区 | 亚洲开心婷婷中文字幕| 精品久久蜜桃| 国产成人1024精品| 国产高清在线观看| 国产黄在线免费观看| 欧美亚洲第一页| 美女一区二区在线观看| 国产一级精品毛片基地| 亚洲欧洲国产成人综合不卡| 精品色综合| WWW丫丫国产成人精品| 国产一区二区三区免费| 日韩东京热无码人妻| 98超碰在线观看| 中文字幕在线观| 亚洲av无码片一区二区三区| 国产经典三级在线| 国产二级毛片| 亚洲福利片无码最新在线播放| 男人天堂亚洲天堂| 欧美精品亚洲精品日韩专区| 欧美日韩国产高清一区二区三区| 亚洲成人www| 日韩AV无码免费一二三区| 精品中文字幕一区在线| 亚洲不卡av中文在线| 97久久精品人人| 色妞永久免费视频| 色悠久久久| 真实国产精品vr专区| 国产精品播放| 黄色福利在线| 天天色综网| 亚洲首页在线观看| 欧美自慰一级看片免费| 国模视频一区二区| 中文字幕va| 一级毛片免费高清视频| 免费在线色| 亚洲女同一区二区| 中国毛片网| 日本在线视频免费| 制服无码网站| 国产成人做受免费视频| 精品夜恋影院亚洲欧洲| 91娇喘视频| 色综合中文综合网| 亚洲欧美日韩综合二区三区| 亚洲无码久久久久| 天天综合网在线| 婷婷伊人五月| 久青草国产高清在线视频| 欧美成人午夜影院|