周立軍,呂海燕,劉 凱
(海軍航空大學 航空基礎學院,山東 煙臺 264001)
大學計算機基礎課程是軍隊院校學員入校后首先接觸的公共基礎課程之一,該課程對學員實現(xiàn)“由民到兵”轉變,構建任職崗位能力基礎,具有先導性和基礎性的重要作用。近年來,隨著軍隊院校大學計算機基礎課程由“知識輸出”向“能力導向”的轉型[1],Python 語言成為貫穿課程教學的主線,計算思維培養(yǎng)成為教學目標。在此背景下,構建適應軍隊人才培養(yǎng)要求的Python程序設計教學案例就成為教學過程中必不可少的環(huán)節(jié)。傳統(tǒng)的程序設計教學案例往往采用的是諸如水仙花數(shù)、百錢買百雞等經(jīng)典算法教學,課堂代入感不強,學員感到迷茫,更無法調(diào)動其積極性和創(chuàng)造力,大大影響了教學效果。采用基于問題驅(qū)動與能力導向相結合的思路進行教學案例設計,以“教為戰(zhàn)、研為戰(zhàn)、學為戰(zhàn)”為根本遵循,將學員未來任職崗位實際與教學案例相結合,引導學員融入課程教學活動,培養(yǎng)良好的計算思維,正是解決上述問題的有效途徑。
問題驅(qū)動教學法建立在建構主義學習理論基礎上,以具體問題為教學的出發(fā)點,通過學生主動探究、協(xié)作學習,教師充分引導、及時反饋,達到教學目標[2]。其特征可以概括為“問題為核心,學生為主體,教師為主導”,其教學模式如圖1 所示。
圖1 基于問題驅(qū)動的教學模式
軍隊院?;谀芰虻膯栴}驅(qū)動教學,關鍵在于問題的設計。在選擇案例問題時,要保證問題的教學理論知識能夠和實際的軍事訓練工作互相結合,這樣有利于極大地調(diào)動學員的學習積極性,激發(fā)學員的學習興趣,提高其提出問題、分析問題以及解決問題的能力。
我校的大學計算機基礎課程以Python 語言為載體,以信息表示和信息處理作為主要內(nèi)容線索。信息表示主要介紹數(shù)值信息和字符、聲音、圖像等非數(shù)值信息的表示方法;計算機系統(tǒng)是信息處理的基礎,計算機網(wǎng)絡與數(shù)據(jù)庫為信息處理基本應用,借助程序設計語言進行問題求解,提升學員計算機信息處理能力。結合計算機軟硬件的基本原理及典型問題求解過程,引導學員理解計算機科學的基本概念,體會計算之美。在教學過程中,本課程組通過挖掘教學內(nèi)容與任職崗位職業(yè)特點之間的內(nèi)在聯(lián)系,設計出了針對性的教學案例。見表1。
表1 大學計算機基礎課程問題設計與能力導向
針對Python 程序設計基礎的教學,我們摒棄傳統(tǒng)的知識講解、語法灌輸模式,而是以案例問題為牽引,將教學過程劃分為4 階段,即:認識、會讀、會寫、會解決[3]。認識階段,通過演示“軍人體質(zhì)指數(shù)BMI”圖形用戶界面程序案例,學員參與親測,了解Python 語言的基本語法、數(shù)據(jù)類型和解決計算問題的基本 IPO(輸入、處理、輸出)模型。會讀階段,通過拆解上述案例、解釋語句的含義、演繹解決問題的過程,形成“程序=算法+數(shù)據(jù)結構”的認識。會寫階段,以“飛行安全評價”問題為牽引,進行程序控制結構的訓練。教學中,通過介紹飛行員飛行安全評價標準,編寫程序?qū)崿F(xiàn)對飛行員在同一時期的飛行安全指數(shù)計算。飛行安全指數(shù)算法的編寫分為3 部分:對飛行員發(fā)生的不安全行為進行判定(分支結構訓練);不安全行為風險程度和飛行員危險指數(shù)的計算(順序結構訓練);對某名飛行員危險指數(shù)進行離差標準化,得到飛行安全指數(shù)(循環(huán)結構訓練)。會解決階段,基于上一階段形成的成果,在此基礎上提出新的問題:統(tǒng)計不同飛行員在不同時期的飛行安全指數(shù)計算(函數(shù)設計),并使用第三方庫(Matplotlib、Turtle 等)進行圖形繪制。
通過問題驅(qū)動,學員在學習實踐過程中,一方面能快速掌握Python 編程的基礎知識,給學員留下“Python 語言簡單易學、生態(tài)資源豐富”的良好印象;另一方面,較快地融入任職崗位實際,樹立飛行安全意識,筑牢使命責任思想根基。
計算思維的培養(yǎng)是大學計算機基礎課程的教學目標,通過教學主要培養(yǎng)學員采用抽象、分解、遞歸等方法來解決復雜問題的能力[4-6]。教學實踐中,我們采用“紅藍方對抗評估”這一軍事訓練中常見的活動作為問題案例,訓練學員的計算思維。
紅藍對抗過程中,雙方的實力水平(假定有其他方法事先確定)、對抗次數(shù)和評判規(guī)則將決定評估的結論,這一評估過程并非靠一個簡單的算法實現(xiàn),而是需要較為復雜的程序結構控制實現(xiàn)。教學中,帶著這一問題,按照“自頂向下”的程序設計過程,引導學員從問題輸入輸出確定開始,整體設計逐漸向下進行。每一層以大體算法描述開始,然后逐步細化成代碼,細節(jié)被函數(shù)封裝,整個過程可以概括為4 個步驟:①將算法表達為一系列小問題;②為每個小問題設計接口;③通過將算法表達為接口關聯(lián)的多個小問題來細化算法;④為每個小問題重復上述過程。程序編寫完后,采用“自底向上”的方法進行測試。圖2 為“紅藍方對抗評估”案例的Python 程序設計方法。
圖2 基于Python 的紅藍方對抗評估程序設計
通過一系列的思維訓練,學員逐漸體會到計算思維的兩個本質(zhì)——抽象和自動化,即對于客觀世界中的某個可計算問題,要映射到計算機世界去求解,通常需要兩個步驟:一是將待求解問題抽象為可計算的概念模型(抽象);二是將概念模型用物理的計算機世界來實現(xiàn)與求解(自動化)[7]。形成計算思維的初步能力后,學員能更好地對現(xiàn)實復雜問題進行科學判斷、科學計算,并運用到將來的實際崗位中。
數(shù)據(jù)挖掘主要有以下幾個步驟:定義挖掘?qū)ο?、?shù)據(jù)收集、數(shù)據(jù)預處理、數(shù)據(jù)挖掘、評估和表示[8-9]。Python 具有豐富的第三方庫支持數(shù)據(jù)的挖掘與分析。教學中,將“航空發(fā)動機故障預測”這一部隊實際訓練中存在的客觀現(xiàn)實問題作為案例[10],引導學員們進行小組攻關。教學訓練流程及關聯(lián)知識見圖3 所示。
圖3 基于Python 的發(fā)動機故障預測項目設計流程
通過數(shù)據(jù)挖掘技術的學習,學員們一方面能掌握數(shù)據(jù)庫相關技術(SQL 語句、Python 訪問數(shù)據(jù)庫),了解Python 處理科學計算問題的方法和途徑;另一方面掌握了裝備保障過程中的科學判斷依據(jù),即從大量的航空發(fā)動機維修數(shù)據(jù)中發(fā)掘有用的知識,利用這些知識構建數(shù)學模型,通過輸入航空發(fā)動機的狀態(tài)信息,預測和分析航空發(fā)動機未來發(fā)生故障的概率,提前進行維修和保養(yǎng),盡量避免發(fā)生故障,保證飛機的安全。
大學計算機基礎課程的教學,盡管有很多可供挖掘的崗位應用案例,但其教學過程必須遵循循序漸進的原則。教學中,要充分考慮學員的能力基礎、學習精力和關聯(lián)課程(如高等數(shù)學、線性代數(shù)、大學物理)的安排進度,避免刻意而為之。對于基礎性的知識,還是應以經(jīng)典的教學方法、案例為主;對于復雜的教學案例,應靈活采取小組分工、課外實踐等形式,避免占用課內(nèi)過多的教學時間用于案例解讀,而影響教學效果。
計算機課程具有實踐性和應用性強的特點,如果講授的案例不是來源于實際,就成了無本之木、紙上談兵。名師必曉于實戰(zhàn),貼近崗位實際的案例,一方面來源于已出版的書籍資料,或是上級機關、兄弟部隊提供的有關報告;另一方面是教員通過到部隊代職調(diào)研,參加科研攻關、重大演習演練、評審和出訪等途徑進行挖掘、建立的教學案例庫[11]。因此,經(jīng)常性深入部隊開展崗位實踐,是教員擴充案例來源、增強課堂設計帶入感的重要途徑。通過深入部隊實踐,把部隊已經(jīng)成功解決的難點和重點問題展現(xiàn)在課堂上,把部隊的所做、所想、所需體現(xiàn)到課堂上,使學員在具體的案例破解中學有所得。
軍隊院校大學計算機基礎課程一般按照48學時課內(nèi)+24 學時課外開展教學,且課外學習時間中,有大部分是用來訓練辦公軟件使用的環(huán)節(jié)。由于課程涉及的知識體系龐雜,往往需要學員投入大量課外時間進行實踐學習,因此,良好的實踐教學平臺(如Educoder 實訓平臺、“雨課堂”等)和充足的機房開放時間是提高教學效果的有力保障。
在軍隊院校教學改革向部隊靠攏的大背景下,軍校課程的教學設計必須要向“倒逼式”轉換,以部隊崗位需求為起點,經(jīng)過部隊崗位經(jīng)驗的提煉吸收及轉化,形成知識傳授給學員。我?;趩栴}驅(qū)動與能力導向的大學計算機基礎課程教學改革目前已經(jīng)在2018 級本科學員中實踐1 年,教學中,遵循“面向問題、引發(fā)興趣、培養(yǎng)能力、引導創(chuàng)新”的理念[12],設置和建構與崗位對接、與戰(zhàn)場對接、與未來對接的課程教學案例,培養(yǎng)學員的崗位任職和戰(zhàn)場適應,取得了良好的效果。多名學員先后在ACM 程序設計大賽、人工智能挑戰(zhàn)賽、大數(shù)據(jù)挑戰(zhàn)賽中取得優(yōu)異成績;同時,通過學員赴部隊實踐和訓練所反饋的情況看,2018 級學員的信息素養(yǎng)和適應部隊的能力均較往屆有了較大提升。我校大學計算機基礎課程教學改革實踐經(jīng)驗,為加強軍隊院校人才培養(yǎng)質(zhì)量提供了借鑒。