AI 正在改變編程的教學方式:教授們正從語法轉向強調更高層次技能

站長之家(chinaz.com) 5 月 3 日消息: 生成式人工智能正在改變軟件開發行業。ai 驅動的編程工具正在協助程序員完成他們的工作流程,同時 ai 領域的工作崗位也在持續增加。但這種轉變在學術界也很明顯——學術界是下一代軟件工程師學習編程的主要途徑之一。

計算機科學的學生正在擁抱這項技術,使用生成式 ai 幫助他們理解複雜概念,總結複雜的研究論文,集思廣益解決問題的方法,提出新的研究方向,當然還有學習如何編程。

「學生是早期採用者,並且一直在積極測試這些工具,」斯坦福大學計算機科學碩士生、助教 johnny chang 說。他還在 2023 年創立了 ai x education 會議,這是一個虛擬的學生和教育工作者聚會,討論 ai 對教育的影響。

為了不落後,教育者也在嘗試使用生成式 ai。但他們在採用這項技術的同時,還在努力確保學生學習計算機科學的基礎。

「這是一個困難的平衡行為,」新加坡國立大學計算學院的副教授 ooi wei tsang 說。「鑒於大型語言模型正在迅速發展,我們仍在學習如何做到這一點。」

對語法的重視減少,對解決問題的重視增加

大多數初級計算機科學課程都集中在代碼語法和使程序運行上,而知道如何閱讀和編寫代碼仍然至關重要,但測試和調試——通常不是課程大綱的一部分——現在需要更明確地教授。

「我們看到這種技能的提高,學生從生成式 ai 中獲得代碼片段,他們需要測試其正確性,」紐約州波茨坦克拉克森大學計算機科學教授 jeanna matthews 說。

另一個重要的專業技能是分解問題。「這是一個早期就需要知道的技能,因為你需要將一個大問題分解成更小的部分,以便大型語言模型可以解決,」加州大學聖地亞哥分校計算機科學副教授 leo porter 說。「很難找到課程中教授這一點的地方——也許是在算法或軟件工程課程中,但那些是高級課程。現在,它成為了初級課程的優先事項。」

因此,教育者正在修改他們的教學策略。「我以前只關注學生編寫他們提交的代碼,然後我在代碼上運行測試用例來確定他們的分數,」多倫多密西沙加大學計算機科學副教授 daniel zingaro 說。「這是對軟件工程師含義的狹隘看法,我只是感覺有了生成式 ai,我設法克服了這種限制性看法。」

zingaro 與 porter 合著了一本關於 ai 輔助 python 編程的書,現在他讓學生分組工作,並提交一個視頻來解釋他們的代碼是如何工作的。通過這些演示,他了解到學生如何使用 ai 生成代碼,他們在哪些方面遇到困難,以及他們如何接近設計、測試和團隊合作。

「這是一個機會,讓我評估他們整個軟件開發 [生命周期] 的學習過程——不僅僅是代碼,」zingaro 說。「我感覺我的課程已經開放了更多,它們比以前更廣泛了。我可以讓學生們在更大、更高級的項目上工作。」

wei tsang 也同意這種看法,並指出生成式 ai 工具「將為我們節省時間,教授更高層次的思考——例如,如何設計軟件,應該解決的正確問題是什麼,解決方案是什麼。學生可以花更多的時間在優化、倫理問題和系統的用戶友好性上,而不是專註於代碼的語法。」

避免 ai 編程陷阱

但教育者對大型語言模型的幻覺傾向持謹慎態度。「我們需要教會學生對結果持懷疑態度,並負責驗證和驗證它們,」matthews 說。

matthews 補充說,生成式 ai「可能會縮短學生依賴它太多的學習過程。」chang 同意這種過度依賴可能是一個陷阱,並建議他的同學自己探索問題的可能解決方案,這樣他們就不會失去批判性思維或有效的學習過程。「我們應該讓 ai 成為學習的副駕駛——而不是自動駕駛——」他說。

其他缺點包括版權和偏見。「我教導學生關於道德約束——這是一個建立在其他人的代碼上的模型,我們會承認所有權,」波特說。「我們還必須認識到,模型將代表已經存在於社會中的偏見。」

適應生成式 ai 的崛起涉及學生和教育者共同努力和相互學習。對於她的同事,matthews 的建議是「嘗試培養一個環境,鼓勵學生告訴你他們何時以及如何使用這些工具。最終,我們正在為學生準備現實世界,現實世界正在變化,所以堅持你一直做的事情可能不是最好地服務於學生在這個過渡中。」

porter 對現在所做的改變將為學生在未來服務持樂觀態度。「我們有一個長期的學術界教授的內容與學生到達行業時實際需要的技能之間存在差距的歷史,」他說。「如果我們接受大型語言模型,我希望我們可能有助於縮小這個差距。」