Team Software Engineering with AI》這門課程是《Generative AI for Software Development》的第二段課程,同樣也是安排了三週的內容。課程設計的目標,是幫助學員全面了解生成式 AI 在軟體開發中的應用,並提供一套從測試與除錯、文件撰寫到依賴管理的完整學習路徑。課程在三週內,從第一週的內容逐步深入,讓學員從基礎環境設置開始,逐步掌握生成式 AI 工具的應用方法,並將其實際應用於開發與團隊協作中。

第一週的課程除了環境設置之外,主要聚焦於測試與除錯。這週的設計旨在幫助學員理解測試與除錯的重要性,並學習如何透過生成式 AI 工具(如 ChatGPT)來優化測試流程。跟第一門課一樣,平台本身有提供 LLM,以及開發環境,另外也有教材跟延伸練習的程式碼可以下載。學員首先熟悉 Jupyter Notebook 的操作以及 ChatGPT 實驗室的使用方法,建立穩固的技術基礎。在測試部分,課程詳細介紹了探索式測試和功能測試,並教授如何設計自動化測試來提升效率。除此之外,學員還會接觸效能測試與安全測試的基礎知識,並學習使用 AI 工具分析程式碼中的安全漏洞,進一步理解如何將 AI 應用於日常開發工作中。

第二週的課程重點轉向文件撰寫。文件是團隊開發中不可或缺的一部分,但往往容易被忽略。這週的課程旨在幫助學員掌握撰寫高效技術文件的技巧,提升團隊協作的效率。課程不僅介紹了內嵌註解與文件註解的實踐方法,還探討了多語言環境下文件的適應性。學員將學習如何使用生成式 AI 工具來輔助文件撰寫,並通過自動化工具如 Sphinx 生成結構化文檔。此外課程強調了文件在生產環境中的重要性,讓學員了解文件維護對專案長期發展的影響。

第三週的課程專注於依賴管理,這是軟體開發中一個易被忽視但至關重要的領域。本週的課程幫助學員理解如何解決依賴衝突,並提升專案的穩定性與安全性。學員將學習虛擬環境的設置、依賴研究與安全分析等基礎知識,並進一步探索如何利用生成式 AI 工具處理多語言環境中的依賴問題。此外課程中還包括 GPT 的應用實作,讓學員能夠熟悉使用 AI 工具解決版本與依賴管理問題,並將所學應用於實際專案中。

證書-2.png

照例每一週的課程都有作業/考試,程式實作的部分是要求將 Python 2 的舊程式,透過 LLM 的協助來更新為 Python 3 的新版程式,同時也實作了模組依賴版本不相容的解決方式。這跟我們實務開發時經常面對到的困境一樣,以往沒有 LLM 的協助得到個大論壇搜尋取經,或是詢問其他大神。如今 LLM 就是一個隨時可以提供個性化服務的大神。

整體課程是以實務應用為導向,注重理論與實作的結合,讓學員在學習過程中能即學即用。生成式 AI 工具不僅能幫助學員提升開發效率,還能解決許多開發中常見的問題。這門課程強調了技術與團隊協作的平衡,從測試與除錯的基礎開始,到文件撰寫的專業化,再到依賴管理的穩定性,循序漸進地引導學員掌握生成式 AI 的應用精髓。對於希望提升技能並優化開發流程的工程師或技術管理者來說,這是一門不可多得的課程。這門課最後我用了七天的時間(一天平均為八小時),順利完成並取得證書。

課程設計的主要觀念與知識

使用 AI 的團隊軟體工程 Team Software Engineering with AI.png

《Team Software Engineering with AI》(使用 AI 的團隊軟體工程)這門課程主要圍繞生成式 AI 在軟體開發中的應用,特別針對測試與除錯、文件撰寫,以及依賴管理這三大主題進行深入探索。課程設計循序漸進,從基礎環境設置到實務應用,逐步引導學員掌握生成式 AI 的核心技術,並將這些技術融入團隊開發中。