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語言綜合實驗教學平臺?;贔uncode平臺,學生用課堂里學到的程序設計知識,即能輕松開發出一款互動式游戲或應用系統。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.

主站蜘蛛池模板: 99精品高清在线播放| 毛片免费视频| 国产成人精品亚洲77美色| 丁香综合在线| 91福利片| 欧美日韩精品一区二区视频| 国产成人艳妇AA视频在线| 伊人激情久久综合中文字幕| 中文字幕久久波多野结衣| 男人天堂伊人网| 日韩黄色在线| 扒开粉嫩的小缝隙喷白浆视频| 亚洲视频四区| lhav亚洲精品| 波多野结衣国产精品| 日韩午夜伦| 亚洲欧美日韩成人在线| 免费人欧美成又黄又爽的视频| 91亚洲免费| 国产视频只有无码精品| 国产h视频免费观看| 欧美亚洲一区二区三区导航| 永久成人无码激情视频免费| 777国产精品永久免费观看| 成人中文字幕在线| 欧美高清国产| 国产97公开成人免费视频| 国产麻豆va精品视频| 亚洲三级成人| 香蕉蕉亚亚洲aav综合| 72种姿势欧美久久久大黄蕉| 黄色网在线免费观看| 91丨九色丨首页在线播放| 欧美人与性动交a欧美精品| 亚洲人成日本在线观看| 在线播放91| 国产精品九九视频| 亚洲第一区欧美国产综合| 国产高清又黄又嫩的免费视频网站| 热思思久久免费视频| 在线观看国产小视频| 久久国产精品夜色| 亚洲视频色图| 女人18毛片久久| 国产黄网永久免费| 亚洲欧美不卡| 久久情精品国产品免费| 欧美成人午夜影院| 欧美日韩在线第一页| 美女亚洲一区| 国产精品香蕉| 亚洲三级电影在线播放| 啪啪永久免费av| 91成人在线免费观看| 欧美国产精品不卡在线观看| 色屁屁一区二区三区视频国产| 国产第一页免费浮力影院| 无码日韩人妻精品久久蜜桃| 国产美女精品一区二区| 欧美影院久久| 黄色网址手机国内免费在线观看| 精品人妻一区二区三区蜜桃AⅤ| 黑人巨大精品欧美一区二区区| 精品视频91| 国产流白浆视频| 国产电话自拍伊人| 国产欧美精品专区一区二区| 四虎成人精品| 91精品综合| av一区二区三区高清久久| 久久中文字幕不卡一二区| 亚洲高清资源| 香蕉综合在线视频91| 亚洲成年人网| 天堂成人av| 久久久久88色偷偷| a级毛片免费看| 欧美一区精品| 国内精品视频在线| 91麻豆精品国产高清在线| 国内毛片视频| 91人妻在线视频|