国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ChatGPT的留學生編譯原理課程實踐方法

2023-09-15 03:34蔣凌云黃海平陳興國
軟件導刊 2023年9期
關(guān)鍵詞:詞法代碼編程

徐 康,蔣凌云,2,黃海平,陳興國

(1.南京郵電大學 計算機學院、軟件學院、網(wǎng)絡空間安全學院,江蘇 南京 210023;2.南京郵電大學通達學院,江蘇 揚州 225127)

0 引言

隨著全球化的進展和教育國際化的發(fā)展,越來越多非洲、亞洲,甚至歐美的學生選擇到中國留學,以獲得更好的學習和發(fā)展機會。然而,留學生在新的學習環(huán)境和文化背景下,往往會遇到一系列挑戰(zhàn)和困難。其中之一就是語言障礙,特別是對于非英語國家的留學生而言,其需要適應英語作為教學語言和交流工具,以及理解英文教材并學會運用相關(guān)教學資源。這對于留學生,尤其是計算機科學專業(yè)領(lǐng)域的學生是一個嚴峻挑戰(zhàn)。

編譯原理是計算機科學與技術(shù)領(lǐng)域的重要課程之一,教授學生編譯器的原理和實現(xiàn)方法[1-2]。該課程主要涵蓋詞法分析、語法分析、語義分析和代碼生成等內(nèi)容。通過學習編譯原理,學生可以理解程序轉(zhuǎn)換過程和計算機語言的底層工作原理,培養(yǎng)其程序設(shè)計和問題解決能力。編譯原理課程通常包含理論學習和實踐環(huán)節(jié)兩部分,其中實踐環(huán)節(jié)對于學生的綜合能力培養(yǎng)尤為重要[3]。然而,由于留學生在語言方面的障礙,使其在課程學習、交流溝通以及編程實踐等方面會遇到各種問題。因此,有必要對留學生編譯原理課程的實踐環(huán)節(jié)進行改革,以幫助其克服語言障礙,更好地掌握與應用編譯原理知識和技能。

近年來,人工智能技術(shù)取得了巨大進展,其中自然語言處理(Natural Language Processing,NLP)和生成模型的應用[4]逐漸成為研究熱點。ChatGPT 作為一種基于預訓練模型的語言生成模型,具有強大的語言理解和生成能力[5]。其可以通過與用戶的對話交互,生成符合語境和邏輯的語句及回答,尤其是ChatGPT 可以將自然語言描述的用戶意圖轉(zhuǎn)換成形式化的程序語言[6],這為留學生編譯原理課程的實踐環(huán)節(jié)提供了新的思路和可能性。

ChatGPT 在個性化教學、課程規(guī)劃、專業(yè)指導等方面具有革新教育的潛力[7-9],其中Prompt 是可以與ChatGPT 交互的一種自然語言指令,促使ChatGPT 生成編程需求、程序代碼以及計算機編程配套文檔,還可以模擬編程系統(tǒng)的某些行為[10]。因此,設(shè)計一種基于ChatGPT 的編譯原理實踐環(huán)節(jié)改革方法,針對編譯原理實踐環(huán)節(jié)不同階段的問題設(shè)計各種Prompt 模版,為留學生提供代碼自動糾錯功能以及個性化的學習解答和輔導,以促進其在編譯原理課程中學習和實踐能力的提升。

1 實踐環(huán)節(jié)簡介與現(xiàn)狀分析

1.1 實踐環(huán)節(jié)

編譯原理是一門理論與實踐結(jié)合緊密的課程。通過實驗,使留學生加深對課內(nèi)所學有關(guān)編譯過程各階段采用的主要算法、方法和技術(shù)等內(nèi)容的理解,能把編譯原理相關(guān)理論運用到軟件開發(fā)中。在留學生手動生成詞法分析器及語法分析器的過程中,使其對相關(guān)工作機理有一個詳細了解,從而提高應用程序設(shè)計能力以及分析、解決問題的能力。

1.1.1 教學目標

(1)知識教學目標。目標1:使留學生理解編譯系統(tǒng)工作流程和編譯器各功能模塊設(shè)計原理,能夠利用基本原理和方法識別與分析計算機軟件開發(fā)領(lǐng)域復雜的工程問題。目標2:使留學生掌握詞法分析器、語法分析器開發(fā)方法,能夠編寫詞法分析程序和語法分析程序,從而對編譯原理相關(guān)理論知識有更深入的理解。

(2)能力教學目標。目標1:使留學生具有一定的自學能力和信息獲取能力。目標2:使留學生具有系統(tǒng)能力,能站在系統(tǒng)的全局去看問題、分析和解決問題。目標3:使留學生具有設(shè)計、實現(xiàn)和闡述研究方案的能力。

1.1.2 實驗內(nèi)容

實驗內(nèi)容學時分配與基本要求如表1所示。

Table 1 Hour allocation and basic principle of experiments表1 實驗內(nèi)容學時分配與基本要求

1.2 現(xiàn)狀分析

在傳統(tǒng)的留學生編譯原理課程中,實踐環(huán)節(jié)往往存在一些問題和挑戰(zhàn)。首先,語言障礙是留學生在實踐環(huán)節(jié)中遇到的主要問題之一。留學生由于語言的限制,難以理解與運用編譯原理相關(guān)概念和技術(shù)。其可能面臨閱讀和理解英文教材、與教師和同學進行討論與交流的困難[11]。以南京郵電大學計算機學院的留學生為例,首先,學生大多來自非英語國家,對于英文資料的理解存在一定困難;其次,實踐環(huán)節(jié)往往缺乏個性化的指導和支持[12]。每個留學生的學習需求和自身水平不同,但傳統(tǒng)實踐環(huán)節(jié)通常無法滿足學生個性化的需求,可能導致一些留學生在實踐項目中遇到困難時無法得到及時的幫助和指導。

此外,編譯原理的實踐項目通常需要學生進行團隊合作,共同解決復雜的問題。然而,由于語言和文化差異,留學生可能面臨與教師和同學之間的溝通障礙,從而影響團隊合作和項目完成效果。另外,編譯原理課程實踐項目通常缺乏實際的應用場景,導致留學生無法在短期內(nèi)將所學知識應用到實際問題的解決中。同時,傳統(tǒng)的實踐環(huán)節(jié)缺乏實時反饋,對于新手程序員來說,難以及時對程序進行調(diào)試和糾錯[2,13]。

因此,針對以上問題,有必要對留學生編譯原理課程的實踐環(huán)節(jié)進行改革,以提供更好的學習環(huán)境支持,幫助留學生更好地掌握與應用編譯原理相關(guān)知識和技能。

2 基于ChatGPT的交互式編譯原理實踐環(huán)節(jié)

為了解決留學生編譯原理課程實踐環(huán)節(jié)中存在的問題,本文提出一種基于ChatGPT 的交互式編譯原理實踐環(huán)節(jié)實現(xiàn)方法,旨在為留學生提供個性化的學習支持和指導,以促進其學習和實踐能力的提升。

Prompt 作為發(fā)送給ChatGPT 等預訓練大模型的指令,用于強制執(zhí)行規(guī)則、自動化流程,以確保生成輸出的質(zhì)量(和數(shù)量)[14]。針對留學生對編譯原理課程內(nèi)容以及Chat-GPT Prompt[15-16]熟悉程度不一致的問題,設(shè)計一套編譯原理編程實踐專用的Prompt 模版[14],覆蓋編譯原理編程各類常見問題,協(xié)助留學生生成各類問題的Prompt,以提供個性化的指導。通過與ChatGPT 進行對話交互,留學生可以提出問題、尋求解釋和示例代碼等支持,而ChatGPT 將根據(jù)其預訓練的知識和語義理解能力,生成相應的回答。

Prompt 模板主要包括兩大模塊,即基本功能實現(xiàn)模塊和代碼調(diào)試模塊。其中,基本功能實現(xiàn)模塊旨在引導學生在編譯器實踐中完成必要的基本功能,包括正確解析源代碼、進行語義分析、生成目標代碼或中間代碼等,如表2 所示。代碼調(diào)試模塊可以輔助學生在編程實踐環(huán)節(jié)中,針對遇到的各種類型報錯進行代碼調(diào)試,保證代碼能夠正常運行,如表3所示。

Table 2 Prompt template of lexical analysis表2 詞法分析Prompt模版

Table 3 Prompt template of syntax analysis表3 語法分析Prompt模版

下文以詞法分析錯誤代碼調(diào)試為例:

當詞法分析器無法識別某些詞法單元時,學生可以根據(jù)自己熟悉的語言書寫下列相關(guān)代碼調(diào)試Prompt。以英文為例:

I encountered an unrecognized lexical unit.What steps can I take to debug the lexer and identify the problem?

根據(jù)Prompt(1),可以向ChatGPT 發(fā)送指令,如圖1所示。

Fig.1 Prompt for error checking of lexical analysis圖1 詞法分析錯誤檢查Prompt

ChatGPT 通過對源代碼的分析,給出了錯誤檢查的建議,可以幫助學生進行代碼修改,如圖2 所示。這里的答案輸出也可以選擇學生熟悉的語言,以解決留學生中對于英文和中文都不熟悉的情況。同時,如果對于給出的方案不滿意,由于ChatGPT 具有上下文理解的能力,可在現(xiàn)有會話中繼續(xù)追加Prompt,直至得到正確的方案來修正代碼。

Fig.2 Solution provided by ChatGPT圖2 ChatGPT給出的解決方案

在實踐環(huán)節(jié)中,留學生可以利用ChatGPT 進行交互式學習。學生可以向ChatGPT 提出問題,如概念理解、代碼調(diào)試和項目指導等,而ChatGPT 將根據(jù)其預訓練的知識,生成相關(guān)的回答。通過與ChatGPT 的對話交互,留學生可以獲得個性化的學習支持和指導,幫助其克服語言障礙,更好地理解與應用編譯原理知識。

3 改革實踐效果

在2022-2023 第二學期,通過對南京郵電大學2020 級留學生計算機科學與技術(shù)專業(yè)的兩個班級進行試點分析,發(fā)現(xiàn)留學生本科三年級學生在編程基礎(chǔ)整體不強的情況下,基本可以在ChatGPT 的輔助下完成編譯原理課程中的詞法分析和語法分析兩個課內(nèi)實驗,并且學習效果較之前學期有明顯改善。主要表現(xiàn)在以下幾個方面:

(1)課程參與主動性增強。編譯原理的實踐環(huán)節(jié)不再是編程“老手”才能完成的事情,一些編程經(jīng)驗不足的學生,通過使用Prompt 與ChatGPT 進行互動,在編程的同時,可以補充理論課程中的知識盲點。編程能力一般的學生,可以通過ChatGPT 的輔助完成基本功能;編程能力較強的學生,可以在基本功能的基礎(chǔ)上,利用ChatGPT 實現(xiàn)優(yōu)化的功能。

(2)學習知識邊界和學習模式的變化。在編譯原理實踐環(huán)節(jié),學生不再單純完成任務式地實現(xiàn)要求的基本功能,ChatGPT 龐大的知識體系和創(chuàng)造性可以擴寬學生的知識邊界。學習不再是單純的“教師—學生—教材”三位一體的枯燥模式,更多的是探索、嘗試和頭腦風暴,教師更多地指導學生如何正確使用Prompt從大模型中尋找答案。

(3)完成情況和學習效果。留學生獲取知識的渠道已不僅局限于書本,而且有互聯(lián)網(wǎng)中專業(yè)的網(wǎng)站(如Github)以及博客(如Quora)等,信息源多而雜。ChatGPT 為留學生提供了精煉的知識,同時也為留學生生成了很多創(chuàng)造性的內(nèi)容。

4 結(jié)語

本文旨在探討基于ChatGPT 的留學生編譯原理課程實踐環(huán)節(jié)改革方法。首先,基于ChatGPT 的自動化輔導系統(tǒng)可為留學生提供個性化的學習支持和指導。學生可以根據(jù)提供的模板設(shè)計Prompt 向系統(tǒng)提問并獲得符合語境和邏輯的回答,幫助其克服語言障礙,更好地理解和應用編譯原理知識。留學生通過參與實踐項目,不僅能夠應用所學的編譯原理知識解決實際問題,而且能夠與團隊成員合作,共同分析和解決復雜問題。改革方案提供了個性化的學習支持和實踐經(jīng)驗,有效促進了留學生在編譯原理課程中學習和實踐能力的提升。

猜你喜歡
詞法代碼編程
編程,是一種態(tài)度
編程小能手
紡織機上誕生的編程
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
談對外漢語“詞法詞”教學
2010年高考英語“相似”考題例析