王森華 王偉嘉 李向忠 汪霞 巨亞榮
摘要:針對(duì)軍校學(xué)員利用計(jì)算機(jī)解決實(shí)際問題能力不足的現(xiàn)狀,闡述如何將計(jì)算思維引入軍事案例設(shè)計(jì)中,并根據(jù)程序設(shè)計(jì)中的抽象模型解決復(fù)雜現(xiàn)實(shí)問題,將計(jì)算機(jī)程序設(shè)計(jì)課程引入到軍事案例分析中。圍繞軍事案例的特性、案例與計(jì)算思維算法的結(jié)合度、難易度等原則精選案例素材,在教學(xué)分析的基礎(chǔ)上明確軍事案例設(shè)計(jì)的思路和重點(diǎn),并舉例說明案例設(shè)計(jì)的相關(guān)環(huán)節(jié)。
關(guān)鍵詞:計(jì)算思維;程序設(shè)計(jì);軍事案例
0.引言
計(jì)算思維是運(yùn)用計(jì)算機(jī)科學(xué)的基本概念去求解問題、設(shè)計(jì)系統(tǒng)和理解人類的行為,對(duì)軍校學(xué)員信息化應(yīng)用能力提升有很大的幫助。然而,計(jì)算思維的形成需要經(jīng)歷計(jì)算活動(dòng)知識(shí)積累、計(jì)算活動(dòng)技能習(xí)得和經(jīng)驗(yàn)遷移的過程,需要將理論與實(shí)踐進(jìn)行有效融合。通過對(duì)我院學(xué)員信息化應(yīng)用能力調(diào)查發(fā)現(xiàn),許多學(xué)員對(duì)計(jì)算機(jī)技術(shù)背后所蘊(yùn)含的理論和思想缺乏相應(yīng)了解:在解決專業(yè)問題時(shí)習(xí)慣沿用傳統(tǒng)方法,不善于運(yùn)用計(jì)算思維尋求解決問題的方法,導(dǎo)致在信息化應(yīng)用方面的創(chuàng)新性不足。因此,如何培養(yǎng)學(xué)員具備創(chuàng)新解決問題的能力是值得我們認(rèn)真研究的課題。此外,在實(shí)踐教學(xué)中,我們發(fā)現(xiàn),學(xué)員普遍歡迎“問題引導(dǎo)”和“任務(wù)驅(qū)動(dòng)”等以案例引導(dǎo)為主的教學(xué)方法。經(jīng)過深入思考和分析,我們擬將案例設(shè)計(jì)與計(jì)算思維結(jié)合起來,通過設(shè)計(jì)出學(xué)生喜歡的案例作品,引導(dǎo)學(xué)員融人計(jì)算活動(dòng)當(dāng)中,在知識(shí)的學(xué)習(xí)和應(yīng)用過程中逐步激發(fā)學(xué)員的創(chuàng)新意識(shí),培養(yǎng)學(xué)員形成綜合的計(jì)算思維及信息化應(yīng)用能力。
1.案例的定位及課程選擇
計(jì)算機(jī)基礎(chǔ)類課程屬于通識(shí)教育的范疇,由于軍校學(xué)員的軍事特性,特別是當(dāng)前向?qū)崙?zhàn)聚焦、向部隊(duì)靠攏要求的需要,案例內(nèi)容如果與學(xué)員的生活、興趣以及未來的職業(yè)發(fā)展無關(guān),那么顯然實(shí)用價(jià)值不高。因此,將計(jì)算機(jī)基礎(chǔ)類課程制作成軍事案例將更具針對(duì)性,對(duì)吸引學(xué)員的興趣、提高學(xué)員的技能都會(huì)有較好的效果。此外,并非所有的計(jì)算機(jī)課程或內(nèi)容都適合制作成軍事案例。軍事案例與傳統(tǒng)的教學(xué)案例相比更有故事感,因此對(duì)課程和內(nèi)容的選擇也是案例制作需要考慮的問題。通過對(duì)比分析,在大學(xué)計(jì)算機(jī)基礎(chǔ)、計(jì)算機(jī)網(wǎng)絡(luò)、多媒體設(shè)計(jì)、計(jì)算機(jī)程序設(shè)計(jì)等幾門計(jì)算機(jī)基礎(chǔ)課程中,計(jì)算機(jī)程序設(shè)計(jì)由于可抽象模型,能有針對(duì)性地解決復(fù)雜現(xiàn)實(shí)問題,具有理論與實(shí)踐相結(jié)合的特性,是比較適合制作成軍事案例的課程。有別于傳統(tǒng)程序設(shè)計(jì)以語法為主的教學(xué)模式,程序設(shè)計(jì)軍事案例將圍繞計(jì)算思維活動(dòng),以算法為主來組織教學(xué)內(nèi)容,將研討式教學(xué)模式作為提高傳統(tǒng)模式教學(xué)的新途徑。
2.程序設(shè)計(jì)軍事案例素材的收集和整理
首先,受大學(xué)生ACM程序比賽過程的啟發(fā),具有較強(qiáng)實(shí)踐性和故事性的程序設(shè)計(jì)問題更容易得到學(xué)生的喜愛。學(xué)生通過設(shè)計(jì)蘊(yùn)含計(jì)算思維的算法,在計(jì)算思維邏輯的引導(dǎo)下,逐步編寫出程序、解決問題,他們?cè)谶@一過程中所獲得的成就感和技能提高的程度,是普通題目所無法比擬的,因此軍事案例的趣味性和實(shí)用性是應(yīng)優(yōu)先考慮的。
其次,軍事案例與計(jì)算思維算法的結(jié)合度也需要細(xì)致分析。當(dāng)前,有一些案例屬于編故事創(chuàng)造情境的情況。這種方法雖然可行,但是需要較高的技巧。如果所選案例故事邏輯性不強(qiáng)或者與擬講授的算法內(nèi)容聯(lián)系比較牽強(qiáng),會(huì)極大地削弱案例的吸引力,學(xué)員看后會(huì)感到莫名其妙、印象不深刻以及實(shí)用性不強(qiáng)等,學(xué)習(xí)熱情會(huì)大大降低,因此軍事案例與計(jì)算思維算法的相關(guān)性以及情境設(shè)置的合理性需要認(rèn)真對(duì)比斟酌。
第三,軍事案例及計(jì)算思維算法的難易度要適當(dāng)。太容易的案例及算法設(shè)計(jì)既沒有引導(dǎo)計(jì)算思維的價(jià)值,對(duì)編程技能的提高也沒有幫助;過于復(fù)雜的案例和算法則容易讓學(xué)員產(chǎn)生挫敗感。因此,在攻堅(jiān)克難的信心沒有建立起來之前,軍事案例和計(jì)算思維算法的編排一定要由淺入深、循序漸進(jìn),在潛移默化中逐步提升學(xué)員的計(jì)算思維和編程實(shí)踐技能。
出于以上3條原則,我們從近百個(gè)軍事案例的資源中精選了10個(gè)軍事案例素材以及與之相結(jié)合的計(jì)算思維算法,分別是“韓信點(diǎn)兵”(枚舉算法)、“敵兵布陣”(分治算法)、“應(yīng)急救援任務(wù)中的油料保障點(diǎn)設(shè)置”(遞推算法)、“穿越迷宮”(遞歸算法)、“騎士巡游”(回溯算法)、“某裝甲團(tuán)機(jī)動(dòng)演練任務(wù)中的通信信息編碼”(貪心算法)、“野外訓(xùn)練單兵負(fù)重預(yù)案”(動(dòng)態(tài)規(guī)劃算法)、“火炮射擊命中率模擬”(模擬算法)及綜合應(yīng)用“后勤倉庫物資配送路徑優(yōu)化”和“軍用加油站鋪設(shè)輸油管線路線優(yōu)化”,按由易到難、趣味與實(shí)用結(jié)合、基礎(chǔ)向拓展延伸的思路組織整理案例素材,形成案例素材庫,為軍事案例的制作準(zhǔn)備好相關(guān)材料。
3.基于計(jì)算思維的程序設(shè)計(jì)的軍事案例研究
3.1教學(xué)分析
在制作程序設(shè)計(jì)的軍事案例之前,要進(jìn)行認(rèn)真仔細(xì)的分析:該案例的目標(biāo)是什么,集中解決的問題是什么,學(xué)員應(yīng)當(dāng)預(yù)先掌握哪些先驗(yàn)知識(shí),采用何種表現(xiàn)方式表現(xiàn)等。對(duì)于一個(gè)完整的軍事案例來說,算法原理、程序設(shè)計(jì)以及拓展應(yīng)用是教學(xué)目標(biāo),學(xué)員應(yīng)預(yù)先了解相關(guān)的自然科學(xué)及軍事知識(shí)、常識(shí)及程序語法等先驗(yàn)知識(shí),教員應(yīng)采用可視化、圖形化的表現(xiàn)方式。因此,按照計(jì)算思維的邏輯,教員應(yīng)首先提供先驗(yàn)知識(shí)文字材料,使學(xué)員熟悉相關(guān)事件背景,再利用圖片或視頻增強(qiáng)情境融入效果,然后根據(jù)案例的演繹設(shè)置思考題,將算法原理和程序設(shè)計(jì)過程融入計(jì)算思維活動(dòng)中,從思路、過程、延伸3個(gè)方面進(jìn)行研討,這樣才能夠易理解、步驟清晰、操作性強(qiáng),從而使學(xué)員可遷移解決同類型問題。
3.2案例設(shè)計(jì)
為了達(dá)到更好的研討效果,案例設(shè)計(jì)至關(guān)重要。程序設(shè)計(jì)的軍事案例應(yīng)當(dāng)圍繞教學(xué)目標(biāo)來進(jìn)行。根據(jù)軍事案例教學(xué)分析的結(jié)果,將整個(gè)案例分為情境創(chuàng)設(shè)、思路及算法研究、過程分析和拓展延伸4個(gè)部分。情境創(chuàng)設(shè)部分進(jìn)行主腳本設(shè)計(jì)、創(chuàng)設(shè)情境、設(shè)疑激趣,使學(xué)生始終處在興趣之中,給學(xué)生提供更多的思維空間;思路及算法部分引入先驗(yàn)知識(shí),提供可采用的相關(guān)計(jì)算思維算法及其原理,著力使學(xué)員了解案例背后所蘊(yùn)含的思想和邏輯,做到心中有數(shù),有的放矢;過程分析部分突出計(jì)算思維活動(dòng)設(shè)計(jì),動(dòng)手、動(dòng)口、動(dòng)腦,著力于計(jì)算思維的培養(yǎng),讓學(xué)員在輕松愉悅的研討氣氛中學(xué)習(xí);拓展延伸部分突出“新穎”,新背景、新參數(shù)、新規(guī)模、新思路,強(qiáng)化知識(shí)的轉(zhuǎn)化過程,培養(yǎng)學(xué)生主動(dòng)探索的精神。整個(gè)軍事案例的設(shè)計(jì)應(yīng)主線清晰,重點(diǎn)突出,邏輯性強(qiáng),明了易懂。
4.程序設(shè)計(jì)軍事案例設(shè)計(jì)實(shí)例框架
4.1情景創(chuàng)設(shè)
(播放救災(zāi)場(chǎng)景視頻,附文字材料說明。)
2014年2月12日17時(shí)19分,新疆和田地區(qū)于田縣發(fā)生7.3級(jí)地震,新疆和田武警第五支隊(duì)根據(jù)上級(jí)指示,派出260名救援官兵于12日23時(shí)從新疆和田出發(fā)緊急趕赴事發(fā)地區(qū)。部隊(duì)出發(fā)地距地震災(zāi)區(qū)約1 000公里。已知目前一輛沙漠車耗汽油為1升/公里,總載油能力為500公升。顯然沙漠車裝一次油是無法到達(dá)災(zāi)區(qū)的,因此必須設(shè)法在沿途建立若干個(gè)應(yīng)急油料保障點(diǎn),使沙漠車能順利穿過高海拔山區(qū),到達(dá)救災(zāi)地點(diǎn)。如果你是沙漠車駕駛員,試問怎樣建立這些應(yīng)急油料保障點(diǎn)?每一應(yīng)急油料保障點(diǎn)對(duì)于單輛沙漠車來說至少應(yīng)存儲(chǔ)多少汽油,才能使沙漠車以消耗最少汽油的代價(jià)到達(dá)救災(zāi)地點(diǎn)?
4.2思路及算法
(描述相關(guān)先驗(yàn)知識(shí)及算法原理。)
這是一個(gè)抗震救災(zāi)油料應(yīng)急保障情景假設(shè)案例。主要采用遞推算法完成案例問題的求解。遞推是利用問題本身所具有的遞推關(guān)系求解問題的一種方法,基本思想是把一個(gè)復(fù)雜的龐大計(jì)算過程轉(zhuǎn)化為簡單過程的多次重復(fù)。遞推方法有順推法和倒推法。
{實(shí)施遞推的步驟如下:
確定遞推變量:……
建立遞推關(guān)系:……
確定初始(邊界)條件:……
對(duì)遞推過程進(jìn)行控制:……
本案例采用倒推法。}
4.3
過程分析與程序設(shè)計(jì)
(分析問題解決過程及進(jìn)行算法程序設(shè)計(jì)。)
過程分析:{用倒推法來解決這個(gè)問題,從終點(diǎn)向起點(diǎn)倒推,逐一求出每個(gè)油料應(yīng)急保障點(diǎn)的位置及存油量……
(1)為了消耗最少的汽油,最后一個(gè)保障點(diǎn)m=0應(yīng)該離終點(diǎn)500公里……
(2)為了在保障點(diǎn)m=2處儲(chǔ)1 000升汽油,沙漠車最少從保障點(diǎn)m=3處開三趟載滿油的車到保障點(diǎn)m=2處……
(3)依次類推,為了在m=k處儲(chǔ)on[k]=k*500升汽油,沙漠車最少從m=k+1處開k+1趟滿載油至m=k處……
(4)最后,反推至m=n站到起點(diǎn)距離為1 000-dis[n]……}
程序設(shè)計(jì):問題求解是需要設(shè)置多少保障點(diǎn),每個(gè)站點(diǎn)多少油?由上述分析得遞推公式:(從終點(diǎn)往起點(diǎn)推得)
{設(shè)dis[i]為第i個(gè)保障點(diǎn)到終點(diǎn)(i=O開始)的距離;
*oil[i]為第i個(gè)保障點(diǎn)的存儲(chǔ)油量;
*遞推:
*dis[1]=500;oil[1]=500;//距離終點(diǎn)第一個(gè)站點(diǎn)
*dis[2]=dis[1]+500/3;oil[2]=500*2;//距離終點(diǎn)第二個(gè)站點(diǎn)
*dis[3]=dis[2]+500/5;oill3]=500*3:
{……
*dis[k+1]=dis[k]+500/(2k-1);on[k+1]=500*(k-1);//距離終點(diǎn)第k+1個(gè)站點(diǎn)
*終點(diǎn)(起點(diǎn)):
*距前-保障點(diǎn)距離:1000-dis[n];儲(chǔ)油:oil[n-1]+(1000-dis[n])*(2n-1)}
程序及演示結(jié)果:
{…………………………………………)
4.4拓展與延伸
(總結(jié)案例算法思路,提出新問題拓展應(yīng)用。)
簡要總結(jié)案例分析過程,提煉遞推求解基本方法。
(1)遞推求解的基本方法
{首先,確認(rèn):能否容易地得到簡單情況的解?
然后,假設(shè):規(guī)模為N-1的情況已經(jīng)得到解決。
最后,重點(diǎn)分析:當(dāng)規(guī)模擴(kuò)大到N時(shí),如何枚舉出所有的情況……}
(2){如果沙漠車平均時(shí)速x千米/小時(shí),限定救援到達(dá)時(shí)間為Y天內(nèi),采用該應(yīng)急油料補(bǔ)給方法能否按時(shí)到達(dá)救災(zāi)地點(diǎn)……}
5.結(jié)語
軍隊(duì)信息化迫切需要具備良好計(jì)算思維能力的高素質(zhì)人才,以軍事案例為教學(xué)素材,采用問題引導(dǎo)、任務(wù)驅(qū)動(dòng)及研討教學(xué)等方式,可以更好地使學(xué)員在協(xié)作學(xué)習(xí)中提升計(jì)算思維和應(yīng)用能力,培養(yǎng)實(shí)戰(zhàn)化所需的信息技能。目前,可用于教學(xué)的計(jì)算機(jī)課程軍事案例素材相對(duì)較少,仍需廣大計(jì)算機(jī)專業(yè)教員做更深入的研究。此外,學(xué)院應(yīng)當(dāng)把教員的案例庫建設(shè)與學(xué)員的案例自主學(xué)習(xí)納入教學(xué)管理的整體規(guī)劃中,這樣軍事案例教學(xué)才會(huì)為學(xué)院的教學(xué)發(fā)展注入新鮮活力與動(dòng)力。