今年初,前哈佛大學計算機科學教授、谷歌工程總監Matt Welsh在《美國計算機協會通訊》上發表了一篇題為《編程的終結:經典計算機領域正迎來劇變》的文章,一經傳播,就引發了廣泛熱議。Matt Welsh在文中拋出了一顆“重磅炸彈”—“編程將被淘汰,我相信‘寫程序’的傳統觀念正在走向消亡”。他認為,今后大多數軟件都將被經過訓練的人工智能系統取代,未來的程序將由人工智能自動生成,而不再依靠手工編碼。
這篇文章發表的時候,AIGC剛剛興起。短短幾個月后,文中的觀點似乎正在被某種事實印證。有分析表明,編寫程序是ChatGPT最擅長的工作之一,當下,人工智能輔助編程漸成趨勢,諸如ChatGPT、Copilot、Cursor、CodeGeeX等輔助編程工具逐漸興起,已有大量的程序員通過人工智能輔助編程。
但教育人畢竟不是程序員,當我們談論“編程終結”這一觀點的時候,我們關心的其實是“假如編程終結了,那么編程教育將何去何從”。對于這個問題,倒是值得我們嚴肅對待,并認真思考一番。
首先,人工智能“終結”的到底是什么?從目前來看,至少在可見的未來,人工智能“終結”的還是那些重復、單調、冗長的代碼編寫工作,而那些更具創造性、復雜性、多樣性的任務,還必須依靠人類的智慧。況且,“寫程序”從來也不是編程的全部,編程就像一個系統工程,從需求分析、系統架構,到運行調試、協作溝通……是技術能力、分析能力、人際溝通能力、判斷力等多種能力的綜合。
其次,尤其需要我們厘清的是,基礎教育領域編程教育的目標是什么?顯而易見,編程教育并不是直接培養碼農的,那么,通過編程教育,我們試圖培養學生的哪些能力或素養呢?對于這個問題,新課標已反復為我們指明了編程背后的東西—運用合理的算法形成解決問題的方案、發展計算思維、培養解決實際問題的能力等等。可見,編程教育關注的始終是思想方法、思維過程以及實踐能力,相對而言,“寫程序”這一具體行為只是通向這些目標的橋梁。假使“寫程序”的過程被人工智能替代,反而可以將學生從枯燥、機械的重復性工作中抽離出來,更加聚焦各種思維、能力的發展。
“編程的終結”是一個好問題,它促使我們深入思考基礎教育領域編程教育的目標,只有弄清了“為什么教”,才能明確“教什么”和“怎么教”。