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

基于Funcode平臺的軟件課程設計

2016-08-19 22:34:37汪紅兵姚琳張敏武航星李莉
教育教學論壇 2016年31期

汪紅兵 姚琳 張敏 武航星 李莉

摘要:軟件課程設計是大學生計算機實踐教育體系中的重要環節。通過具有較高顯示度的作品激發學生學習興趣,使得學生在做完課程實踐之后具有強烈的成就感,是做好軟件課程設計的關鍵。作為基于游戲界面的C、C++和Java語言綜合實驗教學平臺,Funcode完全滿足這些要求。本文在簡要介紹我校計算機應用實踐體系之后,對Funcode平臺的使用、教學案例設計、教學效果等進行了詳細的解析。今后需要結合計算思維的培養要求,將抽象的計算思維轉化為直觀的游戲精靈,進一步據此建立基于Funcode平臺的計算思維訓練平臺。

關鍵詞:Funcode;軟件課程設計;實踐教育體系;計算思維

中圖分類號:G642.41 文獻標志碼:A 文章編號:1674-9324(2016)31-0253-03

一、背景

當前正處于知識經濟時代,社會需要高校培養更多的理論和應用兼備的優秀人才,要求學生具有較高的信息素養和信息處理能力。因此,社會和時代迫切需要提高程序設計類實踐性課程的教學質量和教學效果,要求在人才培養模式上進行相應的改革和創新,促使課程體系、教學內容、教學方法等緊跟社會發展的步伐。但是,教學質量的提高、教學效果的加強和高素質人才的培養不是只靠理論教學就可以達到的,同樣離不開與理論教學同等重要的實踐教學。一般來說,計算機實踐教學往往存在以下問題:

1.實踐教學以驗證為主,難以培養學生創新能力。目前在程序設計課程的課內實驗中,為了鞏固理論課堂所講解的語法規則和算法,采取驗證性的實驗居多,學生只需要按照實驗指導書的步驟,即可得到理想的實驗結果,完成實驗。這很容易導致學生實際動手能力、創新能力的不足。

2.教學案例與現實問題結合不密切。理論教學過程中以經典算法為基礎,對基本概念、語法和程序設計知識進行講解,采用的大多是比較抽象的案例,與現實問題有一定差距。對于大學一年級學生,既枯燥又難以理解,常常感到課堂上聽懂算法思想,當自己編程解決問題時,又覺得無從下手。

3.實踐教學內容單一、枯燥,學生缺乏學習興趣。程序設計課程中,首先介紹數據類型、語法規則、基本程序設計框架和函數定義等基礎知識,課內實驗內容一般與課程的知識點相對應,一個實驗對應一部分知識點,內容比較單一、枯燥。綜合性的實驗受時間、學生理解等多種因素影響,練習相對比較少。而學生的自學能力與主動學習的意識不高,很多學生課外很少主動做練習,欠賬后更缺乏學習興趣。如何激發學生對程序設計課程的興趣,調動學生的學習積極性,培養學生創新能力、計算思維能力,是教學中亟待解決的一個難題。

“實踐是催生創新的動力源泉”。近年來我校一直強化計算機類課程的實踐教學,以增強學生利用計算機解決實際問題的應用能力,順應當前信息社會發展和工程教育認證的需要為目標。基于Funcode平臺的軟件課程設計是計算機實踐教學體系改革中重要環節。

二、我校的計算機實踐教育體系

需要說明的是,這里的計算機實踐教育體系指的是我校非計算機專業的計算機相關課程第二個學習階段的實踐教育體系。第一個學習階段,非計算機專業學生主要按照大專業分類學習不同知識模塊組成的計算機基礎;第二個學習階段,非計算機專業學生按照理工和非理工類進行劃分,非理工類學生學習多媒體相關課程并據此進行有關實踐活動,理工類學生學習程序設計語言課程并據此進行有關實踐活動。

針對程序設計基礎課程,需要在課堂教學中設置單元實驗來鞏固課堂教學所講授的知識點,也可以在教學后期由教師根據需要設置一些綜合實驗來串聯各個知識點,例如可以設置一個排序實驗,可以根據鍵盤輸入的選擇來完成對整數、字符、字符串和對象構成的集合進行排序。學生在完成課堂實驗教學之后,在當年的暑期即進入軟件課程設計。由于VB語言教學中已經具有窗口功能,VB的軟件課程設計一般沿用課堂教學需要延展的綜合性案例。C和C++語言在日常教學過程中沒有涉及到窗口設計,學生做的幾乎所有實驗的運行結果都是命令行的顯示方式,迫切需要一種更能激發學生興趣且具有較高顯示度的方式來支持C和C++的軟件課程設計。Funcode平臺是一個很好的選擇。當然,學生在完成課程設計之后,還可以參加相應的程序設計大賽和SRTP項目,繼續加強對程序設計語言的實踐學習。

三、基于Funcode平臺的軟件課程設計

(一)Funcode平臺介紹

Funcode是一款全新的基于游戲和動畫界面的C、C++和Java語言綜合實驗教學平臺。基于Funcode平臺,學生用課堂里學到的程序設計知識,即能輕松開發出一款互動式游戲或應用系統。Funcode旨在點燃學生學習激情,激發學生創新靈感,培養學生綜合編程能力,最大程度減輕教師的工作負擔。Funcode包含界面設計和項目開發兩大模塊。學生在編輯器中輕松設計游戲界面、特效、各種精靈(動態精靈和靜態精靈),在VC++(或其他IDE)中編寫代碼,完成各種定制功能。

Funcode平臺實際是一個小型游戲引擎,對涉及處理流程的細節進行了封裝,將游戲運行過程劃分為游戲初始化、游戲運行和游戲結束三個函數。

以下代碼是關于CGameMain類的成員函數GameMainLoop,該函數在main函數中被循環重復調用來運行游戲。成員函數GameMainLoop內部,涉及初始化游戲、游戲運行和運行結束三種狀態,分別使用GameInit函數完成游戲初始化功能、使用GameRun函數執行游戲運行功能,使用GameEnd函數執行游戲結束功能,三種狀態按如下代碼進行切換。

void CGameMain::GameMainLoop(float fDeltaTime)

{

switch( GetGameState() )

{

// 初始化游戲,清空上一局相關數據

case 1:

GameInit();

// 初始化之后,將游戲狀態設置為進行中

SetGameState(2);

break;

// 游戲進行中,處理各種游戲邏輯

case 2:

GameRun( fDeltaTime );

if(……) GameEnd();

break;

// 游戲結束/等待按空格鍵開始

case 0:

// 通過設置游戲狀態可以讓游戲重新開始

break;

}

}

此外,Funcode平臺將游戲中所涉及的各類實體劃分為靜態精靈和動態精靈,將精靈與精靈、精靈與邊界的交互抽象為回調函數,使得當事件發生時系統會自動地進行調用。如下函數:

void CGameMain::OnSpriteColSprite(const char *szSrcName,const char *szTarName);

在精靈和精靈發生碰撞時會自動被回調,其中szSrcName指針指向發起碰撞的精靈,而szTarName指針指向接受碰撞的精靈。如下函數:

void CGameMain::OnSpriteColWorldLimit(const char *szName,const int iColSide);

在精靈與邊界發生碰撞時會自動被回調,其中,szName指針指向發起碰撞的精靈,iColSide確定精靈與邊界碰撞的方向,其中值為0表示與左邊邊界碰撞,值為1表示與右邊邊界碰撞,值為2表示與上邊邊界碰撞,值為3表示與下邊邊界碰撞。

最后,Funcode將用戶與游戲的交互劃分為鍵盤和鼠標兩類,并提供相應的函數自動處理,如下所示:

void CGameMain::OnKeyUp(const int iKey);

void CGameMain::OnKeyDown(const int iKey,const bool bAltPress,const bool bShiftPress,const bool bCtrlPress);

void CGameMain::OnMouseUp(const int iMouseType,const float fMouseX,const float fMouseY);

void CGameMain::OnMouseClick(const int iMouseType,const float fMouseX,const float fMouseY);

void CGameMain::OnMouseMove(const float fMouseX,const float fMouseY);

所有這些為學生進行代碼編寫帶來了極大的方便,實際上學生只需要根據項目需要完成這些函數的實際功能即可。

(二)教學案例設計

Funcode平臺中提供了大量的教學案例,如海底世界、黃金礦工、拼圖游戲、桌球游戲、拍飛蟲、打飛碟、太空戰機和坦克大戰等傳統小游戲。

學生根據需要,可以選擇Funcode中自帶的教學案例,教師需提供簡單的功能說明,鼓勵學生增加新的功能,如積分、排名和倒計時等。此外,鼓勵學生積極設計新的游戲,充分利用各種多媒體工具制作素材,發揮團隊作戰效能,按照制作腳本、素材準備、Funcode制作和運行優化的步驟有計劃、有步驟地完成軟件課程設計。下表分別為C++和C課堂學生自選課題和選擇Funcode平臺中題目的比例。

四、應用Funcode平臺的軟件課程設計的教學效果

(一)Funcode平臺使用情況介紹

對于2014~2015學年夏季學期,全校大約有3300名學生參加暑期實踐。暑期實踐分為計算機實踐、英語夏令營和創業訓練三個部分。其中,選擇參加計算機實踐的學生大約為1600名,近50%。這其中,選擇參加C和C++Funcode游戲設計的學生大約1200名,選擇Office綜合練習的約300名,選擇VB窗口系統設計的約120名。

(二)教學反饋

軟件課程設計結束后,基于學校課程中心提供的在線調查功能對學生進行了教學效果的網絡調查。下面分別從課程對培養團隊精神的重要性、使用程序設計語言的體驗感和成就感以及綜合評價四個方面分別進行說明。

五、總結與展望

基于Funcode平臺進行C和C++軟件課程設計達到應有的目標,在培養學生團隊能力、提升學生使用C和C++程序設計語言的體驗感和成就感方面效果顯著。未來需要進一步改進的工作包括:將C和C++程序設計語言課程中各種抽象的計算思維,實例化為游戲中各種實際的精靈和實際算法需求,進一步將Funcode建設成為計算思維的訓練平臺。

參考文獻:

[1]Jeannette M. Wing. Computational Thinking. Communications of the ACM. 2006,49(3):33-35.

[2]陳國良.計算思維[J].中國計算機學會通訊,2012,8(1):31-34.

[3]李廉.計算思維-概念與挑戰[J].中國大學教學,2012,(1):7-12.

[4]陳國良,董榮勝.計算思維與大學計算機基礎教育[J].中國大學教學,2011,(1):7-12.

[5]武航星,姚琳,張敏.基于Funcode平臺的C語言課程設計教學改革[J].計算機教育,2014,(24):30-33.

主站蜘蛛池模板: 丁香婷婷在线视频| 中国黄色一级视频| 久久精品这里只有国产中文精品| 18禁不卡免费网站| 国产午夜无码片在线观看网站| 免费一级毛片在线观看| 萌白酱国产一区二区| 久久毛片基地| 中文字幕2区| 激情六月丁香婷婷| 国产18在线| 福利小视频在线播放| 欧美天堂久久| 欧美特黄一级大黄录像| 最新国产精品第1页| 中文无码日韩精品| 国产精选小视频在线观看| 久久国产精品波多野结衣| 一本色道久久88| 亚洲一级毛片在线播放| 日韩成人免费网站| 在线国产三级| 欧美综合一区二区三区| 日韩欧美国产中文| 666精品国产精品亚洲| 无码一区二区波多野结衣播放搜索| 免费在线a视频| 亚洲综合激情另类专区| 欧美日韩第二页| 国产91丝袜在线观看| 最新加勒比隔壁人妻| 亚洲午夜福利精品无码| 成人无码一区二区三区视频在线观看 | 亚洲va欧美va国产综合下载| 欧美一级99在线观看国产| 久久精品国产国语对白| 久久亚洲中文字幕精品一区| 99久久国产综合精品女同| 欧美成人怡春院在线激情| 日韩成人在线一区二区| 日韩中文字幕免费在线观看| 国产在线欧美| 日韩黄色在线| 国产欧美日韩视频一区二区三区| 91毛片网| 国产午夜人做人免费视频中文| 国产一区三区二区中文在线| 国产精品美乳| 国产一区二区网站| 88av在线看| 欧美亚洲国产一区| 免费看美女自慰的网站| 伊人中文网| 欧美中文字幕第一页线路一| 伊人无码视屏| 中国毛片网| 国产高清毛片| 国产精品人莉莉成在线播放| 在线精品欧美日韩| 精品黑人一区二区三区| 97久久免费视频| 欧美成人A视频| 老熟妇喷水一区二区三区| 午夜综合网| 高h视频在线| 亚洲人成网址| 国产人免费人成免费视频| 午夜三级在线| 日韩无码黄色网站| 欧美亚洲国产精品第一页| 成人看片欧美一区二区| 日韩中文字幕免费在线观看| 五月天久久综合| 欧美日韩国产成人高清视频| 亚洲第一视频免费在线| 九一九色国产| 成人精品视频一区二区在线 | 国产女同自拍视频| 精品视频91| 亚洲专区一区二区在线观看| 久久亚洲精少妇毛片午夜无码| 成年免费在线观看|