?

基于計算思維程序設計的軍事案例研究

2016-11-10 08:36王森華王偉嘉李向忠汪霞巨亞榮
計算機教育 2016年7期
關鍵詞:計算思維程序設計

王森華 王偉嘉 李向忠 汪霞 巨亞榮

摘要:針對軍校學員利用計算機解決實際問題能力不足的現狀,闡述如何將計算思維引入軍事案例設計中,并根據程序設計中的抽象模型解決復雜現實問題,將計算機程序設計課程引入到軍事案例分析中。圍繞軍事案例的特性、案例與計算思維算法的結合度、難易度等原則精選案例素材,在教學分析的基礎上明確軍事案例設計的思路和重點,并舉例說明案例設計的相關環節。

關鍵詞:計算思維;程序設計;軍事案例

0.引言

計算思維是運用計算機科學的基本概念去求解問題、設計系統和理解人類的行為,對軍校學員信息化應用能力提升有很大的幫助。然而,計算思維的形成需要經歷計算活動知識積累、計算活動技能習得和經驗遷移的過程,需要將理論與實踐進行有效融合。通過對我院學員信息化應用能力調查發現,許多學員對計算機技術背后所蘊含的理論和思想缺乏相應了解:在解決專業問題時習慣沿用傳統方法,不善于運用計算思維尋求解決問題的方法,導致在信息化應用方面的創新性不足。因此,如何培養學員具備創新解決問題的能力是值得我們認真研究的課題。此外,在實踐教學中,我們發現,學員普遍歡迎“問題引導”和“任務驅動”等以案例引導為主的教學方法。經過深入思考和分析,我們擬將案例設計與計算思維結合起來,通過設計出學生喜歡的案例作品,引導學員融人計算活動當中,在知識的學習和應用過程中逐步激發學員的創新意識,培養學員形成綜合的計算思維及信息化應用能力。

1.案例的定位及課程選擇

計算機基礎類課程屬于通識教育的范疇,由于軍校學員的軍事特性,特別是當前向實戰聚焦、向部隊靠攏要求的需要,案例內容如果與學員的生活、興趣以及未來的職業發展無關,那么顯然實用價值不高。因此,將計算機基礎類課程制作成軍事案例將更具針對性,對吸引學員的興趣、提高學員的技能都會有較好的效果。此外,并非所有的計算機課程或內容都適合制作成軍事案例。軍事案例與傳統的教學案例相比更有故事感,因此對課程和內容的選擇也是案例制作需要考慮的問題。通過對比分析,在大學計算機基礎、計算機網絡、多媒體設計、計算機程序設計等幾門計算機基礎課程中,計算機程序設計由于可抽象模型,能有針對性地解決復雜現實問題,具有理論與實踐相結合的特性,是比較適合制作成軍事案例的課程。有別于傳統程序設計以語法為主的教學模式,程序設計軍事案例將圍繞計算思維活動,以算法為主來組織教學內容,將研討式教學模式作為提高傳統模式教學的新途徑。

2.程序設計軍事案例素材的收集和整理

首先,受大學生ACM程序比賽過程的啟發,具有較強實踐性和故事性的程序設計問題更容易得到學生的喜愛。學生通過設計蘊含計算思維的算法,在計算思維邏輯的引導下,逐步編寫出程序、解決問題,他們在這一過程中所獲得的成就感和技能提高的程度,是普通題目所無法比擬的,因此軍事案例的趣味性和實用性是應優先考慮的。

其次,軍事案例與計算思維算法的結合度也需要細致分析。當前,有一些案例屬于編故事創造情境的情況。這種方法雖然可行,但是需要較高的技巧。如果所選案例故事邏輯性不強或者與擬講授的算法內容聯系比較牽強,會極大地削弱案例的吸引力,學員看后會感到莫名其妙、印象不深刻以及實用性不強等,學習熱情會大大降低,因此軍事案例與計算思維算法的相關性以及情境設置的合理性需要認真對比斟酌。

第三,軍事案例及計算思維算法的難易度要適當。太容易的案例及算法設計既沒有引導計算思維的價值,對編程技能的提高也沒有幫助;過于復雜的案例和算法則容易讓學員產生挫敗感。因此,在攻堅克難的信心沒有建立起來之前,軍事案例和計算思維算法的編排一定要由淺入深、循序漸進,在潛移默化中逐步提升學員的計算思維和編程實踐技能。

出于以上3條原則,我們從近百個軍事案例的資源中精選了10個軍事案例素材以及與之相結合的計算思維算法,分別是“韓信點兵”(枚舉算法)、“敵兵布陣”(分治算法)、“應急救援任務中的油料保障點設置”(遞推算法)、“穿越迷宮”(遞歸算法)、“騎士巡游”(回溯算法)、“某裝甲團機動演練任務中的通信信息編碼”(貪心算法)、“野外訓練單兵負重預案”(動態規劃算法)、“火炮射擊命中率模擬”(模擬算法)及綜合應用“后勤倉庫物資配送路徑優化”和“軍用加油站鋪設輸油管線路線優化”,按由易到難、趣味與實用結合、基礎向拓展延伸的思路組織整理案例素材,形成案例素材庫,為軍事案例的制作準備好相關材料。

3.基于計算思維的程序設計的軍事案例研究

3.1教學分析

在制作程序設計的軍事案例之前,要進行認真仔細的分析:該案例的目標是什么,集中解決的問題是什么,學員應當預先掌握哪些先驗知識,采用何種表現方式表現等。對于一個完整的軍事案例來說,算法原理、程序設計以及拓展應用是教學目標,學員應預先了解相關的自然科學及軍事知識、常識及程序語法等先驗知識,教員應采用可視化、圖形化的表現方式。因此,按照計算思維的邏輯,教員應首先提供先驗知識文字材料,使學員熟悉相關事件背景,再利用圖片或視頻增強情境融入效果,然后根據案例的演繹設置思考題,將算法原理和程序設計過程融入計算思維活動中,從思路、過程、延伸3個方面進行研討,這樣才能夠易理解、步驟清晰、操作性強,從而使學員可遷移解決同類型問題。

3.2案例設計

為了達到更好的研討效果,案例設計至關重要。程序設計的軍事案例應當圍繞教學目標來進行。根據軍事案例教學分析的結果,將整個案例分為情境創設、思路及算法研究、過程分析和拓展延伸4個部分。情境創設部分進行主腳本設計、創設情境、設疑激趣,使學生始終處在興趣之中,給學生提供更多的思維空間;思路及算法部分引入先驗知識,提供可采用的相關計算思維算法及其原理,著力使學員了解案例背后所蘊含的思想和邏輯,做到心中有數,有的放矢;過程分析部分突出計算思維活動設計,動手、動口、動腦,著力于計算思維的培養,讓學員在輕松愉悅的研討氣氛中學習;拓展延伸部分突出“新穎”,新背景、新參數、新規模、新思路,強化知識的轉化過程,培養學生主動探索的精神。整個軍事案例的設計應主線清晰,重點突出,邏輯性強,明了易懂。

4.程序設計軍事案例設計實例框架

4.1情景創設

(播放救災場景視頻,附文字材料說明。)

2014年2月12日17時19分,新疆和田地區于田縣發生7.3級地震,新疆和田武警第五支隊根據上級指示,派出260名救援官兵于12日23時從新疆和田出發緊急趕赴事發地區。部隊出發地距地震災區約1 000公里。已知目前一輛沙漠車耗汽油為1升/公里,總載油能力為500公升。顯然沙漠車裝一次油是無法到達災區的,因此必須設法在沿途建立若干個應急油料保障點,使沙漠車能順利穿過高海拔山區,到達救災地點。如果你是沙漠車駕駛員,試問怎樣建立這些應急油料保障點?每一應急油料保障點對于單輛沙漠車來說至少應存儲多少汽油,才能使沙漠車以消耗最少汽油的代價到達救災地點?

4.2思路及算法

(描述相關先驗知識及算法原理。)

這是一個抗震救災油料應急保障情景假設案例。主要采用遞推算法完成案例問題的求解。遞推是利用問題本身所具有的遞推關系求解問題的一種方法,基本思想是把一個復雜的龐大計算過程轉化為簡單過程的多次重復。遞推方法有順推法和倒推法。

{實施遞推的步驟如下:

確定遞推變量:……

建立遞推關系:……

確定初始(邊界)條件:……

對遞推過程進行控制:……

本案例采用倒推法。}

4.3

過程分析與程序設計

(分析問題解決過程及進行算法程序設計。)

過程分析:{用倒推法來解決這個問題,從終點向起點倒推,逐一求出每個油料應急保障點的位置及存油量……

(1)為了消耗最少的汽油,最后一個保障點m=0應該離終點500公里……

(2)為了在保障點m=2處儲1 000升汽油,沙漠車最少從保障點m=3處開三趟載滿油的車到保障點m=2處……

(3)依次類推,為了在m=k處儲on[k]=k*500升汽油,沙漠車最少從m=k+1處開k+1趟滿載油至m=k處……

(4)最后,反推至m=n站到起點距離為1 000-dis[n]……}

程序設計:問題求解是需要設置多少保障點,每個站點多少油?由上述分析得遞推公式:(從終點往起點推得)

{設dis[i]為第i個保障點到終點(i=O開始)的距離;

*oil[i]為第i個保障點的存儲油量;

*遞推:

*dis[1]=500;oil[1]=500;//距離終點第一個站點

*dis[2]=dis[1]+500/3;oil[2]=500*2;//距離終點第二個站點

*dis[3]=dis[2]+500/5;oill3]=500*3:

{……

*dis[k+1]=dis[k]+500/(2k-1);on[k+1]=500*(k-1);//距離終點第k+1個站點

*終點(起點):

*距前-保障點距離:1000-dis[n];儲油:oil[n-1]+(1000-dis[n])*(2n-1)}

程序及演示結果:

{…………………………………………)

4.4拓展與延伸

(總結案例算法思路,提出新問題拓展應用。)

簡要總結案例分析過程,提煉遞推求解基本方法。

(1)遞推求解的基本方法

{首先,確認:能否容易地得到簡單情況的解?

然后,假設:規模為N-1的情況已經得到解決。

最后,重點分析:當規模擴大到N時,如何枚舉出所有的情況……}

(2){如果沙漠車平均時速x千米/小時,限定救援到達時間為Y天內,采用該應急油料補給方法能否按時到達救災地點……}

5.結語

軍隊信息化迫切需要具備良好計算思維能力的高素質人才,以軍事案例為教學素材,采用問題引導、任務驅動及研討教學等方式,可以更好地使學員在協作學習中提升計算思維和應用能力,培養實戰化所需的信息技能。目前,可用于教學的計算機課程軍事案例素材相對較少,仍需廣大計算機專業教員做更深入的研究。此外,學院應當把教員的案例庫建設與學員的案例自主學習納入教學管理的整體規劃中,這樣軍事案例教學才會為學院的教學發展注入新鮮活力與動力。

猜你喜歡
計算思維程序設計
基于OBE的Java程序設計個性化教學研究
基于Electron.js的風向玫瑰圖繪制程序設計與實現
項目化教學在Python程序設計課程中的應用
C++程序設計課程教學改革研究
醫學專業“Python程序設計”課程教學改革總結與思考
“C語言程序設計”課程混合教學探索
基于計算思維的多媒體技術及應用課程教學模式研究
基于計算思維的軟件類研究生高級算法課程教學研究
程序設計課程中計算思維和應用能力培養問題研究
民族高校C語言程序設計課程教學改革的研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合