国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Scrum和Robocode在C#教學中的應用探索

2016-05-30 06:26:22顧家銘
科教導刊 2016年16期
關鍵詞:實踐教學

顧家銘

摘 要 現(xiàn)有的C#課堂教學方式已經(jīng)不能激發(fā)學生的興趣。一方面,Scrum得到實踐者的歡迎,在軟件項目中得到越來越多的應用。另一方面,Robocode在原有Java語言基礎上開始支持C#語言。在C#課程中,引入Scrum和Robocode,采用競賽考核機制。實踐證明,創(chuàng)新的改革模式可以改善教學效果,提高學習效率,培養(yǎng)“計算思維”能力,并且激發(fā)團隊責任感。教師可以不必采用Scrum的全部形式,優(yōu)化Scrum,從而更好地實現(xiàn)教學目標。

關鍵詞 Scrum Robocode C# 實踐教學

中圖分類號:G424 文獻標識碼:A DOI:10.16400/j.cnki.kjdks.2016.06.056

Abstract The existing C# classroom teaching mode has been unable to stimulate students' interest. On the one hand, Scrum practitioners welcome more and more used in software projects. On the other hand, Robocode based on the original Java language to support the C# language. In the C# curriculum, the introduction of Scrum and Robocode, the use of competition assessment mechanism. Practice has proved that the reform mode of innovation can improve the teaching effect, improve learning efficiency, cultivate the computational thinking ability, stimulate the sense of responsibility and team. Teachers can use some forms of Scrum, the optimization of Scrum, so as to better achieve the goal of teaching.

Key words Scrum; Robocade; C#; practice teaching

0 引言

敏捷開發(fā)是一種全新的開發(fā)模式,自從2001年以來開始獲得IT企業(yè)的歡迎。實踐者通常認為,敏捷開發(fā)可以顯著降低開發(fā)成本、提高生產(chǎn)效率、縮短開發(fā)周期、提升最終產(chǎn)品的質量。敏捷方法使得開發(fā)團隊具有更強的適應需求變更的能力。①Scrum被認為是目前全球最流行與最有效的敏捷項目管理理念與方法之一。Scrum不是開發(fā)產(chǎn)品的一種流程或一項技術,而是一個框架,在這個框架里可以應用各種流程和技術。②

Robocode是2001年7月在美國IBM 的Web alphaWorks上發(fā)布的坦克機器人戰(zhàn)斗仿真引擎。Robocode要求使用Java語言對坦克機器人的動作進行編程,并設計不同的決策方案指揮坦克機器人的運行。③在此過程中,Java初學者掌握Java語言,提高程序設計能力。目前Robocode也開始支持C#語言。

1 C#課程中存在的問題

C#語言是.NET平臺的第一語言,它幾乎集中了所有關于軟件開發(fā)和軟件工程研究的最新成果。各大高校均將C#程序設計開設為計算機專業(yè)教學體系中的一門重要課程。傳統(tǒng)的C#課程學習方式主要以課堂教學為主,很多老師感覺到學生學習興趣不大,缺乏解決問題的能力。在程序設計課程中,我們應該注重培養(yǎng)學生的計算思維能力,使學生能夠運用計算思維解決實際問題,而不只是編程語法。④

針對現(xiàn)有的教學中的問題,我們嘗試引入敏捷開發(fā)中的Scrum模式和Robocode游戲平臺。用Scrum幫助學生提高學習效率,讓學生以高效、愉悅的方式相互協(xié)作。Robocode游戲平臺可以為學習者提供一個充滿樂趣與挑戰(zhàn)的學習環(huán)境,更能強化學習動機,加快知識的充分吸收。臺灣學者將這種學習方式譯為“悅趣化學習”。⑤

2 基于Scrum和Robocode的教學改革實踐

在“C#程序設計”課程中,根據(jù)敏捷開發(fā)的思想,以學生為核心,引入Scrum模式和Robocode游戲平臺,提高學生的興趣,培養(yǎng)學生的編程能力、“計算思維”能力以及團隊協(xié)作精神。

2.1 項目分組與角色扮演

Scrum團隊由產(chǎn)品所有者(Product Owner,簡稱PO)、Scrum主管(Scrum Master,簡稱SM)和開發(fā)團隊(Scrum Team)組成。

(1)產(chǎn)品所有者。產(chǎn)品所有者是任課教師,他們是技術、結果和驗證的負責人。產(chǎn)品所有者為一個為期2周的Sprint定義學習目標。產(chǎn)品所有者決定做什么;而Scrum Master和Scrum Team決定怎么做。

(2)Scrum Master。Scrum Master是由其他學生根據(jù)品質和技能選出來的,由學生擔任。任課教師會擔任 Super Scrum Master,幫助Scrum Master理解Scrum的各種知識等。

(3)Scrum Team。Scrum Team是由Scrum Master根據(jù)品質和技能自發(fā)組織的。這樣形成由4名學生組成的團隊。借助Scrum,學生們可以用一種愉悅的、高效的方式合作,并且可以相互學習自己沒有的技能。Scrum會激發(fā)他們?yōu)閳F隊做出貢獻,成為有價值的成員。

2.2 項目具體實施過程

在Scrum中,整個開發(fā)周期包含若干個小的迭代周期,每個小的迭代周期稱為一個Sprint。Sprint是Scrum的核心,在一個Sprint中完成需求、設計、實現(xiàn)、測試的任務。一個Sprint的時間長度通常是兩周。

教學中,我們決定采用一個Sprint的長度是8節(jié)45分鐘的課。先有任課教師進行示范Scrum會議,學生按照相同的方式去做。Scrum框架中包括4種會議:計劃會議、每日站會、評審會議和反思會議。

(1)計劃會議。每次Sprint開始時召開Sprint計劃會議,由任課老師決定每個Sprint完成的教學目標。而且Scrum Master和Scrum Team決定如何實現(xiàn)教學目標。以第一個Sprint為例,每個小組需安裝開發(fā)環(huán)境與Robocode平臺、以及研發(fā)第一個Robocode機器人,并且熟悉Robocode的各種規(guī)則。

(2)每日站會。每日Scrum站會是以15分鐘為限的事件,團隊成員在這里分享各自的工作情況,并為接下來的24小時制定計劃。⑥會議上,每個學生都需要說明:

昨天我做了什么?

今天我準備做什么?

有什么事情阻礙了我?

每日站會之后,由Scrum Master記錄工作量,并繪制燃盡圖。燃盡圖方便教師和團隊成員查看項目進度,并且方便維護。

(3)評審會議。在每個Sprint結束時,由Scrum Master主持評審會議,團隊需要向教師演示本次Sprint團隊的所完成的任務,由教師檢視是否達到教學目標。

(4)回顧會議。在評審會議之后,由Scrum Master主持回顧會議。各團隊成員總結教訓,提出改革措施。按照同樣的步驟,開始下一次Sprint。教師必須教會學生如何回顧,回顧其實就是評估學習過程。

2.3 Robocode平臺的規(guī)則

(1)類和對象、屬性、方法。面向對象思想的重點是類的設計。Robocode里的每個機器人都由一個或多個類構成。學生可以創(chuàng)建屬于自己的機器人類,更形象地理解類的定義。

封裝是面向對象的特點。坦克機器人類具有三個屬性:機器人坦克車(Vehicle)、炮(Gun)和雷達(Radar)。

面向對象中將類的操作封裝為方法。通過調(diào)用turnRight( )和turnLeft( )實現(xiàn)機器人旋轉,調(diào)用ahead( )和back( )實現(xiàn)機器人向前或向后移動。

(2)繼承。學生創(chuàng)建的每個坦克機器人類都繼承Robot類,Robot本身提供了很多方法,比如上面介紹過的ahead( )和back( )等。

結合Robocode,學生更加理解繼承的含義。繼承是在現(xiàn)有類的基礎上建立新類。子類的對象既可以使用新的屬性和方法,也可以使用父類的屬性和方法。繼承使得復用代碼變得容易,縮短了開發(fā)周期。

(3)多態(tài)。Robot類本身具有一些常用的方法,如onScannedRobot( )、onHitByBullet( )、onHitRobot( )、onHitWall( )等。

每個學生在創(chuàng)建自己的坦克機器人類時,通過編寫策略代碼,覆蓋現(xiàn)有的方法如來躲避敵方坦克的炮火,敵方坦克的雷達等。結合Robocode,學生更加理解多態(tài)的含義。

2.4競賽考核方式

本文針對“C#程序設計”的特點,對傳統(tǒng)的考核方式進行改革?;赟crum 和Robocode的教學考核分為三部分:競賽實戰(zhàn)占50%,團隊小組成員互評占20%,平時課堂表現(xiàn)與考勤占30%。

在最終競賽中,學生開發(fā)的各類坦克機器人將一決高下。以每班40人為例,每組4人,共分為10組,以小組為單位參加比賽。采取單循環(huán)賽制,得到最后競賽排名,根據(jù)排名給出競賽實戰(zhàn)成績。冠軍小組講解設計思路,教師進行點評。

教學過程中,采取Scrum方式,分組學習。團隊小組成員根據(jù)各自表現(xiàn)進行打分。通過這個環(huán)節(jié)的互評,小組成員形成一個相互監(jiān)督、相互促進的良好工作氛圍。

3 結語

敏捷開發(fā)是一種新興的軟件開發(fā)方法,很多實際方法還在研究中。在C#課程中,使用Scrum方式,學生會感到學習的快樂,提高學習效率。自組織的Scrum 團隊按照Sprint形式學習C#,激發(fā)每名成員的責任感。Scrum團隊和教師采用計劃會議設置教學目標,采用回顧會議評估學習過程。學生不僅要掌握編程語法,還需要具備溝通能力、團隊協(xié)作精神等各項技能,這些恰好都是在Scrum中有明顯的體現(xiàn)。為了更好地實現(xiàn)教學目標,教師可以優(yōu)化Scrum。

Robocode是一個很容易使用的機器人戰(zhàn)斗仿真器,并且開始支持.NET開發(fā)。使用Robocode平臺,學生在玩游戲的過程中,深入理解面向對象的技術特點,還會涉及數(shù)據(jù)結構、人工智能等技術。為了贏得坦克機器人大戰(zhàn),學生必須自我探究,相互交流,提高了解決問題的能力,培養(yǎng)了編程能力,同時培養(yǎng)了學生的“計算思維”能力。

基金項目:湖北省職教學會課題“基于Scrum的物聯(lián)網(wǎng)專業(yè)實踐改革”(ZJGB201515);武漢市教育局課題“基于敏捷開發(fā)的物聯(lián)網(wǎng)專業(yè)實踐教學改革”(2015118)

注釋

① 榮國平,劉天宇,謝明娟,陳婕妤,張賀,陳道蓄. 嵌入式系統(tǒng)開發(fā)中敏捷方法的應用研究綜述.軟件學報,2014(2).

② KEN SCHWABER, JEFF SUTHERLAND. Software in 30 Days: How Agile Managers Beat the Odds, Delight Their Customers, And Leave Competitors In the Dust[M]. Hoboken: Wiley,2012.

③ 冀津.悅趣化學習在面向對象程序設計教學中的應用研究.計算機教育,2013(18).

④ 何欽銘.計算機基礎教學的核心任務是計算思維能力的培養(yǎng)——《九校聯(lián)盟(C9)計算機基礎教學發(fā)展戰(zhàn)略聯(lián)合聲明》解讀.中國大學教學,2010(9).

⑤ 張文蘭.悅趣化學習的研究現(xiàn)狀與熱點分析.現(xiàn)代教育技術,2011(6).

⑥ MIKE COHN.Scrum敏捷軟件開發(fā)[M].廖靖斌,譯.北京:清華大學出版社,2010.

猜你喜歡
實踐教學
高職高專《旅游電子商務》實踐教學環(huán)節(jié)的研究
基于體驗式教學的管理學課程教學改革與實踐
中國市場(2016年35期)2016-10-19 03:11:23
客戶關系管理課程實踐教學模式初探
中國市場(2016年35期)2016-10-19 02:58:48
地方高校城鄉(xiāng)規(guī)劃專業(yè)實踐教學的特色化探索
科技視界(2016年21期)2016-10-17 17:25:51
茶學專業(yè)校企合作實踐教學探索
考試周刊(2016年79期)2016-10-13 23:35:16
《電氣工程畢業(yè)設計》 課程的教學設計
考試周刊(2016年79期)2016-10-13 23:26:02
基于卓越計劃的金屬結構材料課程實踐化改革與建設
大學教育(2016年9期)2016-10-09 08:49:28
基于應用型創(chuàng)新人才培養(yǎng)的模塊式實踐教學體系構建
大學教育(2016年9期)2016-10-09 08:46:17
研究型學習在傳熱學實踐教學中的應用
大學教育(2016年9期)2016-10-09 08:34:10
思想政治理論課實踐教學研究述評
大學教育(2016年9期)2016-10-09 08:17:37
长沙市| 内乡县| 绩溪县| 临沧市| 本溪| 雷山县| 东丰县| 湛江市| 平利县| 洮南市| 铜梁县| 闻喜县| 湘潭市| 湛江市| 贵定县| 阿勒泰市| 定安县| 沛县| 任丘市| 鞍山市| 贡嘎县| 德江县| 姚安县| 犍为县| 宁明县| 马鞍山市| 台湾省| 宁乡县| 维西| 固始县| 尚义县| 池州市| 乌鲁木齐县| 湖口县| 渭源县| 鹤壁市| 嵩明县| 镇原县| 肇庆市| 烟台市| 宁化县|