?

地方院校電子商務專業入門編程語言的選擇研究

2024-03-09 05:34田祎張林李艷
商洛學院學報 2024年1期
關鍵詞:編程電子商務測試

田祎,張林,李艷

(商洛學院經濟管理學院,陜西商洛 726000)

編程教育作為現代教育中不可或缺的一部分,在各國教育體系中都受到越來越多的關注,編程技能在工作中也表現得愈加重要。然而,一些研究表明,學生在學習編程過程中可能會遇到很多困擾[1-5]。如,Rubio 等[6]研究發現本科生在學習編程過程中面臨的最顯著的困難之一就是編程充滿挑戰且易令人疲憊。Piteira 等[7]研究了學生在學習編程過程中遇到困難的原因,他們發現初學者所面臨的最大挑戰主要與編寫程序解決問題、理解程序的結構及學習編程語言的語法有關。畢竟,編程是一項有高度認知能力要求的活動,學生在解決問題的抽象過程中及構建程序時容易犯錯,盡管許多研究已經提出不同的編程課程設置方法,如針對計算機科學專業學生在大學入門編程課程中使用Python、C/C++或JAVA 語言的影響進行了試驗[8-12],但針對電子商務專業的入門編程語言的選擇研究還比較少見。電子商務行業的快速發展使電子商務師的社會需求越來越大,因此電子商務專業的學生掌握一定的編程技能將會大大增強其競爭力。為了更好地培養電子商務專業學生的編程能力,某地方高校結合專業特點、社會產業發展現狀和專業培養目標,在2020 版電子商務專業教學大綱課程設置中開設了試驗,即在兩個平級班中分別設置了C 語言和Python 語言作為入門語言,以期驗證哪種入門編程語言更適合電子商務專業學生。本研究對連續三屆學生重復進行此試驗。

一、研究對象與方法

(一)研究對象

某地方高校的2020 級、2021 級和2022 級電子商務專業學生(高中階段課程中沒有計算機編程相關內容,此課程為學生提供了第一次接觸編程的機會),共223 名。只有學生填寫問卷完整才被采納。學生以匿名方式參與試驗,他們在期末考試前1 周完成問卷,因為他們已經掌握了所有課程主題。兩個班級學生都有1 周的時間填寫問卷?;厥沼行柧碛?22 份感知問卷(118 份來自Python 語言課程,104 份來自C 語言課程)和206 份選擇題測試問卷(116 份來自Python 語言課程,90 名來自C 語言課程)。

(二)研究方法

本研究旨在根據學生學習過程中的反饋和感知,深入探討學生學習這兩種語言的情況,以此來比較學生的學習表現。為了獲得更多相關信息,主要通過縱向比較來收集特定數據,這樣可以增加試驗的可靠性并減少偏見。在試驗中,所有學生都需要完成一個包含語言無關問題的多項選擇測試,并比較他們的編程作業成績。此外,試驗還收集了學生對與編程經驗相關的感知問題的看法。本文在收集信息方面采取的方法:感知測試、多項選擇題測試、作業成績和論壇問題,所有評估都在學期末進行。

1.課程設置及考核評定情況

某地方高校為電子商務專業的學生提供了C語言和Python 語言兩種程序設計入門課程。每學期約有70~80 名學生,按學生意愿分C 語言和Python 語言兩個教學班。課程內容涵蓋:基本語法與算法、程序結構、函數/子程序、結構體/面向對象和文件。兩個班級授課教師由同一名教師擔任,所有課程都按照授課計劃嚴格進行,并使用預先準備好的幻燈片、實驗和練習題。

課程每周有三項作業:簡單編程、高級編程和在線習題。簡單編程在實驗室進行,主要包括一些簡單的編碼練習,以便測試學生對所學基本概念的理解。高級編程包含更復雜的練習,需要學生在課余時間完成,學生可以通過論壇或指定QQ群、微信群和釘釘群等方式提問,也可以在一周內的特定時間與任課教師進行同步交流。在線習題部分則提供理論問題,多為選擇題,學生需直接在線上平臺上作答。學生在學期末參加考試,內容涵蓋所有主題。實驗考核尚未標準化,成績由授課教師根據學生每次實驗過程的考核和實驗報告撰寫情況進行評定。

課程最終核定成績由期末考試成績50%、作業和平時成績10%、線上成績10%與實驗成績30%加權平均得到。本試驗首次在2020 年實施,后于2021、2022 年持續進行。在過去幾年里,電子商務專業的編程入門課程一直采用C 語言進行教學。

2.感知測試問卷

感知測試(Perception Testing,PT)收集并分析學生在不同學習技能方面的回答。根據表1,實驗提供了15 個問題,分為六個類別。除了問題PT1 和PT6,學生需要對每個問題進行1~5 的評分,其中1 表示“較差”,5 表示“較好”。

表1 學生在課程中的學習體驗和感知問題

問題PT1 測評了學生之前的編程經驗。具備其它編程語言經驗的學生在課堂上應感到更加自如。問題PT2.1 和PT2.2 分別調查了學生在一般情況下的自信心及其在專業領域的自信心。問題PT3.1~PT3.8 測評了學生對每個課程主題的理解程度。對于每個主題,都提供了更多詳細信息,例如,“順序編程”被描述為涉及“數據類型、變量、運算符、表達式、賦值、數據輸入和輸出”等內容,以便學生了解問卷所涉及的主題集合。由于課程包含理論和實踐環節,學生還需在問題PT4.1 和PT4.2中回答關于完成作業所花費的時間。試驗還調查了學生在完成這門入門課程后是否愿意在PT5 中繼續學習編程。PT6 征求學生關于課堂的一般性評價。

3.多項選擇問題測試問卷

多項選擇測試(Multiple Choice,MC)通過提供五個不受限制的多項選擇題來收集知識信息。這個測試的目的是讓學生思考他們在通用算法課程中學到的知識,并在以下實際生活情景中選擇最佳答案,“假設你被聘請為某高校開發一個用于存儲和管理學生數據的程序”。收到這個問題后,學生需要回答關于構建此類軟件的順序步驟的五個問題,如表2 所示。所有問題的目標都是檢測編程的高水平能力,依據抽象和算法思維這兩種計算思維技能。為了衡量結果,學生正確回答時得分為1,錯誤回答時得分為0。

表2 學生在課程中學習體驗的多項選擇問題

問題MC1 關涉到分析和理解問題的首要概念。問題MC2 探討如何組織數據結構以儲存這些特定類別。問題MC3 則詢問在實現注冊過程中,需要回顧哪些順序、條件和循環命令的概念。問題MC4 則對在向量或列表中添加和查找學生進行高層次的闡述。問題MC5 建議利用文本文件進行永久性的數據存儲和文件組織。

4.課程考核結果

在C 語言和Python 語言兩門編程課程中,學生通過每周提供的三種作業來進行評估:簡單編程、高級編程和在線練習。編程練習包括使用相應的編程語言解決問題,最終核定成績包含期末考試卷面成績50%、作業和平時成績10%、線上成績10%與實驗成績30%。

5.論壇問題反饋

除課堂教學外,學生還可以通過在線課堂論壇及其它通信軟件獲得教師的幫助。授課教師根據教學經驗,將所有學生的問題進行分類并手動歸入若干類別,見表3。

表3 論壇問題的分類主題

二、結果與分析

(一)感知測試

每個感知問題的測試結果如表4 所示。由表4可見,10 名使用Python 語言的學生在PT1 問題中回答“是”,這意味著約9%的使用Python 語言的學生曾經接觸過編程。另外,有15 名使用C 語言的學生之前具備編程知識,占比為15%。

表4 感知測試得分

在PT2.1 問題中,使用Python 語言的學生的平均值高于使用C 語言的學生。這種差異可能源于,與C 語言相比,使用Python 語言的學生可以將注意力集中在算法上,而不是語法。這個差異表明,正如PT2.2 問題所指出的,學生在學習領域的編程準備稍顯不足,而該問題并未呈現出有利的統計結果。然而,這可能是由于針對電子商務專業學生的整體教學方式所導致的。盡管Python 班PT3.1 問題的平均值相對較高,這可能是因為學生關注于算法的偽代碼,但并未發現統計學上的顯著結果,由于Python 語言與偽代碼非常相似,因此通過流程圖來呈現算法概念。PT3.2 問題顯示順序編程在兩種語言間沒有平均顯著差異。統計過程中發現,有一半使用Python語言的學生認為PT3.2 問題較為簡單。另外,盡管沒有達到統計學的顯著性結果,學生可能覺得在使用C 語言時,PT3.3 問題的平均難度要高。這種難度的提高可能是因為Python 語言所提供的內容更加簡化,主要體現在諸如if 和else 及它們各自的代碼塊等高度縮進的結構。統計過程中還發現至少有一半的學生認為無論采用哪種編程語言,PT3.3 問題都是易于掌握的。Python 語言提供了elif 命令,簡化了相關概念。同時,學生還學習了try-except 代碼塊,為錯誤處理提供了實際操作的見解。

盡管在問題PT3.4 中的循環編程并未達到顯著的統計意義,兩種編程語言中的while 和for 命令相似,但Python 語言中的for 語句與range 函數結合更加簡潔明了,同時縮進也有助于理解變量的作用域。相較于C 班學生,大約有5%的Python班學生認為PT3.4 問題“非常容易”和“容易”。問題PT3.5 關于基本數據結構,兩組間也未顯示出顯著差異。大部分使用Python 語言的學生認為PT3.5問題的難度一般,而較少使用Python 語言的學生將這個問題評為“困難”。在問題PT3.6 中,盡管沒有統計上的顯著差異,但學生們普遍認為Python語言中的函數比C 語言中的子程序更易操作,Python 語言中的函數遵循更直觀且預設的格式,無需了解更多詳細信息,如指針。值得注意的是,C 班學生在子程序上花了3 周時間,而Python 班僅用了2 周時間,這在C 語言中用于解釋指針和將參數作為引用傳遞。然而,相較于C 班學生,Python 班學生在邊緣評分如“容易”和“困難”上往往更有說服力。使用Python 語言的學生對PT3.6問題的回答呈現出類似正態分布的特點。

C 班學生發現與問題PT3.7 相關的內容平均比Python 班學生容易。大約1/3 的使用Python 語言的學生對PT3.7 問題的難度保持中立,其余的學生認為這些概念較難或非常難。這個問題可能與面向對象編程的入門課程有關,它在兩節課中引入了新概念和新范式,用2 周時間來解釋這個概念,即使是作為入門課程,也顯得過于緊張。盡管如此,根據問題PT3.8,學生們普遍認為Python語言中的文本文件操作比C 語言容易,盡管結果沒有提供顯著的統計數據,這可能是因為with命令的簡單性及在處理文件時的簡化操作。

問題PT4.1 和PT4.2 在兩個語言組別之間并無顯著差異。這個問題與學生在整個學期的投入程度相關,因此語言選擇不應該影響他們的學習精神。然而,結果表明,學生在實踐課上的投入要大于理論課,特別是在Python 語言的課程中。

問題PT5 對初學者來說至關重要,因為它直接關系到他們對課程的期望。相較于C 語言,Python 語言使得學生在學習編程時的積極性提升了0.44。這很可能源于Python 語言的簡潔性,讓學生能專注于解決算法問題,而非糾結于語法細節。

(二)MC 測試

MC 測試結果,如表5 所示。由表5 可見,使用Python 語言的學生在平均正確回答問題程度上比使用C 語言的學生高。這種差異主要表現在問題MC3 和MC4 上,使用Python 語言的學生在這兩題上的平均正得分分別比使用C 語言的學生高出0.21 和0.17。問題MC3 涉及到順序、條件、迭代編程的基本概念。這一信息與學生關于難度水平的看法相矛盾,因為C 語言被認為相對更容易。

表5 MC 測試得分

問題MC4 可能更青睞于學習Python 語言的學生,因為學生學習了更高級的數據結構(如列表和字典)。學生能夠直接通過高級方法來理解數據結構的使用。然而,問題MC5 并未提供顯著的統計學結果,使用Python 語言的學生的優勢平均值高0.11,這可能歸因于學習文本文件的固有簡易性。由于該問題涉及數據存儲,它可能與面向對象編程概念的低層次理解有關。另外,雖然使用C 語言的學生在MC1 和MC2 問題上表現出的統計差異并無顯著性,但他們的正確答案分別比Python 語言的學生平均值高0.07 和0.05。

(三)考核成績

兩班學生的作業成績如表6 所示。由表6 可見,本研究收集了104 名使用C 語言的學生和108 名使用Python 語言的學生成績。從總體成績上看,C 語言占優勢,存在顯著的統計學差異,使用C 語言的學生平均成績為90.22 分,而使用Python 語言的學生平均成績為84.56 分,意味著使用C 語言的學生成績優勢約為6.67%。這一現象的可能原因是,由于本研究更側重于Python的簡化算法,因此針對Python組的練習略顯復雜。另外,C 語言班級學生為統招學生,而Python 語言班級學生為單招生。通過分析簡單和高級編程練習的成績,使用C 語言的學生相較于使用Python 的學生有一定的優勢。分別使用C語言與Python 的學生成績間最顯著的差異在于在線作業。需要強調的是,C 語言的在線作業包含了許多實踐性問題及代碼片段,學生可以編譯并運行以驗證正確答案。相反,在設計Python 在線作業時,更注重理論問題,這有助于解釋兩個分數之間的顯著差距。

表6 每項任務和總體的分配分數

(四)論壇問題

學生們的問題根據九個類別進行分類,見表3,結果見表7。C 組最受歡迎的類別依次是C2、C3、C7 和C5。問題數量最多的類別C2 涉及格式、輸入和輸出。由于C 語言為輸入和輸出提供了許多復雜功能,這就需要理解參數類型、它們在句子中的位置,甚至還要理解指針,因為有scanf 函數。類別C3 對應于數據類型,這在C 語言中是一個較為復雜的主題,因為涉及到類型轉換。函數和數據結構分別對應于C5 和C7 主題,在C 語言中也是較為復雜的主題。另外,Python組在C3、C4、C5 和C7 這些類別中提出了許多問題。這些類別通常與邏輯問題而非語法問題更相關,這可能會給Python 組的學生帶來困擾。

表7 論壇問題的結果

三、討論與結論

本文針對選擇C 語言和Python 語言在電子商務專業學生的編程入門課程學習中的影響進行了研究。本研究發現,某地方高校的電子商務專業學生選擇C 語言和Python 語言影響較大的主要是感知測試和MC 測試,且Python 語言和C 語言在不同背景下有各自的優勢。在感知問卷方面,學生在使用Python 語言時對自己的編程技能更有信心,并且提高了他們繼續學習編程的積極性。由于Python 語言更像是一種偽代碼式的語言,學生可以將注意力集中在提高解決問題的能力上,而不必擔心諸如語法之類的問題。然而,與C 語言中的結構化數據類型相比,使用Python 語言的學生在學習面向對象編程方面遇到了困難。課程僅在2 周內涵蓋了這個主題,對于學生來說可能過于緊湊,難以理解這些概念。

多項選擇題調查發現,學習Python 語言的學生在解決問題方面通常準備得更充分,得益于代碼的清晰性、數據結構的操作和面向編程范式的結構化,Python 語言使學生能夠在付出較少努力的情況下解決更為復雜的問題。在學生得分較高的問題中,需要對基本概念和數據結構有更深入的理解。

本研究表明,在自信心、學習動力和整體編程設計方面,Python 語言相較于C 語言展現出了更加積極的成效。然而,學習C 語言的學生在作業中的得分更高。這種差異是因為Python語言中的作業需要略顯復雜一些,有些作業過于復雜而無法完成。然而,當前的研究存在一些局限性。盡管課程教材在各個學期都是一樣的,但由于教師可以制定自己的編程題,每學期的考試試卷不能重復,這可能導致同一組的成績失衡,因此無法對考試成績進行比較。兩個班級學生的整體素質也存在著一定的差別,如學習能力、理解能力等。本研究中的在線學習平臺上設置的問題在比較時具有較高的主觀性,因為它們會根據每種編程語言的特點而有所不同。

猜你喜歡
編程電子商務測試
編程,是一種態度
元征X-431實測:奔馳發動機編程
幽默大測試
編程小能手
紡織機上誕生的編程
“攝問”測試
“攝問”測試
“攝問”測試
《電子商務法》如何助力直銷
電子商務
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合