王新峰
(吉首大學軟件服務外包學院,張家界 427000)
可操作的計算思維培養落地方案
王新峰
(吉首大學軟件服務外包學院,張家界 427000)
培養“計算思維”能力已成計算機相關專業的共識,然而在實際教學過程中,計算思維落地存在用時長、可操作性低、評估難等問題。結合軟件學院特色給出一套可操作的培養方案,該方案包含課程培養目標的修改、教學內容、教學手段、評估監控手段等的改革。
計算思維;程序設計基礎;能力培養;教學改革
2006年3月,周以真(Jeannette M.Wing)教授給出了計算思維的明確定義,“計算思維是運用計算機科學的基礎概念進行問題求解、系統設計,以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動”[1]。隨后2010年11月,陳國良院士第一次正式提出了將“計算思維能力培養”作為計算機基礎課程教學改革切入點的倡議。倡議得到了高校與多位專家的響應,并在2012年7月在西安交大召開的“第一屆計算思維與大學計算機課程教學改革研討會”上做了展示與交流[2]。培養計算思維能力已成為各高校計算機教育的重頭戲,得到了教育部高教司的肯定與支持。
計算思維是一種內化的、抽象的思維活動,終是需要通過工具、語言、方法等顯現的內容再現出來。計算思維能力的培養也需要借助具體課程的教授去實現。《程序設計基礎》(C語言程序設計)是基礎先行課程,C語言又是最接近計算機思考方式的高級語言,因此基于本門課程去嘗試培養計算思維能力具有明顯優勢。軟件服務外包學院以“培養學生的計算思維能力”為核心目標,進行了積極探索和教學改革,經過實踐與總結,在《程序設計基礎》課程上已形成一套可操作的計算思維培養方案。
早期的教學主要是培養技能,以后又逐步發展為培養能力。并且通過十幾年的實踐,現在已經形成了培養計算機能力的系統的理論、教材、教學方法和評價標準。因此在以技能與能力培養的基礎上,再提出思維的培養,必需提高對于計算機課程的認識[4]。
由于計算思維教育著眼于一種思維模式的養成和訓練,因此有著與以往教學不同的要求和目標。這些要求和目標對現有的教育觀念和方式提出了新的挑戰[5]。《程序設計基礎》課程培養目標從技能與能力培養,轉為對思維的培養,面臨3個問題:
(1)計算思維培養時間長,如何在短短半學期內達到培養目標?
(2)已有的教學內容與教學手段都是針對技能與能力培養,如何調整?
(3)本課程計算思維能力培養的基本要求、較高要求是什么?通過何種方式對學生掌握計算思維程度進行考核?[2]
針對以上三個問題,通過對計算思維內涵與培養目標分析,再結合學院的實際情況,給出如下的應對策略:
(1)修改教學計劃
計算思維方式的形成是在解決問題的過程中慢慢內化,構建而成,用時長。而傳統的C語言教程教學只有半學期,根據已有經驗發現在短短的半學期內要讓學生熟練掌握C語言本身的知識點已算勉強,更遑論培養學生的計算思維能力。因此學院大膽修改教學計劃,將C語言課程從半學期延長到1學年,這種嘗試已走在各高校的前面。
(2)實用化教學內容,明白化計算思維教學
C語言作為一個有近50年歷史的老語言,在當前互聯網時代的項目開發中,已比不上Java、C#、Python等高級語言,而各高校都將C語言作為必備課程講解,并不是因為C語言本身知識內容有多重要,而是C語言這個語言工具能促進計算思維的形成。因此需要實用化講解C語言知識點,省略掉繁雜的語法和太困難的知識點,比如操作符優先級、自加自減運算、位移運算、指針高級應用等只需簡單提下。
在傳統的教學中,計算思維是隱藏在技能與能力培養內容中的,要靠學生“悟”出來,現在教師上課需要把這些明白的講出來,同時結合研討式教學,讓學生主動參與到教學中為,縮短培養時間,提高培養質量。
(3)計算思維能力的評估
思維方式需要借助工具、語言和方法顯現出來,反過來對工具、語言與方法的掌握會促進思維的形成。因此能否熟練使用基礎知識進行問題求解,能否獨立設計開發系統是學生具有計算思維能力的體現。
本課程從半學期延長到1學年,上學期目標對應計算思維的第一個層次“用知識解決問題”,下學期對應計算思維的第二個層次“系統設計”。目標不同教學內容、教學手段和評估方式都會不同,下表1給出了一個不同學期采用的不同策略。

表1 不同學期對應的策略
計算思維的第一個層次就是“會用計算機科學的基礎知識進行問題的求解”[1]。可以看到這個層次目標有兩個:掌握基礎知識、應用知識解決問題。傳統的教學方式是以知識為中心,解決問題目的是為了檢測知識是否掌握。隨著“互聯網”時代的到來,知識的獲取方式變得輕而易舉,知識泛濫,而此時應該以解決問題為中心,獲取知識的目的是解決已有的問題。
下面給出了兩種授課試的對比,左圖1是普遍流行的以“知識為中心”講授流程,圖2本課程采用的以“問題為中心”的授課方式。

圖1 知識為中心授課流程

圖2 問題為中心授課流程
從流程圖中可以看到兩種授課方式都涉及到“知識與問題”,如果從表面看這兩種授課方式的變化僅在于“知識與問題”所處位置的順序不同。而實質上這是一種思維方式的轉變。以“知識為中心”授課,這種方式暗示學生以掌握知識為準則,重點在獲取知識。流程圖2是以“問題為中心”,讓學生形成解決問題的思考方式,獲取新知識是為解決當前的問題,當整體學期的授課過程都以這種方式進行,學生自然會形成“以問題為中心“的思考方式。
從解決問題到形成問題求解的思維方式之間需要練習作為橋梁,大量解題經驗的積累是從感性認識轉變為抽象認識的前提。實踐證明,ACM學科技能競賽是培養學生動手能力、解決問題能力、提高創新能力和實踐能力的行之有效途徑之一[7],我院的ACM平臺積累了近5000多題,包含的ACM競賽題目和同類問題專題集合,完全滿足學生訓練的要求。
ACM平臺除了提供優質的問題外,另一個更重要的功能就是實時統計功能,該功能方便教師隨時掌握每一個學生的學習情況。
解決獨立問題形成的思維是獨立、分散的,接下來就是需要將分散的思維點連成一個完整的思維體系,最可行的方法就是進行系統設計。具體到教學就是項目化教學,項目化教學方式讓學生在掌握知識與技能的同時,兼顧培養系統化思考問題的思維能力。
選取好的項目是項目化教學的前提,項目選取要考慮到實用性、典型性、綜合性、趣味性、挑戰性。項目是一個完整的系統,開發難度大,因此教學內容要區分基本和高級功能兩部分。剛開始學生找不到切入點,需要教師的步步引導。下表列出了本次項目化教學的實施策略:

表2 項目化教學方案
在項目化教學方案中教師是主導方,當學生掌握了一定的項目開發基礎之后,需要將主動權交還給學生。讓學生完全獨立從選題、需求分析、開發到測試設計一個系統,才是學生具有系統設計能力的最好體現。“游泳池”實訓模式可以滿足目標。
實訓給出了3個簡單要求:每班學生不能重題、自己獨立實現、最后學院答辯驗收。在整個實訓期間教師負責監控進度,回答技術難點。實訓開始前一周下發實施方案,學生選題并做好需求功能分析,下圖為2015級學生最終選題分布圖結果,游戲類占了79%,管理系統僅占到15%,而在改革前的2014級管理系統占100%。

圖3 2015級選題分布圖
經過1年的計算思維落地培養,學生分析問題和解決問題的能力有了明顯的提高,且能獨立完成系統設計,證明學生具備了基本的計算思維能力。說明這次教學改革方案是有效的,成功的。在改革過程中也存在一些問題,沒有為計算思維培養設計的教材,對教師的水平有很高的要求等。后續將本方案進一步細化,建立一套可操作完整的流程,才可以推廣開來。
[1]Jeannette M.Wing.Computational Thinking[J].Communications of the ACM,2006,49(3).
[2]馮博琴.對于計算思維能力培養“落地”問題的探討[J].中國大學教育,2012(9):6-9.
[3]教育部高等學校大學計算機課程教學指導委員會.計算思維教學改革宣言[J].國大學教學,2013(7).
[4]李廉.計算思維-概念與挑戰[J].中國大學教學,2012(1):7-12.
[5]陳國良,董榮勝.計算思維與大學計算機基礎教育[J].中國大學教學,2011(1).
Operative Computational Thinking Training Program
WANG Xin-feng
(Jishou University Software Services Outsourcing,Zhangjiajie 427000)
In order to cultivate the ability of Computational Thinking has become a computer-related professional consensus,in the actual teaching process,the calculation of the existence of long-term thinking,low operability,evaluation of difficult issues,this paper combines the characteristics of the software gives a set of operational training program,the program includes the curriculum training objectives,teaching content,teaching methods,assessment of monitoring methods and other reforms.
Computational Thinking;Programming Foundation;Ability Cultivation;Teaching Reform
1007-1423(2017)31-0050-04
10.3969/j.issn.1007-1423.2017.31.013
王新峰(1986-),男,江西九江人,碩士研究生,助教,研究方向為嵌入式系統設計
2017-09-12
2017-10-25