







摘 要:程序設計基礎課程是高職自動化類專業開設的一門專業基礎課程,為后續自動化專業課程的學習做好準備,而引入生成式人工智能技術輔助教學,可以彌補當前信息化教育技術的不足。教師可從利用AIGC工具生成教學案例、利用AIGC技術生成教學資料、利用AIGC技術提供個性化學習支持、利用AIGC技術輔助教學評價與反饋等四個方面探究AIGC技術在程序設計基礎課程教學中的應用。
關鍵詞:程序設計基礎課程;高職自動化專業;生成式人工智能技術
中圖分類號:G64 文獻標識碼:A 文章編號:0450-9889(2024)21-0156-05
自動化領域中的許多系統和項目都涉及計算機控制和編程,因此提升編程能力有利于學生更好理解和運用自動化技術。程序設計基礎課程是高職自動化類專業開設的一門專業基礎課程,講授編程語言(例如python,C#,C++等)的基礎語法和應用,目的是讓學生有一定的編程基礎,為后續自動化專業課程的學習做好準備。廣西水利電力職業技術學院自動化類專業(以下簡稱“專業”)程序設計基礎課程引入生成式人工智能(以下簡稱“AIGC”)技術輔助教學,以彌補當前信息化教育技術不足,并為學生提供個性化學習支持和豐富的學習資源,提升學生學習興趣和學習效率。
一、AIGC技術簡介
AIGC技術是一種以深度學習為理論基礎的人工智能技術,通過復雜的模型訓練和海量的數據學習,AIGC可以根據用戶輸入的提示詞,生成與其相關聯的內容。OpenAI實驗室于2022年11月30日首次向公眾開放ChatGPT-3,并在發布的5天內迅速獲得了超過100萬的訂閱量。GPT-3可以生成與人類語言非常相似的文本。GPT-4于2023年3月15日正式公布,它回答的準確性大幅提高,還具備更高水平的識圖能力,且更有創意。在GPT-4模型的支持下,ChatGPT可以參與對話,理解和響應自然語言輸入,并提供定制和互動幫助[1]。ChatGPT是一種由先進AI技術賦能的自然語言處理系統,借助AI技術,它能夠精準地把握對話脈絡并據此進行實時交互,從而實現如同真人般的交談體驗。它還能勝任很多工作,例如寫郵件、編視頻劇本、做營銷廣告文案,甚至翻譯外文資料、編寫代碼。ChatGPT的面世打響了生成式人工智能競爭的第一槍,國內的科技公司在AI領域也紛紛推出相對應的大模型產品,包括科大訊飛的訊飛星火、百度的文心一言、阿里的通義千問等。
AIGC技術可以應用于自然語言、圖像、音視頻等諸多領域,正在改變人們的工作和生活方式,也對教育領域產生深刻的影響。
二、AIGC技術在程序設計基礎課程教學中的應用
程序設計基礎課程是高職自動化類專業基礎課程之一,主要內容包括編程語言基礎、函數和模塊化編程、面向對象編程、項目實踐等,目的是培養學生編程的基本技能,提高邏輯思維和解決問題的能力水平。但是在教學過程中發現,部分學生的編程知識和技能水平沒有達到預期的教學效果,影響后續專業課程的學習。而在課程教學中引入AIGC技術,創新教學方法,可以有效解決教和學的難題。例如,它可以幫助教師為不同層次的學生制訂個性化的教學內容,提高學生的參與度、積極性和學習效率等等。以下是AIGC技術在高職程序設計基礎課程教學中應用的四個方面。
(一)利用AIGC工具生成教學案例
教師可以根據學生的學習基礎和興趣利用AIGC工具生成不同類型的教學案例和資源。這樣,學生可以獲得更多的學習資源,并能更好地理解和掌握知識技能[2]。例如在講授課程中的“for”語句時,為了激發學生的學習興趣,同時豐富教學實例,我們可以對通義千問發出指令,要求生成一個有趣的游戲案例,如圖1所示。
AIGC工具能根據學生的學習情況和水平生成適合他們的教學案例和實例。教師在備課時,可以利用AIGC工具,根據所教班級學生掌握知識的情況,生成不同難度的實例供學生學習和練習。依此,可以確保教學內容既能滿足班級整體的教學進度,又能照顧到學生個體差異,規避“一刀切”的教學模式可能導致的部分學生“吃不飽”、部分學生跟不上的現象。當然,教師仍然需要審查和修改AIGC工具生成的教學案例和實例,以確保其準確性和適用性。
(二)利用AIGC技術生成教學資料
利用AIGC工具,提出特定的教學要求或問題,能生成符合預期的教學資料。這些資源可以包括教學課件、教案、練習題、實驗指導書、知識點總結圖表等。例如在生成教案時,輸入的提示詞需要指定課程的一系列關鍵信息,寫明具體的課程信息、簡明的課程內容、學情分析、教學目標(包括知識目標、能力目標和素質目標)、教學的重難點和課程思政要求。其中,學情分析環節不可或缺,它可以明確學生的學習背景、知識水平、興趣偏好甚至學習中潛在的問題,這樣才能確保生成的教案設計貼近學生實際,因材施教。例如,為了讓學生清晰理解、掌握知識點,可以讓AIGC工具生成一些總結性的圖表、順口溜,以幫助學生理解和記憶。在講授完列表、元組、字典3種組合數據類型后,很多學生容易對它們的用法和特點產生混淆,這時就可以利用AIGC工具生成一個對比圖表,幫助學生更好地區分它們之間的異同,通義千問生成的知識點對比表(如表1所示)。
(三)利用AIGC技術提供個性化學習支持
基于AIGC技術衍生的AIGC工具可以根據學生的學習情況和需求,提供個性化的學習支持,這樣可以幫助基礎相對薄弱的學生掌握編程語言,同時也是學生自主學習非常有用的工具。
一方面,AIGC工具可以推薦個性化的學習資源。傳統搜索引擎如百度、谷歌,通常會返回給用戶大量相關網頁鏈接的列表,學生需要逐一點擊進入,篩選、閱讀不同來源的信息,獲取信息的準確性在很大程度上依賴于用戶自身的搜索技巧和信息篩選能力。專業基礎不夠扎實的高職學生,在搜索專業問題時,有時候他們很難篩選、辨析需要且正確的結果。而AIGC工具作為一種人工智能驅動的工具,采用“點對點”的信息供給模式,可以方便學生訪問信息。與傳統的搜索引擎相比,AIGC工具直接提供一個書面的答案,而不僅僅是一個來源列表,大幅度降低學生正確判斷的難度。這意味著可以節省學生的學習時間,提高學習效率。
另一方面,AIGC工具能與學生進行理解技術點的“啟發式對話學習”?!皢l式對話學習”強調學生主動思考與提問,而非被動接受式的學習。這可以培養學生的自主學習能力和解決問題的能力,使他們成為終身學習者和創新思考者,而不僅僅是被動填裝知識的容器。AIGC工具能記住問題的上下文,并可以為學生的后續問題提供相關的回答,如同與一個真實的人類導師對話。這個特性在和學生之間的交互對話學習中非常有用,它可以確保對話教學的連貫性與精準性。在對話中,學生可以要求進一步解釋前面的回答,甚至在錯誤的情況下進行糾正。“啟發式對話學習”使學生在學習編程時不再只是使用靜態的文字和視頻資料,而是能夠通過這種互動式學習獲得實時反饋,增強參與感。如圖2所示,學生可以圍繞課堂上的內容,與AIGC工具進行對話學習,深入探究所學知識點。AIGC工具提供的即時反饋和詳細的指導,讓學生有更好的學習體驗。
再者,AIGC技術能以簡潔、易懂的方式提供各種編程概念(如數據結構、算法和編程語言語法)的解釋和示例。在講解算法時,AIGC技術能夠將抽象的排序算法、搜索算法等轉化為易于消化的步驟解析和可視化演示。AIGC能夠簡化復雜的算法邏輯使之一目了然,使學習者能夠直觀學習算法運行的過程,理解其背后的原理與思路。同時,AIGC還可以生成配套的練習題目,鼓勵學生通過動手實踐鞏固所學知識,提升算法應用能力。在講解編程語言語法時,AIGC技術能夠針對編程語言,精準講解語法規則、控制結構、函數、類和對象等核心要素,幫助學生掌握編程語言語法。例如,教師可以要求通義千問提供對某段程序的解釋,這對學生學習編程語言的語法很有幫助。
學生編寫的程序如下:
price=[399,4369,539,288,109,749,235,190,99,1000]
temp=[]
max_price=int(input("請輸入最大價格:"))
min_price=int(input("請輸入最小價格:"))
for i in price:
if min_price <= i <=max_price:
temp.append(i)
print("1.價格降序排序")
print("2.價格升序排序")
choice_num=int(input("請選擇排序方式:"))
if choice_num==1:
temp.sort(reverse=True)
else:
temp.sort()
print(temp)
以下為通義千問提供的程序解釋(如圖3所示,見下頁)。
此外,AIGC工具還可以在程序調試中提供幫助。對編程學習者而言,查找與調試程序錯誤是一項既考驗耐心又耗費時間的工作,常常需要細致地檢查每一行代碼以甄別語法錯誤和邏輯錯誤。利用AIGC工具不僅可以識別代碼中的錯誤,還能提供修改方案。例如,學生可以這樣對AIGC工具提問:“這段代碼有bug嗎,怎樣才能修復bug?”AIGC工具就會給出有價值的建議、修改后的代碼片段,甚至給出完整的代碼,減少學生在代碼調試過程中的工作量,提升學習效率。通過觀察AIGC工具如何修正錯誤或優化代碼,學生可以更直觀地深刻理解編程語法。AIGC工具還會提出關于編碼規范、命名規范等方面的建議,幫助學生養成良好的編程習慣。因此,學生通過這一過程可以鞏固編程語言的語法基礎、提升代碼閱讀和理解的能力。例如,利用AIGC工具分析下面程序中存在的錯誤(如圖4所示)。
def f(x,y,z):
return x+y+z
args=(1,2,3)
print f(args)
(四)利用AIGC技術輔助教學評價與反饋
在教學過程中,教學評價和反饋有著非常重要的作用,它可以提高教學質量和促進學生發展。傳統的考核評價方法往往忽視學生的學習特性。每個學生都有自己的學習風格和學習進度,用整齊劃一的評價方式難以充分考慮個性化因素,這樣一來,評價結果的客觀性和準確性自然會打折扣[3]。采用AIGC工具作為教學評價和反饋工具可以幫助教師高效地了解學生的學習狀況,了解學生在學習中遇到的各種問題,從而更為準確地進行指導;AIGC工具還可以提高教師工作效率,節省教師時間。
例如,可以將學生編程作業輸入通義千問中進行評價,令其分析程序代碼的質量,包括代碼結構、語法錯誤、邏輯錯誤等方面。教師根據反饋,要求它給出相應的改進意見,以幫助學生改進程序;同時可以要求它根據編程錯誤創建針對性的編程練習,以提高學生的編程水平;教師則可以直觀地從反饋結果了解學生知識點掌握的情況,提升了教學效率。
如以下為教師通過一系列的提示語,引導通義千問對學生的編程作業進行評價與反饋。提示語中必須給出學生的教育背景、作業的準確要求以及評價標準。下面為所用的提示語。
①你現在的任務是對高職電氣自動化技術專業二年級學生編寫的python程序打分。
②將學生的成績劃分為三個等級:完全正確、基本正確和錯誤,分別對應打10分、6分及0分。
③最后,給出你的評分和評價,并給出必要的指導建議和改進意見。
輸入學生編寫的程序到通義千問中進行評估。
程序題目:獲取用戶輸入的一個百分制成績,并給出對應的A、B、C、D、E五個等級。如圖5所示。
學生編寫的程序如下:
score=float(input("請輸出一個百分制成績:"))
if score>=90.0:
grade="A"
elif score>=80.0:
grade="B"
elif score>=70.0:
grade="C"
else:
grade="E"
print("對應的五分制成績是:{}".format(grade))
利用AIGC工具對學生進行水平評估需要注意的是,AIGC工具可能存在一定的誤差和局限性。因此,需要結合教師自身的專業知識和判斷能力,確保評估和反饋的準確性和有效性。
三、教學效果分析
為了驗證AIGC技術在課程教學中的積極作用,教學團隊在2023年秋季學期對高職電氣自動化技術專業開設程序設計基礎課程的大二年級學生進行了一項實驗研究。研究采用對照實驗設計,將兩個班的學生分成兩組:實驗組和對照組。實驗組采用通義千問作為輔助教學工具,而對照組采用傳統的一體化教學模式。通過比較兩組學生的成績和問卷調查,評估AIGC技術作為編程教學工具的有效性。
學期結束,教學團隊以問卷的方式對實驗組、對照組兩組學生進行調查。在本次問卷調查中,針對兩組學生分別發放43份的調查問卷,并確保每一份都在現場發放并及時回收,回收率與問卷有效率為100%。問卷內容包括:學生對教學方法的滿意度、對程序語言理解、提高學習興趣、提高學習效率、提高自學能力、提高分析問題和解決問題能力六個方面(問卷結果見表2)。從結果來看實驗組在所有調查內容上的正面反饋均超過對照組,特別是在教學方法滿意度、提高學習效率方面學生滿意度尤為突出。
同時,教學團隊還對兩組學生的成績進行了對比。從實驗組和對照組的考試結果分析來看,實驗組學生平均分數高于對照組9.42分,差異具有統計學意義(P<0.05),如表3所示。
通過比較兩組學生的問卷調查和成績,評估AIGC工具作為教學輔助手段的有效性。結果表明,借助AIGC工具作為教學輔助手段可以提高教學質量,加深學生對程序代碼的理解,激發學生學習興趣。
綜上所述,通過為學生提供個性化和富有吸引力的學習體驗,AIGC技術能有效地提高教學質量。同時,AIGC技術能理解學生的個體差異,精準識別他們的學習需求,能打破傳統“填鴨式”的教學模式,生成豐富多樣的學習資源,激發學生學習興趣,提高學生學習效率。隨著人工智能技術的不斷發展和進步,它會成為推動職業教育創新發展越來越重要的工具,因此教師應持續關注和評估其對職業教育的影響。
參考文獻
[1]彭紹東.AIGC時代基于雙向賦能的人工智能教育創新框架[J].教育文化論壇,2023,15(4):12-26.
[2]陳靜遠,胡麗雅,吳飛.ChatGPT/生成式人工智能促進以知識點為核心的教學模式變革研究[J].華東師范大學學報(教育科學版),2023,41(7):177-186.
[3]葉春菊.“多元化、全程式”高職英語課堂教學評價研究[J].中國多媒體與網絡教學學報(中旬刊),2023(9):93-96.
注:本文系2023—2025年水利職業教育研究課題“三教改革視域下水利職業院校教師教學能力提升實踐研究”、廣西水利電力職業技術學院2022年學院重點科研項目“基于物聯網技術的攝像頭運維管理系統研究”(2022kyzd03)的研究成果。
(責編 羅異豐)