正文 基於已有文獻的“程序設計能力”元分析(2 / 3)

其四,程序設計實驗教學:有58篇文章是關於程序設計實驗教學的改革與實踐,通過改革實驗方法、實驗內容、評價體係,加強學生程序設計能力的培養。

1.3研究局限

這些文獻的研究內容比較集中,主要集中在教學方法、實驗方法、某門課程的教學改革上。研究方法多是思辨的方法,實證研究較少,很多論文都是基於經驗的總結或是提出了一種理論構想,很少有數據的支撐。

雖然研究這一領域的文獻數量很多,但是研究趨向同質性、重複性。本文將跳出對教學模式和教學方法的研究,追本溯源,回答什麼是“程序設計能力”。

2.“程序設計能力”構成因素

每個學者對於“程序設計能力”都有其不同的理解,其中高被引論文(被引26次)中提到程序設計涉及“閱讀判斷、分析思考、抽象表達、綜合創造”[1],在《立體化程序設計能力培養方法》一文中,作者指出程序設計能力培養不僅包含技能培養,還包含學生分析問題、解決問題以及創新能力的培養[2]。

盡管每個人的理解可能是片麵的,但是如果綜合上百個學者的理解,並將其進行提煉、升華,那麼就可以從片麵理解上升到全麵理解,從經驗分析上升到理論高度。

2.1研究方法

研究方法使用內容分析法。內容分析法是一種對文獻內容做客觀係統的定量分析的專門方法,其目標在於揭示文獻所含有的隱性情報內容,是一種基於定性研究的量化分析方法[3]。在文獻研究方麵,內容分析法是使用率非常高的分析方法。

2.2研究過程

使用內容分析法對文獻進行第二輪研究,找到所有對“程序設計能力”的概念或內涵進行描述的語句,並摘錄到表格中(注:此類文獻不足100篇。443篇文獻中的大部分都隻是提到了“程序設計能力”這一名詞,並沒有對其進行深入剖析)。對一些條目如“分析問題、解決問題的能力”進行拆分,拆分成“分析問題的能力”和“解決問題的能力”,並在表格中記錄此條目的來源文獻。得到的部分表格如下表所示。

對這些條目進行深入分析,將涵義相同的內容進行合並,如將“自學”與“自主學習”合並,將“程序抽象能力”和“抽象思維”合並,將“交流溝通”、“團結協作”、“團隊合作”合並。在此基礎上,統計條目重複出現的頻次,並按照頻次高低列出所有高頻詞(>=20次),如下表所示:

這12項思維與能力並不是並列的關係,心理學家阜南和卡羅爾都提出了能力的層級模型,指出能力的結構是按照層次排列的,參考心理學家對於能力的理解,我們將這12項思維與能力進行組合分類,形成了一個能力環,如下圖所示。

在能力環的最裏層,程序設計能力包含了算法分析能力、程序閱讀能力、程序編寫能力和程序調試的能力,中間層包含了分析問題能力、解決問題能力、抽象思維、邏輯思維,最外層包含了團隊合作、自主學習能力、創新思維、批判思維。能力環的三個層次也體現了程序設計能力的培養是一個循序漸進的過程,對於剛剛接觸程序設計的學生而言,掌握程序設計的算法、讀懂程序、編寫程序、進行程序調試,這些活動的不斷升華構成了初級的程序設計能力。在此基礎上,在不斷學習程序設計課程的過程中,在不斷運用抽象思維、邏輯思維分析各個程序設計問題、解決程序設計問題的過程中,學生逐漸形成了中級程序設計能力。對於高級程序設計能力,則更關注團隊合作、自主學習、創新思維、批判性思維這些高階思維能力。

按照能力的傾向性,能力分為一般能力和特殊能力[4]。在上圖的能力環中,內層的能力是特殊能力,是與程序設計領域緊密相關的,越往上層,越抽象,到達最外層,能力成為一般能力,一般能力是能力的重要組成部分,程序設計能力需要“合作能力、自主學習能力、創新思維、批判思維”這些一般能力。另一方麵,特殊能力的發展可以有助於一般能力的發展,在學生程序閱讀能力、程序調試能力提高的過程中,一般能力也得到了提高。