謝志龍,李 慶,邢 容,陳 巖
(西南財經(jīng)大學 經(jīng)濟信息工程學院,四川 成都 611130)
信息技術已經(jīng)融入社會生活的方方面面,深刻改變著人類的思維、生產(chǎn)、生活和學習方式。計算思維,不僅是計算機專業(yè)學生應該具備的素質(zhì)和能力,而且也成為所有大學生應該具備的素質(zhì)和能力。因此,越來越多的非計算機專業(yè),特別是財經(jīng)類專業(yè),通過開設程序設計課程來訓練學生的計算思維能力和數(shù)據(jù)處理分析能力。然而,在授課過程中發(fā)現(xiàn),學生對程序設計的接受能力有明顯差異,從而造成了教師在教學中無法達到需要的效果,學生在程序設計課程的學習過程中,也感到非常困難,學習痛苦,從而影響學生的學習意愿,造成學習效果不好。
本研究的主要目的是研究不同專業(yè)、性別、邏輯思考能力、學習策略和不同程序語言是否與財經(jīng)類學生程序設計能力的相關性。通過本研究的結果,可以幫助程序設計課程相關教師了解影響學生程序課程成績的原因,從而為課程內(nèi)容設計、授課進度以及授課形式安排提供參考,也可以為學生增加學習興趣、提高程序設計能力提供參考。
程序設計能力是大學生必須具備的基本技能,程序設計能力是指學生在程序設計課程中所獲得的知識與技能。
在影響學生程序設計能力的因素方面,文獻[1]的研究表明男生的程序設計能力高于女生,但文獻[2]的研究卻發(fā)現(xiàn)性別不同的學生在程序設計方面的表現(xiàn)并沒有顯著的不同。
在邏輯思考能力方面,程序設計課程包含了不同程度的科學概念與技能。文獻[3]的研究顯示邏輯思考能力與科學技能學習成就之間存在顯著相關性。邏輯思考能力指的是個人運用系統(tǒng)化思考程序和思考規(guī)則,對于物體或事物的理解、解釋及執(zhí)行上的能力。根據(jù)文獻[4]的分類,邏輯思考能力包括6 項:守恒、比例推理能力、控制變量能力、概率推理能力、相關推理能力和組合推理能力。
學習策略為一般的學習習慣、學習者內(nèi)在思考過程及判斷解決問題等復雜的心理歷程。文獻[5]將學習策略定義為學習訊息處理,以應付記憶事件。文獻[6]認為學習策略的形成包括分析、計劃、執(zhí)行方法、監(jiān)控和修正5 個過程。認知心理學派以學生噓唏的基本策略層面及學習者的感覺、思考、推理、判斷解決問題等復雜的心理歷程為基礎,判斷學生的學習策略,以作為解決學生學習困擾的依據(jù),但目前并沒有文獻就學習策略與程序設計能力進行研究。
目前,鮮有基于財經(jīng)類不同專業(yè)和不同程序語言對學生程序設計能力影響的研究。
本研究根據(jù)現(xiàn)有研究現(xiàn)狀,提出研究模型,如圖1 所示。
圖1 研究模型
在以往的文獻中,學生性別差異與程序設計能力關系、邏輯思考能力對程序設計能力的影響都有研究,而學習策略、專業(yè)和程序語言類別與程序設計能力之間關系并沒有被研究過。在現(xiàn)實世界中,影響學生程序設計能力的因素是多方面的,因此本研究提出以下5 個假設。
假設1,專業(yè)對程序設計課程學習效果有顯著影響
在財經(jīng)類高校中,大部分專業(yè)偏向于文科類,學生在中學期間的數(shù)學訓練、邏輯思維能力訓練相對較少,對于這類學生在教授程序設計課程時,使用的方法、課程的內(nèi)容、教學的進度是否應該不同?這一直是困擾財經(jīng)類高校程序設計課程相關教師的難題。因此,本研究提出該假設,用以揭示在財經(jīng)類院校中專業(yè)對程序設計課程學習效果的影響。
假設2,性別對程序設計課程學習效果有顯著差異
在性別對程序設計課程學習效果研究中,有些研究認為性別差異會影響學生的程序設計能力[1];也有研究卻表明男、女學生在程序設計方面的表現(xiàn)并無顯著差異[2]。鑒于現(xiàn)有文獻并沒有對性別差異是否影響學生程序設計能力做出結論,本研究提出該假設,用以探究在財經(jīng)類院校中性別對程序設計能力的影響。
假設3,邏輯思考能力與程序設計能力有關
程序設計課程包含了不同程度的科學概念與技能。由于目前文獻對邏輯思考能力與程序設計能力相關性的研究不足,故提出上述假設。
假設4,學習策略與程序設計能力有關
文獻[7]認為建立良好的習慣,將可改善學生的學習成績。文獻[8—9]則發(fā)現(xiàn)學習習慣與學習成就成正相關;為研究學習策略與程序設計能力關系,故提出以上假設。
假設5,不同程序語言與程序設計課程學習效果有關
目前財經(jīng)類高校開設的程序設計基礎課程中,使用的程序語言有多種,包括C、C++、Java、Basic、Python 等。這些語言均有不同的特點和側(cè)重點。為探索哪種程序語言更加適合財經(jīng)類高校學生進行程序設計能力的訓練,故提出上述假設。
本研究以西南財經(jīng)大學學生作為研究對象,研究數(shù)據(jù)為西南財經(jīng)大學金融學院、會計學院、統(tǒng)計學院和經(jīng)濟信息工程學院2018—2019 學年-2 程序設計課程期末考試成績,包括的程序語言有:C++、Java、VB 和Python,同時對試題中的題目根據(jù)對邏輯思考能力測試的目的進行了分類及分數(shù)統(tǒng)計。依據(jù)研究目的,隨機選取了金融學院、會計學院、統(tǒng)計學院和經(jīng)濟信息工程學院2018 級共1 000 名本科一年級學生作為調(diào)查問卷對象。其中135 份為無效問卷,故共有865份有效問卷。
1)邏輯思考能力評量工具。
本研究采用Roadranga 與Padilla 的邏輯思考測驗GALT(Group Assessment of Logical Thinking),該測試包含邏輯思考測驗項目有守恒、比例推理、因變量控制、概率推理、相關推理和組合推理等。本研究將期末考試試題進行分類,以學生的得分來測得學生的6 項邏輯思考能力。
2)程序設計能力。
程序設計能力是指的學生在程序設計課程學習中獲得的知識與技能,在本研究中是指的西南財經(jīng)大學2018 級學生在程序設計課程中的考試成績??紤]到任課教師的不同,故將學生程序設計課程的原始分數(shù)轉(zhuǎn)換成標準分數(shù)后,再來衡量受測者的程序設計能力。
本研究將收集的資料利用Python 進行描述性統(tǒng)計分析、t 檢驗、皮爾森相關系數(shù)分析和方差分析進行研究。
學生樣本數(shù)據(jù)顯示,大多數(shù)學生的程序設計課程標準換之后的成績集中在72~87 分之間(70%);學生在邏輯思考能力總平均得分為14.5,學生在比例推理能力上的平均能力較好;學生在學習策略上的表現(xiàn)則不夠理想。
以t 檢驗法鑒定不同專業(yè)的學生在程序設計能力上是否有顯著差異,結果見表1。從表1 中可以看出,不同專業(yè)學生的程序設計能力上并無顯著差異,故假設1 不成立??紤]到在西南財經(jīng)大學學生入校成績中,金融和會計專業(yè)的學生入學成績大幅領先于其他專業(yè)。在通常理解下,這2 個專業(yè)學生的學習成績應普遍高于其他專業(yè)。但從分析結果可以看出,不同專業(yè)的學生在程序設計課程中的成績并無明顯差異,這可能和學生相關方面的學習能力有關。
表1 不同專業(yè)學生的程序設計能力分析
以t 檢驗法鑒定男、女在程序設計能力上是否有顯著差異,結果見表2。從表2 中可以看出,不同性別在程序設計能力上并無顯著差異,故假設2 不成立。這一結果可能與大一新生在高考時已經(jīng)經(jīng)過了分數(shù)的篩選有關,并且大一學生在各方面均有相同的特質(zhì)與能力,經(jīng)歷了高考后,學生得到的訓練較為相似,故性別差異并不顯著。
表2 性別差異的程序設計能力分析
本研究將樣本所測得的邏輯思考能力總分與各項得分均納入分析,經(jīng)皮爾森相關分析后,結果見表3。從表3 可以看出,比例推理能力及控制變量能力和程序設計能力顯著正相關。因此,假設3 成立。
表3 邏輯思考能力與程序設計能力相關分析
學生控制變量能力可以由學生是否具備有效的“處理錯誤”得到驗證。“處理錯誤”是程序設計過程中一個相當重要的步驟,“處理錯誤”能力的好壞,是影響程序設計能力的一個重要因素。一般而言,程序發(fā)生錯誤的主要原因有語法錯誤和邏輯錯誤2 種,語法錯誤通??梢栽诰幾g或執(zhí)行的時候被發(fā)現(xiàn),但邏輯錯誤卻往往很難發(fā)現(xiàn)。學生如果能夠利用程序執(zhí)行過程中變量存儲值的改變以及變量間值的相對變化以發(fā)現(xiàn)錯誤的原因;或固定一個變量值,以了解其他變量值的變化,這就是一種有效的處理錯誤的方法,也和學生的控制變量能力有關,所以學生的控制變量能力越強,則其程序設計能力越好。
以方差分析分別鑒定不同學習策略在程序設計能力上是否有顯著影響。統(tǒng)計分析結果見表4。根據(jù)表4 可以看出,在學習策略中僅有解決困難能力在程序設計能力上有顯著差異,因此假設4成立;并且解決困難能力為普通及良好者具有更好的程序設計能力。此結果顯示,能夠自行解決學習困難的學生,其程序設計能力往往更好。
表4 學習策略與程序設計能力ANOVA 分析
通過分析C++、Java、VB 和Python 等4 種語言中學生的學習成績,以t 檢驗法來鑒定不同語言的學習效果是否有顯著差異,結果見表5。從表5 可以看出,不同的程序語言對于學習效果存在顯著不同,故假設5 成立。Python 具有語法簡潔、易掌握的特性,因此更適合于財經(jīng)類非計算機專業(yè)學生學習。
表5 不同程序語言的學生學習效果分析
不同專業(yè)的學生在程序設計課程中的學習能力并沒有顯著差異;不同性別的學生在程序設計能力上并沒有顯著差異;邏輯思考能力與程序設計能力相關;邏輯思考能力中的推理能力及控制變量能力與程序設計能力有顯著正相關;學習策略與程序設計能力相關。學習策略中解決困難能力與程序設計能力有顯著相關關系;不同程序語言對程序設計課程學習效果存在顯著不同,Python 語言更加適合財經(jīng)類非計算機專業(yè)學生學習。
1)對教師授課的改進。
教師可在第一次上課時測試所有學生的邏輯思考能力,從而了解學生邏輯思考的平均能力,除了作為教師上課進度和上課內(nèi)容的參考之外,也可以掌握邏輯思考能力(尤其是比例推理、控制變量能力)較弱的特定學生,從而加強數(shù)學運算、邏輯推理或程序設計等訓練,使其程序設計能力不至于落后班級平均程度太多,這對于上課教師在教學進度及教學內(nèi)容、范圍上的掌握上有極大幫助。同時,教師也可以通過和教授數(shù)學課程的相關教師溝通,由基本的數(shù)學運算與邏輯推理的訓練,加強學生的邏輯思考能力。此外,教師在教授程序設計課程時,也可以準備多種類型的練習題目作為教學范例;在解說過程中,除語法和設計原則外也應該強調(diào)解題的關鍵方法和觀念,以此示范并強化學生解決困難的能力。
2)對學生學習的幫助。
除根據(jù)教師所安排的進度學習外,學生在平時應該有自我學習與自我成長的觀念。在面臨到學習瓶頸而無法突破時,學生應該勇于面對問題,并積極與教師或同學討論,集思廣益以解決問題,并可以培養(yǎng)“自我學習、自我成長、面對問題、解決問題”的能力。尤其對必須學習多樣知識的學生來說,該觀念和能力的培養(yǎng)可以克服程序設計相關課程的學習困難,對其他課程的學習成效和將來就業(yè)的競爭力上也有較大幫助。
3)對教學管理部門的建議。
對于財經(jīng)類高校的學生來說,不同特點的程序語言接受程度不一樣。教學管理部門可以根據(jù)學生所在專業(yè)的要求,對不同專業(yè)學生開設不同程序語言的課程,做到有的放矢。
本研究僅以西南財經(jīng)大學部分學生作為研究對象,研究成果可能不具備太大的代表性,后續(xù)研究將擴大研究對象,以更加全面了解性別、邏輯思考能力、學習策略與學生程序設計能力的相關性。另外,本研究僅針對學生的程序設計能力進行研究,并沒有考慮不同程序語言的學習特性,后續(xù)研究可針對不同的程序語言的特性分別進行研究或比較,以使研究更加完整。最后,本研究中不同語言課程成績并未考慮試題本身的難度差異,對研究結果會有一定影響,后續(xù)研究可采用相同試題的測試成績進行。
致 謝
本文受金融智能與金融工程四川省重點實驗室資助。