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