盧靈 胡曉巍

一、引言
C語言是一門廣泛應用于計算機科學和工程領域的編程語言,它可以幫助開發人員構建高效、可維護和可擴展的應用程序。然而,對許多初學者而言,學習C語言可能是一項繁瑣和困難的任務。為了提高C語言課程的教學效果,我們需要探索新的方法來促進學生的學習體驗。
近年來,大型語言模型(例如ChatGPT)在自然語言處理領域得到了廣泛應用。ChatGPT是一項由OpenAI開發的人工智能技術,可以生成自然語言文本,并且擁有海量預訓練參數。在本文中,我們將探討如何使用ChatGPT來促進學生學習C語言課程。
本文的目標是通過實驗研究,評估使用ChatGPT作為輔助工具是否能夠提高學生在C語言課程中的成績和學習效果。我們將比較使用傳統教材和課程授課方法與使用ChatGPT進行學習的兩組學生之間的學習成果,并分析ChatGPT對于學生學習結果的影響。
二、背景
C語言作為一種基礎編程語言,常常用來當作編程初學者的入門課程。然而,學習C語言可能會面臨許多困難和挑戰。例如,許多學生第一次接觸數據類型、數據結構的概念,第一次了解程序執行的順序,第一次編寫程序代碼,可能會因為語法錯誤而遇到困境,甚至有些學生在理解概念時也會遇到困難,在程序調試時往往束手無策。
為了提高C語言課程的教育效果,需要采取新的方法來幫助學生克服這些困難并提高他們的學習體驗。但是使用傳統的輔助工具,如教科書、PPT或微課視頻等,可能存在交互性不足、無法及時反饋以及缺乏個性化學習的問題。近年來,大型語言模型(例如ChatGPT)已被證明是能夠解決這些問題的一種有效工具。通過與ChatGPT互動,學生可以在學習過程中獲得更好的反饋和指導,并及時糾正錯誤。
三、實驗設計
我們在C語言課程中使用ChatGPT輔助工具進行實驗,以評估其對學生學習效果的影響。實驗將分為兩組:控制組和實驗組。實驗對象為中等職業學校計算機應用專業的學生,以兩個平行班為例,兩個班具有相近的學生數(每個班50人)和男女比例(男女比例為3∶1)、入學時的文化課成績相差不大,且基本都沒有接觸過編程語言。實驗時間為一個學期共4個月。
控制組將以傳統教材和課堂授課的形式進行學習。這些學生將根據傳統的學習計劃,每周參加一次面向C語言的課程,時間為兩個課時,并使用教科書來鞏固所學概念。
實驗組將使用ChatGPT作為輔助工具進行學習,除了與控制組相同的學習內容外,實驗組還將與ChatGPT互動并獲得指導和反饋。
我們將收集來自兩組學生的數據,并比較他們在C語言學習方面的進展。我們將比較學生的成績、編程能力和自我評價,并分析ChatGPT對于這些指標的影響。
四、實驗實施過程
控制組學生能夠獲取的學習資源為課程配套教材、教師授課用PPT、微課、實訓指導書,并能查閱互聯網資料。為了控制研究樣本數據的有效性,學生的實訓機房對互聯網訪問做了嚴格的控制,通過防火墻設備的訪問控制策略,使得學生只能訪問C語言課程相關的IT類資源,而不能訪問娛樂類無關資源。
實驗組學生除了使用上述資源外,將能夠使用ChatGPT與一個虛擬教師交互。ChatGPT將被配置為能夠回答學生提出的問題、檢查他們的程序并給出反饋。ChatGPT還將能夠生成與班級學習進展相關的文章和信息,并向學生進行個性化推送。我們希望ChatGPT能夠提供更加互動和個性化的學習體驗,幫助學生更好地理解C語言課程。
實驗組學生學會使用ChatGPT后,后續每次課程都會使用,而且表現出了濃厚的興趣。當然學生使用ChatGPT可能會提出一些與課程無關的問題,但是將此類干擾數據去除后,結果顯示,所有學生還是會將ChatGPT應用于課堂學習。
實驗組學生使用ChatGPT后,使用百度搜索等其它互聯網資源的意愿下降很快,而控制組學生雖然也使用百度搜索解決問題,但總體呈現下降趨勢。經過學生采訪與內容研究,發現百度關鍵字搜索往往伴隨著海量的結果以及置頂的眾多廣告和無關信息,學生往往難以辨識,難以快速定位知識點及答案。多數學生會在無關的搜索結果上浪費大量時間,而且伴隨知識難度的加大,搜索的難度也變大,使用百度搜索出的資源頁面越來越難以解決實際問題,尤其是在程序調試階段。相比較而言,ChatGPT對于問題的解答相當精準,沒有紛繁復雜的無關信息,學生對于結論信息不需要進行多次的再加工,以至于部分學生將ChatGPT的結論作為權威。此外在程序調試階段,ChatGPT能幫助查找程序bug,并給出調試建議,甚至比教師的現場指導更加高效。
實驗組學生使用ChatGPT后向教師求助和翻閱PPT、微課等課堂資料的頻率減少,尤其是翻閱之前資料的次數,因為ChatGPT可以迅速定位知識點,并推薦相關的知識。相比較,控制組學生由于沒有更加便捷的資源獲取方式,翻閱PPT、微課等課堂資料的頻率一直處于高位。由于搜索的難度增大,控制組大部分學生逐漸放棄了通過互聯網查找資源的方式,轉而直接尋求教師,導致教師的指導量加大。
實驗組和控制組的學生在課堂上查閱書本的頻率并不高,原因在于書本的表述語言并不自然,學生閱讀的效率低下,學生對知識目錄的定位能力較差。實驗組的學生在熟悉ChatGPT后,甚至完全拋棄了書本。
五、數據收集
我們使用以下指標來比較控制組和實驗組的最終成就。
(1)學術成績:比較兩組學生在期中考試和期末考試中的得分,以及兩組學生在整個學期中每次作業的得分。
為確定影響因子,我們保持了控制組和實驗組同樣的學習進度,期中考試和期末考試以及平時的作業內容均一樣。考試以4道編程題為主,配合一些理論知識相關的填空題。結果顯示,控制組的期中期末平均分為60.5分和55分,實驗組的期中期末平均分為72.5和78分。實驗組的考試成績要明顯優于控制組。隨著學習內容的深入和學習難度的加大,控制組的學生學習效果開始滑坡,而實驗組的學生仍然保持著學習的積極性和主動性,綜合成績較為穩定。從平時的作業效果來看,控制組提交的課堂實訓任務數量開始減少,質量也有打折,而實驗組提交的實訓任務數量質量均能達標。
(2)編程能力:使用編程任務對學生進行評估,并比較控制組和實驗組在編寫程序上的表現。
從綜合性編程任務的訓練效果來看,實驗組的學生能總結出C語言編程的一套流程,比如文件包含、主函數入口、定義變量、數據類型、條件判斷和循環的選擇、結果的輸出等,能根據題意畫流程圖,并能根據報錯信息進行程序調試。這類綜合能力的掌握,意味著學生已經具備初級編程能力,達到了程序設計課程的學習目的。而對于控制組的學生而言,在程序編寫的過程中,多數人的邏輯思維比較混亂,不能完成常規的代碼書寫,面對新的程序考核題,往往束手無策。
(3)自我評價:要求學生對他們的學習體驗、學習效果和對ChatGPT的態度進行自我評價。
控制組學生的典型評價為:C語言課程晦澀難懂,編程涉及很多未接觸過的數學知識、邏輯思維和英語閱讀能力,這些全新的知識領域超過了自己的認知范疇,因而難以接受,課程學習也缺乏趣味性,希望后續不再開展如此大難度的課程。
實驗組學生的典型評價為:C語言課程能夠拓展自己的思維能力,通過編寫程序,計算機確實能完成很多人難以完成的任務,編程能力就是一種將人的理解轉換為計算機能執行的命令的一種能力。而ChatGPT在學習過程中,扮演著小導師的角色,能解答問題,解決困難,甚至能修正程序代碼的錯誤問題,讓學習更加順暢。期待著ChatGPT能伴隨自己在其他領域繼續學習。
六、實驗結論
本研究旨在探索使用ChatGPT作為輔助工具,以促進學生對C語言的學習。數據顯示,實驗組學生獲得了更好的學習體驗和學術成績。由于ChatGPT可以提供個性化的學習體驗,實驗組學生表現出了更高的參與度和更積極的學習態度,在編寫C程序的能力上有了顯著提高。事實證明,以ChatGPT為動力的學習體驗更具吸引力和互動性,讓學生可以提出問題,并立即收到關于他們代碼的反饋。此外,ChatGPT能夠根據學生的個人需求提供個性化建議,提供更個性化的學習體驗,因而ChatGPT有可能徹底改變我們教授編程語言的方式。
責任編輯 陳春陽