

摘要:在推進院校教育“向實戰聚焦、向部隊靠攏”的探索實踐中,以合訓專業學員培養為例,說明以培養學員計算思維能力為目標的任務驅動教學模式,從增強任務的層次性、突出任務的真實性、提高任務的目標性、注重任務的啟發性4方面探討任務設計思路,通過計算機程序設計課程具體的教學活動說明實踐模式的實施過程。
關鍵詞:計算思維;任務驅動;計算機程序設計;教學模式
1 以培養計算思維為目標的任務驅動教學模式探索
在以培養學員計算思維為目標的任務驅動教學模式中,“任務”設計的理念和效果將直接影響教學效果。
1.1 充分考慮個體差異,增強任務的層次性
近幾年合訓學員的生源主要有兩類,一類是地方高中畢業生(普招),另一類是部隊生(單招)。學員入學時的學習起點不同、知識水平參差不齊。普招學員文化基礎扎實,計算機專業知識薄弱,起步較困難,但入門提高較快。單招學員又分兩種情況:一種是大學在讀期間入伍,后考入軍校,計算機專業知識基礎較薄弱且不系統,學習進步較慢。另外還有部分學員在初中或高中階段入伍,考入軍校時文化基礎較差,計算機專業知識幾乎零基礎,學習進步非常緩慢。學員實際水平與學習目標高要求之間的矛盾對以培養計算思維意識為目標的教學活動提出更高要求。
教員在進行任務的選擇、設計時,要充分考慮學員來源多樣、起點不同、認知水平和學習需求差異大的現狀,遵循“因材施教、能者多學”的原則,針對不同認知水平的學員設計分層次、有梯度的任務,供學員根據自身特點選擇完成。這樣可以最大限度地滿足不同層次學員的學習需求,避免學員成績兩極分化和知識點的疏漏,增強學員的主體意識,激發學習熱情,促進全體學員共同進步。
1.2 牢牢把握課程專業特點,突出任務的真實性
合訓學員學歷教育階段的主要任務是學習基礎知識,培養信息意識和思維能力,同時為任職教育階段完成專業課程的學習打下基礎。軍人的任職能力是循序漸進地培養出來的,是適應部隊崗位任職需要的綜合能力,這種能力的培養僅僅依靠最后一年的任職教育是不夠的,特別是大多數合訓學員入伍前學歷低,缺少社會和軍事活動實踐,這就需要在學歷教育階段提前熟悉部隊、了解基層,以便與任職教育階段相銜接。要做到這一點,就要在基礎課內容選擇上盡量向部隊現實需要靠攏,以學員畢業后的實踐應用為出發點。
計算機程序設計是合訓專業學歷教育階段的重要基礎課程,在專業課程體系建沒和學員知識結構建設中起支撐性作用,同時也是專業應用階段利用專業技能解決實際問題的重要基礎。該課程實踐性強、極富創造性,在課時少、內容多的情況下,采用以培養計算思維為核心的任務驅動模式,尤其符合計算機基礎課程教學的層次性和實踐性;通過分析討論、分工協作、自主探索、模仿創新、總結歸納等學習方式,摸索運用計算機技術手段進行問題求解的基本方法與規律,循序漸進地鍛煉學員分析分解問題、抽象表達、獨立獲取及綜合應用知識的計算思維能力;在課程教學中將知識點巧妙地融入任務,圍繞實際“任務”展開教學,教員引導學員帶著真實的“任務”進入學習情境,給學員親切感,激發學員的學習熱情。
1.3 合理選擇任務難度,提高任務的目標性
運用計算思維方法解決問題是一個逐步積累的過程,計算機程序設計課程知識點多、內容豐富,課程教學應以循序漸進為原則,充分考慮學員專業素質的差異,做到有層次、有梯度的設計任務。一要注意任務的大小,單一任務包含知識點數量要適中,隨著課程的推進,任務逐步加大;二要體現綜合性,知識點要新老結合,溫故而知新,同時提高學員對知識的綜合運用能力;三要明確教學內容所涉及計算思維的內容。
任務設計要系統規劃,具有較強的目標性。教員首先設計出課程總體教學目標框架樹,將總目標細分成若干子目標,每個子目標根據知識點數量再細化。在框架樹中,根節點是總體目標,每個葉節點對應一個包含適量知識點的子目標,每個子目標對應一個學習模塊,每個學習模塊的內容可以分解為多個容易掌握的小任務,每個小任務對應一個或幾個知識點。小任務中的新、舊知識點可以跨章節,不同任務涵蓋的知識點可以相互交叉覆蓋。教員根據框架樹的各級、各類目標,布置一個階段、一個單元或一節課的學習任務,以分解任務、探索問題等方式激發學員的學習興趣,培養學員的計算思維意識。
1.4 重點突出能力培養,注重任務的啟發性
以培養計算思維為目標的任務驅動教學模式更注重運用計算機科學的方法進行求解問題和設計系統,重點突出計算思維意識和應用計算機解決實際問題能力的培養,讓學員形成自主學習和應用信息技術的習慣。教員設計任務、下達任務、總結評價的過程以及學員明確任務、自主探究、完成任務的過程就是運用計算思維方法的過程。一個好的任務具有啟發性,能夠引導學員進行思考創新。由于學員認知水平不同,認識問題的深度必然不同,教員應啟發學員用不同視角發現、分析問題,尋找完成同一任務的不同算法,激發學員計算思維的活躍度;通過對多個算法的比較,幫助學員明確運用計算思維方法的重要性,自覺培養計算思維意識。另外,鼓勵學員重構問題求解過程,融入自己的思考對程序進行創新;通過重構引導學員總結同一類問題的共性和個性,啟發學員尋找自身對問題理解的薄弱環節,以此鍛煉學員的計算思維能力。
2 以培養計算思維為目標的任務驅動教學模式實踐
2.1 教員教學活動的實施
計算機程序設計課程中,結構體和文件這兩部分內容在章節安排上比較靠后,通過前期學習,學員已經能夠熟練運用數組批量處理數據,使用函數實現模塊化程序設計,利用指針靈活處理各種類型的數據對象。相對于之前章節的任務而言,結構體和文件章節的任務充分體現了較強的實踐性和綜合設計性。
1)設定目標。
課程教學目標和內容安排見表1。
2)演示實例。
以輸出本班學員基本信息為授課實例,演示結構體和文件的基本操作。要求:輸入學員的基本信息(學號、姓名、隊別、成績),存人“student.dat”中并從文件中讀取信息進行顯示。演示結束,歸納實例中的知識點,重點強調結構體的定義和使用,簡要說明文件打開、關閉、讀、寫4個函數的使用。
3)下達任務。
通過實例演示,學員基本熟悉新知識點,在此基礎上,教員下達新任務:為某部隊的軍械倉庫設汁一個物資管理系統。其作用是對庫房物資進行信息化管理,包括物資日常登記、出入庫記錄等,要求:物資信息以文本文件的方式進行存儲和管理。物資基本信息包括物資名稱、規格型號、計量單位、數量、單價、金額、出廠日期,顯示輸出時需顯示物資的全部屬性。下達任務后,教員要引導學員采用計算思維的抽象、分解方法深入剖析任務,把大任務約簡、轉化為小任務,通過解決各個小任務完成復雜任務。
4)督促引導。
教員引導和輔助學員循序漸進地明確學習任務,運用計算思維方法的相關概念進行知識點的構建、學習問題的思考以及問題解決思路的深入探索。對于較難理解的知識點,教員應有針對性地給予引導;簡單知識點則主要由學員通過自主學習掌握。例如,“物資的顯示”任務可以分解為物資結構體的定義和使用、物資顯示函數的定義和調用兩個子任務,教員已通過實例演示使學員理解了結構體的定義和使用,在新任務中由學員自主學習加深理解。新任務中使用結構體數組作為函數參數,教員應引導學員思考“基本類型變量和基本類型數組分別做函數參數的區別是什么”“結構體變量和結構體數組分別做函數參數有什么區別”“結構體數組和基本類型數組分別做函數參數有什么區別”等問題,對后續算法的設計和實現起到拋磚引玉的作用。
5)總結評價。
當所有組完成任務后,教員對整個過程進行總結性評價,一是運用計算思維系列方法對整個學習過程的知識點進行概括性總結;二是對符組的完成情況、組內成員學習過程、任務實施過程中出現的問題及解決方案進行綜合評價,對優秀成果進行分析講解,學員進行自評、互評,相互共享學習資料和交流學習心得。
6)啟發思考。
教員可布置課后作業,幫助學員鞏固課堂知識點,加深對使用計算思維方法的理解。作業如下:①指針和數組在某種程度上可以通州,如何對現有任務進行重構,將程序中的數組換成指針,請給出解決方案;②在現有任務基礎上如何實現物資按名稱模糊查找并顯示;③試用兩種不同的排序算法對檢索結果進行排序,并對兩種算法進行比較。對學有余力的學員可以附加要求:如果將文本文件換成二進制文件,對其進行讀寫操作如何實現?
2.2 學員學習活動的實施
1)明確目標,整體規劃,分解任務。
學員在明確學習目標和任務要求之后,可以小組為單位進行分析討論,根據任務的功能描述,采用計算思維方法中分析、比較、約簡、抽象、概括和分解等方法,對物資管理系統進行功能建模;按照“自頂向下、逐步細化”的原則,將整個系統的功能劃分為物資的顯示、新增、編輯、保存、刪除、檢索等模塊,每個模塊是一個子任務,每個子功能抽象為一個函數原型。
2)任務驅動,分工協作,探索新知。
學員分組完成不同的子任務,每組學員根據所承擔的具體任務及組員的專業知識與實踐能力水平,結合個人意愿進行分工,利用已有的理論知識和實踐技能,運用計算思維方法探索完成任務的技術思路和實施方案。組內成員利用教材、文獻及網絡資源自主學習,掌握相關知識點;以基于計算思維的協作學習方式,共同分析問題,深入探究問題的本質,挖掘解決問題的關鍵點。所有組員互相協作,共同完成任務。
3)深入探究,完成任務,成果展示。
學員運用計算思維的抽象方法進行算法設計和基本數據結構的定義,具體的算法設計思路可以通過流程圖呈現。組員相互切磋交流,深入探究算法設計思路的可行性和有效性,補充、修正、完善算法,確定算法和實施方案;最后,編寫代碼實現算法,通過測試調整獲得正確運行的程序二任務完成后,集體展示學習成果,每組派代表講解本組完成任務的過程和方法。
4)歸納總結,交流共享,鞏固拓展。
學員首先討論教員對任務的評價總結并消化吸收;其次進行組內互評,交流心得,共享學習資料;再以反思評價的方式對自己的整個學習過程和方法進行綜合歸納,進一步加強對知識的全面掌握和計算思維能力的提升;課后通過完成教員布置的思考題加深知識點的內化和對計算思維的理解。在掌握計算思維的相關方法之后,學員可再通過已獲取的知識和思維方法內化知識,自主建構屬于自己的學習框架和思維方式;在其他課程的學習過程中也可以靈活運用這些方法。
3 教學實踐結果
筆者將以培養學員計算思維能力為目標的任務驅動教學模式應用到計算機程序設計課程教學實踐中,隨機選取兩個班次分別作為實驗班和對照班,實踐結果對比見表2。
從表2中可以看出,以培養計算思維能力為目標的任務驅動教學模式實踐在各方面取得了很好的教學效果,有效提高了教學質量。
4 結語
在推進院校教育“向實戰聚焦、向部隊靠攏”的探索實踐中,以培養學員計算思維能力為目標,開展計算機程序設計課程任務驅動式教學,使學員不僅具備了運用計算思維方法進行問題分析和求解的能力,而且掌握了計算機方法論,有效提高了自身的綜合信息素養。實踐證明,這是一種成功的、有意義的教學改革嘗試。