?

智能時代編程教育如何培養學生的創新能力

2023-12-25 03:06李鋒袁雨欣顧小清
現代遠程教育研究 2023年6期
關鍵詞:信息科技智能時代創新能力培養

李鋒 袁雨欣 顧小清

摘要:在教育數字化轉型的背景下,智能時代的編程教育被賦予培養學生創新能力、服務于創新型國家和科技強國建設的重要使命。然而,受技術工具論的影響,當前學界還普遍存在將編程教育等同于程序設計語言學習、簡化為程序的模仿練習,甚至將其異化為編程測試題訓練等認識誤區。事實上,伴隨計算機和人工智能技術的快速革新與普及,編程教育在教育理念、目標界定、內容選擇、方法設計上不斷成熟和完善,并形成了以知識與技能為主體內容的“學編程”、以解決問題為關鍵技能的“用編程學”、以編程創新為核心素養的“用編程創新”的教育模式演進路徑。智能時代的編程教育應突破傳統編程教育在內容、模式和方法上的局限,基于編程項目活動來貫通編程探究全過程,優化編程創新成果,并建構螺旋上升的創新路徑。同時,還需按照教育實踐需要從單元項目活動整體性、跨學科任務綜合性、智能編程環境易用性等方面提供全方位的策略支持,以更好地為學生創新能力的培養提供堅實保障。

關鍵詞:智能時代;編程教育;創新能力培養;編程教學模式;信息科技

中圖分類號:G434 ? 文獻標識碼:A ? ?文章編號:1009-5195(2023)06-0011-08 ?doi10.3969/j.issn.1009-5195.2023.06.002

基金項目:國家社會科學基金2021年度教育學一般課題“線上線下融合的信息技術教材新形態及創新應用研究”(BCA210081)。

作者簡介:李鋒,博士,教授,博士生導師,華東師范大學教育信息技術學系(上海 200062);袁雨欣,碩士研究生,華東師范大學教育信息技術學系(上海 200062);顧小清(通訊作者),博士,教授,博士生導師,華東師范大學教育信息技術學系主任,上海高?!傲⒌聵淙恕毙畔⒖萍冀逃虒W基地主任(上海 200062)。

在智能時代,以數字化、網絡化、智能化為特征的技術革新催生出了社會發展的新賽道、新模式和新樣態,為新一輪社會經濟繁榮奠定了堅實的基礎。大數據、大模型支持下的生成式人工智能進一步推動技術工具向更加智能化的水平飛躍,開啟了人機協同的新路徑。在教育數字化轉型的大背景下,引導學生正確理解人與數字環境的關系,學會數字化生存技能,發展應用智能設備進行協同創新的能力就成為學校開展編程教育的新任務。

一、編程教育的三大認識誤區

編程作為學校教育的一項重要內容,其教育目的是要幫助兒童合理應用身邊各種由程序驅動的數字設備,掌握以編程解決問題的過程與方法,用符合智能時代的思維方式去思考、理解和解決日常學習與生活中的問題,提高數字素養與技能(Nouri et al.,2020)。為加快建設創新型國家和世界科技強國,2017年國務院印發的《新一代人工智能發展規劃》強調在中小學階段設置人工智能相關課程,逐步推廣編程教育(中華人民共和國中央人民政府,2017)。2022年《義務教育信息科技課程標準(2022年版)》進一步要求學生能針對簡單問題,嘗試設計求解算法,并通過程序進行驗證,引導學生在經歷編程解決問題的過程中發展計算思維、數字化學習與創新等能力(中華人民共和國教育部,2022)。但是,受技術工具論的影響,編程教育還存在著等同于程序設計語言學習、簡化為程序模仿練習,甚至異化為編程測試題訓練等認識誤區。

1.將編程教育等同于程序設計語言學習

素養導向的編程教育不再局限于編程知識與技能學習,更強調培養學生運用計算機科學領域的思想方法去解決問題的能力,即通過抽象、分解、建模、算法設計等思維活動形成解決問題方案,以程序驗證問題解決方案,并能將此能力遷移運用于解決其他問題之中。編程教育成為培養學生計算思維、問題解決能力、創造力等的重要途徑(張進寶,2019)。例如,“智能澆花系統”活動中,學生為完成依據土壤濕度閾值實現自動澆花的模塊功能,需進行“描述自動澆水模塊需解決的問題,設計問題解決方案,通過編寫程序實現自動澆水方案,運行程序驗證效果并進行優化迭代”。在此過程中,學生不只是學習程序設計語言中的變量、運算符、表達式、循環語句等內容,還要將此應用于解決實際問題之中。然而,在教學實踐中,為提高教學效率,一些編程教學活動脫離解決問題的真實情境,只是圍繞某一程序設計語言的知識技能開展教學,過于關注該語言的數據類型、常量與變量、運算符、表達式、語句結構等內容,強調單純地向學生傳授程序設計語言知識。事實上,如果忽視引導學生經歷問題描述、算法設計、編程驗證、優化迭代等編程問題解決全過程的學習,將程序設計語言知識技能的學習與應用編程解決問題的過程隔裂開來,不僅不能讓學生感受到編程學習的樂趣,反而會因記憶過多的枯燥語法和難以理解的語句符號而降低學生學習的興趣,進而使學生對編程學習產生“畏懼感”(Rogerson et al.,2010)。

2.將編程教育簡化為程序的模仿練習

編程解決問題的過程是一項不斷“試誤”和逐步完善的過程。在此過程中,學生需要針對要解決的問題對編程方案和作品進行持續迭代與優化,直至滿足任務需求。因此,編程教育要求創新教學方式,在真實問題情境中,引導學生參與編程探究活動,經歷描述問題、完成任務、建構知識和運用知識的過程,逐步領悟編程解決問題的過程與方法(孫立會,2023)。然而,教學實踐中為讓學生能快速完成編程任務,較多采用的是“教師講一步,學生做一步”的模仿訓練方式。例如,在 “設計導游機器人游覽路線”教學活動中,為了讓學生都能完成機器人導航設計任務,教師在展示給學生需要完成的任務后,會分步演示導航機器人需要行走的步數、方向和應用積木流程實現導航方案的過程,并讓學生按照教師設計的方案和演示的步驟,分別在自己的設備上添加相應的模塊,經過不斷調試直到能實現機器人的成功導航。在此活動中,教師為激發學生的學習興趣創設了編程活動情境,融入所需解決的問題,但是在活動過程中只是強調學生要進行編程模仿與跟隨,而忽視了學生應用編程方法進行問題分析、方案設計、試誤與優化探究過程的體驗。盡管通過模仿每組學生都能完成相應的活動任務,但是由于學生沒有自主經歷應用編程方法分析問題、解決問題、創作作品的過程,一旦更換新的問題情境,學生依然較難將編程方法遷移到新問題的解決中,由此導致了“為活動而活動”的編程教育誤區。

3.將編程教育異化為編程測試題的訓練

學校教育的本質是引導兒童逐步獲得人類積累的文化觀念、方法、工具和資源,并促進其實現從依托個人經驗與世界互動,到理性自主地認識世界和參與社會的轉變過程(楊向東,2017)。 評價作為編程教育實施的一個重要環節,需落實評價促進學習的理念,提高學生自我評價和自我反思能力,引導學生合理運用評價結果改進學習。以評價促進學生編程問題解決能力的提高,旨在引導學生正確應用編程知識與技能理解程序驅動的數字化環境,逐步成長為有效的技術使用者、創新的技術設計者和理性的技術反思者(中華人民共和國教育部,2020)。但是,隨著學校課程改革的深化,編程內容逐步成為學?!案呃Α笨荚嚨囊豁梼热?。受“選拔指揮棒”的影響,為讓學生在選拔考試中獲得好成績,一些學校往往將編程教育異化為編程測試題訓練。即針對編程知識與技能點編制專項測試練習題,采用“題海戰術”組織學生高強度練習,以強化學生對編程知識與技能的熟練掌握程度。事實上,學校編程教育如果過于強調評價的“甄選作用”,而忽視評價激勵與促進學生編程學習的功能,則不僅難以有效提高學生應用編程解決問題的能力,還會因為高強度、重復性試題訓練增加學習負擔,進而弱化編程教育的育人價值。

二、編程教育的模式演變與實踐探索

編程教育隨著計算機技術的革新與普及得以快速發展,其教育理念、目標界定、內容選擇、方法設計在教育實踐與探索過程中得以不斷成熟與完善。自學校開設計算機及相關課程以來,編程教育經歷了從以知識技能為主體內容到以解決問題為關鍵技能,再到以編程創新為核心素養的發展脈絡,逐步形成了面向知識技能的“學編程”、面向實踐應用的“用編程學”和面向創新能力發展的“用編程創新”的教育模式。三種教育模式在教育理念、學習目標、課程內容、教學方法等方面各有特點,其模式演變與發展歷程如圖1所示。

圖1 編程教育的模式演變與發展歷程

1.面向知識與技能的“學編程”

20世紀70年代,微型計算機的推廣與應用促進了學校計算機教育的開展,許多國家為占得信息化發展先機紛紛在學校開設計算機課程,以提高學生的計算機應用能力。但是,受當時計算機軟硬件條件限制,要有效使用計算機就需要掌握能調控計算機的語言,因此“學編程”就成了學校計算機教育的主要模式。蘇聯計算機教育專家葉爾肖夫在《程序設計——第二文化》一文中指出,“是否具有編排與執行自己工作的程序能力是人們能否有效完成各種任務的關鍵?,F代人除了傳統的讀寫算能力以外,還應該具有一種可以與之相比擬的程序設計技能,這種能力可以幫助人們從小培育一種程序設計的意識與能力”(王吉慶,2001)。受該觀點影響,許多學校將程序設計語言作為計算機教育的主要內容。例如,美國海登出版公司編寫的“小學微型計算機”教材就基于BASIC程序設計語言設計了“變量、表達式、函數、賦值語句、條件語句、循環語句、輸出語句 ”等編程知識與技能(Moody,1978)。1984年,我國教育部發布的《中學電子計算機選修課教學綱要(試行)》提出“掌握基本的BASIC語言,并初步具備讀、寫程序和上機調試的能力”(全國中學計算機教育研究中心,1991),也屬這種情形?;诔绦蛟O計語言的“學編程”教育模式要求學生記住一系列的指令,運用這些指令編寫代碼語句,形成可執行的計算機程序,并通過執行程序實現人們對計算機的調控。該模式強調學生對程序設計語言的學習,注重編程知識與技能的系統性,為學生理解計算機運行原理、通過程序設計語言管理和應用計算機創造了學習條件。但是受計算機應用領域的局限,編程學習的內容與學生生活及學習情境相脫離,學習過程過于強調指令記憶與抽象代碼的編寫。盡管學生在學習過程中能夠積累一些編程知識與技能,但依然難以將相應內容有效應用于實際問題的解決中。隨著計算機技術快速發展、應用場景日趨多樣,編程教育亟需突破“記指令、寫代碼”的困擾,引導學生在真實情境中帶著問題去學習編程,并在活動過程中應用編程技能,不斷提高用編程解決問題的能力。

2.面向實踐應用的“用編程學”

20世紀80年代,隨著計算機在教育中的普及應用,學界對計算機教育有了更深刻的認識,越來越多的學者認為計算機教育不僅要讓學生學習關于計算機的知識與技能,更要讓學生學會用計算機去學習,這就推動了編程教育從“學編程”到“用編程學”的發展。美國計算機教育專家西蒙·派珀特在《因計算機而強大:計算機如何改變我們的思考與學習》一書中強調,“兒童在編程環境中開展其他學科學習,可以鼓勵他們將頭腦中的想法轉化為可視化作品,引導兒童在設計、制作、試誤過程中驗證和優化自己的想法,借助豐富而又復雜的‘微型世界’獲取知識、解決問題”(Papert,1993)。受該教育理念影響,很多學校通過跨學科整合方式開展編程教育,將編程教育融入數學、科學、語言以及藝術課程學習中。例如,有學校利用LOGO可視化編程環境,引導學生按照幾何圖形特征設計繪制圖形的步驟,在LOGO編程環境中編寫程序指令驗證步驟的正確性,在試誤與修正的過程中完成幾何圖形繪制,由此掌握幾何知識,發展編程能力。近年來,隨著可視化編程環境日趨成熟,越來越多的學科也開始嘗試使用編程方式來開展學習,如通過在編程環境中引導學生體驗和應用“分析與描述學科問題—抽象和設計解決具體問題方案—編程驗證方案和實現解決學科問題—對方案優化迭代”的“編程+”跨學科學習方式,促進學生運用編程方法學習不同學科內容,掌握編程的基本知識與技能,提高用編程解決問題的能力。當然,隨著越來越多的數字設備應用于學生的生活與學習中,編程教育也不應局限于跨學科學習,同樣需要將“編程+”的方法與學生更多元的生活及學習情境相結合,引導他們利用編程創造性解決其中的問題。

3.面向創新能力發展的“用編程創新”

近年來,互聯網、大數據、人工智能等新技術的發展創生出全新的數字化生存環境,推動了社會各領域的數字化轉型,也形成了社會發展的新賽道、新模式和新樣態。在全新的數字化環境下,編程教育既要幫助學生理解與適應數字化環境,也要引導學生合理利用數字化環境創新地解決問題,通過編程教育促進學生從“技術工具消費者”向“技術應用創新者”發展。2022年我國發布的《義務教育信息科技課程標準(2022年版)》將數字化學習與創新作為學生發展的一項核心素養,強調學生要“在日常學習與生活中,具有創新創造活力,能積極主動運用信息科技高效解決問題,并進行創新活動”(中華人民共和國教育部,2022)。哈佛教育研究團隊依托圖形化編程開發的“創意計算”(Creative Computing Curriculum)課程,以編程主題活動為載體支持學生針對開放性主題從問題分析、方案設計、編程創新、優化完善等環節促進學生探索、合作與反思,以提高學生創新的興趣和創造力(The Harvard Graduate School of Education,2011)?!坝镁幊虅撔隆钡慕逃J酵ㄟ^加強編程知識與社會實踐之間的聯系,引導學生在認識世界、發現和分析真實問題過程中,創造性地設計與驗證解決問題的方案,提高用編程創造性解決問題的能力。當然,在用編程培養學生創新能力的教學實施中,如何將學生的“學編程”與“用編程創新”合理結合起來,怎樣實現程序設計語言知識與開放性問題設計的內在統一,還需在編程教育實踐中進行持續研究與探索。

三、指向創新能力培養的編程教育實踐模型 建構

生存于智能時代,學生不僅要適應程序驅動的智能環境,也應具備選用智能設備創造性地解決問題的能力。為促進學生創新能力的發展,一些教育學者或研究機構依托形式多樣的編程環境開展了一系列的編程教育實踐研究。例如,樂高教育機構依托積木教具與模塊編程環境設計了5E教育實踐模型,針對具體情境任務,引導學生經歷“參與(Engage)、探究(Explore)、解釋(Explain)、拓展(Elaborate)、評估(Evaluate)”的活動過程,進而完成作品設計、搭建和編程實現,以此來提高學生的編程創新能力(LEGO Education,2020)。國內學者孫立會依據“建造主義”理論和“活動理論”框架構建了“非計算機化”兒童編程教育模型,通過“計算概念選定—游戲情境創設—故事引領切入—項目協作構建—同伴分享交流—思維評價遷移”等環節引導學生分析問題、設計指令和創新成果,實踐表明該模型能有效促進學生的計算思維發展(孫立會,2023)。庫塞特等學者在綜述前人編程教育研究成果基礎上提出了“問題理解—方案策劃—策略比較—設計算法—編程驗證—運行調試—迭代和優化算法”的編程教育模型(Erümit et al.,2019)。該模型既強調學生要經歷編程問題解決的全過程,也突出了編程創新的開放性,還強調了創新成果的不斷迭代與優化。綜合國內外的研究成果可發現,智能時代的編程教育突破了傳統“學編程、寫代碼”的教育模式與實踐方法,強調通過項目活動引導學生針對開放性問題,創新設計解決問題的方案,并以編程方式實踐方案,初步形成創新成果,沿著開放、螺旋上升的路徑對創新成果進行迭代和優化,以此促進學生創新能力的發展。具體闡述如下:

1.創設基于項目的編程活動

編程項目活動是依據學習目標組織起來的編程實踐與創新應用。在項目實施過程中,學生首先要判斷與項目密切相關的真實問題或任務,通過編程解決問題或完成任務,以實現學生對知識的意義建構與作品創新。在此過程中,學生不僅能學習編程知識與技能,更能應用編程方法去創造性地解決問題。例如,在“編程分析《紅樓夢》前后文風變化” (以下簡稱“編程分析《紅樓夢》”)項目中,既可結合文學研究理論,通過數據挖掘與編程方法探索《紅樓夢》前后文風變化的問題,還可綜合文學研究方法與編程方法創新提出紅樓夢研究的新方法。因此,教育實踐中為更好地提高學生編程創造能力,項目活動設計應體現情境性、問題性和開放性的特征。

其一,編程項目的情境性。情境是學生開展項目活動的真實場景,一方面它像“黏合劑”一樣把學生開展項目活動所要解決的問題、所用到的編程知識與技能,以及問題解決過程中形成的創新成果融為一個綜合體,從而為學生提供真實任務探索的創新空間;另一方面它像“催化劑”一樣不斷引發學生的認知沖突,并激發其探究動力。

其二,編程項目的問題性。問題是事物初始狀態與想要達到的目標狀態之間存在的“障礙”(王小明,2009)。編程項目中的問題根植于學生的生活與學習經驗中,具有真實性、復雜性、綜合性的特征。從認知層面看,編程問題解決可看作是知識與技能的理解、應用和調控的認知連續體,學生在解決問題過程中將抽象的編程知識與技能還原到具體的個人經驗情境中,在感知、發現和掌握的認知過程中建構出“活化”的編程知識與技能。從實踐層面看,編程問題解決可反映為界定、分析、設計、實施、反思的行為連續體,便于學生在優化、迭代和螺旋上升過程中創造性應用編程知識與技能??梢?,編程項目的問題設計與組織為學生編程創新活動的開展搭建了“橋梁”。

其三,編程項目的開放性。編程項目方案的設計與執行過程是學生抽象項目關鍵特征,按照算法思維分析已知條件、描述問題、設計問題解決步驟,通過編程驗證、調試和持續完善項目方案并創新項目作品的過程。在此過程中,項目主題應具有開放性,學生可依據主題要求靈活選擇活動方向、設計實施過程、創新項目成果。項目的開放性為學生創新方法與過程,形成創新成果提供了支持。例如,在“編程分析《紅樓夢》”項目活動中,既可以選擇文本中對某人物語言描寫的前后變化進行文本數據分析與編程驗證,也可以選擇文本中對飲食描寫的前后變化進行文本數據分析與編程驗證??傊?,編程項目的情境性、問題性和開放性為學生編程實踐創設出了知識際遇、問題支架和探究空間。

2.引導學生經歷編程探究全過程

編程任務實施是針對項目任務,設計問題解決方案,通過編程實現人機協同的過程。學生完成每一項任務、創作每一個作品都需經歷編程探究的過程,發展編程解決問題獨特的方法。其活動目標不只是要記住或者會操作程序設計語言的語法知識和語句結構,更重要的是要引導學生經歷編程探究的全過程,在問題解決的過程中創新活動作品,提高“編程+”實踐能力。編程探究過程主要包括四個環節:

首先,開展需求分析,界定研究問題。即針對項目情境和活動任務開展需求分析,界定需要解決的核心問題,抽象問題的關鍵因素,列出解決問題的已知條件,描述所需解決的問題及預期結果。

其次,自主/合作探究,創新實施方案。即引導學生嘗試利用各種策略尋求解決問題的方法,通過編程方式創新解決問題的過程與步驟,形成解決問題的實施方案。例如,針對某一個復雜問題,采用編程過程中的分解思維方式,將復雜問題分解為若干個小問題,通過求解小問題的最優解得到整體問題的最優解,以此創新這一問題的解決方案。為有序、清晰地執行解決問題的步驟,方案中每一步都應明確、清晰、沒有歧義,并能通過自然語言或流程圖以順序、分支和循環控制結構進行描述。

再次,編程驗證方案,形成創新成果。即選擇合適的編程環境將問題解決方案的邏輯和步驟轉化為可執行的程序,通過執行程序實現問題解決,創新編程成果。在此過程中,學生既要學習編程的知識與技能,也要應用這些知識技能實現問題的解決。例如,在“編程分析《紅樓夢》”文本數據處理過程中,需要學習Python程序設計語言中列表數據的類型,掌握列表中增加或刪除數據項的方法,定義列表存放需要處理的文本數據項等。該過程既是學習程序設計語言知識的過程,也是應用編程環境創新編程作品的過程。

最后,分享實施方案,完善創新成果。此過程需在測試和運行程序后,輸入測試數據和參數,查看輸出結果,確定程序是否正確執行了問題解決方案,并對測試結果進行評估。還需根據調試和測試結果,征求同伴和他人的建議對問題解決方案進一步優化,以及對創新成果進一步完善。學生在經歷項目問題描述、問題解決方案設計、編程方案執行、程序調試與運行的全過程中,既能創造出編程作品,又能提高其編程創新能力。

3.持續優化編程創新成果

編程創新成果是學生在問題分析與方案設計基礎上,借助編程環境完成的作品、應用或服務,其呈現形式是算法、應用系統或分析報告等。為提高創新成果功能的多樣性、穩定性與實用性,在項目活動中,學生還需根據創新成果的應用效果和用戶建議,從功能特征、技術性能和用戶體驗等方面對其進行迭代和優化。

其一,功能特征的迭代與優化。對照項目活動中的問題分析與預期結果,檢測編程成果是否達到預期目標要求,對未能實現的功能還需再次進行方案設計與編程實現,以進一步完善項目活動成果的功能特征。例如,在“編程分析《紅樓夢》”文本數據處理過程中,起初對某一人物語言文本數據的前后變化進行分析并得出結論。但是預期結果要求對所得結論進行多方互證,這就需要進一步優化方案,增加更多人物語言文本數據分析的互證數據,完善編程成果,得出多方互證結論。

其二,應用性能的迭代和優化。程序作品是編程創新成果的重要呈現形式,其運行效果和響應速度是用戶評價作品質量的重要因素。為提高程序作品質量和應用效果,編程項目活動過程中,學生還需進一步考察程序作品的運行效率,從技術性能方面對程序作品進行迭代和優化?!读x務教育信息科技課程標準(2022年版)》要求學生能夠“通過真實案例,知道算法步驟的執行次數與問題的規模有關,觀察并體驗采用不同算法解決同一問題時在時間效率上的差別”。因此學生在完成編程作品后,還需從算法設計、空間存儲、語句結構等方面進一步優化程序作品,以期在提高學生編程知識與技能的同時,進一步完善其創新成果。

其三,用戶體驗方面的迭代和優化。用戶體驗包括人機交互界面、程序作品使用流暢度、生成報告或結果的可用性等方面。當編程創新成果初步完成后,可邀請同學或老師試用編程成果,通過成果展示、交流和研討等方式聽取大家建議,按照用戶體驗與建議對編程創新成果做進一步的迭代和優化。事實上,編程創新成果在實際應用中總會遇到一些前期未能預料到的問題,通過用戶體驗可以發現新需求,并有針對性地對其進行改進和完善。

4.建構螺旋上升創新路徑

編程創新過程繼承了“做中學”的實踐性特征,融入開放、迭代與優化的學習策略,超越了傳統編程教育的線性執行與封閉反饋的實施方式,逐步形成了螺旋上升解決問題的實施路徑,促進了編程創新成果的持續優化和完善。編程創新過程中螺旋上升實施路徑主要表現為三個方面:

其一,問題分析不斷深入。問題分析是編程創新的關鍵環節,既需要確定問題的已知條件,也要界定和描述問題,為問題求解步驟的設計做好準備。但是受情景復雜性與需求多樣性的影響,問題分析通常很難一次就精準、完整地表述出來,更多是在編程創新過程中對問題反復思考與深入認識,對前期考慮不周全的問題進行不斷細化和逐步完善而得到的。例如,我們在使用各類軟件時會發現軟件版本總在不斷更新,其功能隨著研發者對問題認識的深入而不斷完善,由此軟件應用的功能性和健壯性也不斷得到提高。

其二,實施方案持續完善。編程任務會隨著對問題的認識、功能需求以及技術效率等要求而發生改變,實施方案也會根據相應的要求進行調整與優化。例如,通過優化算法提高方案執行效率,針對個性化需求加強創新成果的可用性,修復系統漏洞以去除安全隱患等,實施方案的持續改進和完善有助于提高編程創新成果的質量。

其三,編程結果逐步優化。編程結果是在不斷試誤與優化中完成的,隨著問題分析描述得越來越準確、實施方案越來越完善,編程結果也得以逐步優化。學生將根據不斷提出的新需求,創新成果的應用功能,提高程序運行的穩定性和安全性。由此可見,要提高學生的編程創新能力,不僅要為學生提供探究問題的空間,還需為他們提供開放的、持續探究問題的路徑,進而引導他們循序漸進地提高編程創新能力。

四、編程教育培養學生創新能力的實施策略

指向創新能力的編程教育注重問題解決與實踐活動相結合,通過項目活動引導學生設計創意方案,體驗從創意設計到成果實現的全過程。因此,為加強學生創新活動的開展,編程教育就需要從活動整體性、任務綜合性以及編程環境易用性等方面為學生提供全面的支持。

1.基于單元開展編程項目活動

教學中的“單元”是基于一定的學習目標與主題構成的學習模塊,它既是課程開發的基礎單位,也是課時計劃的前提條件。相對于以“課時”為單位的教學設計,基于“單元”的教學設計具有整體性和系統化的特征,能夠克服碎片化、孤立進行課時教學中“只見樹木、不見森林”的局限(熊梅等,2018)。而編程項目活動的開放性能為學生編程創新能力的培養提供空間、支架和平臺。

一是提供創新活動的空間。學生在單元主題活動中,需要經歷從問題分析到編程實現的全過程,項目活動可為學生方案設計、編程實現,以及根據執行情況進行優化和完善留下創新活動空間,以此促進學生的創新能力發展。

二是搭建知識建構支架。對單元活動搭建知識建構支架,有助于克服孤立知識點的學習和學用分離的問題,便于學生把相應的知識點進行關聯,在應用過程中創新編程成果。

三是創設多條探究路徑。面對結構不良問題,學生可從多個維度思考解決問題的方法,選擇最優實施路徑。編程教學活動要為學生創新活動搭建平臺,如為學生提供問題解決方案、確定最優路徑、選擇最合適的編程環境等??傮w而言,基于單元的編程項目活動應從課程的視角來審視編程教學,將編程方法貫通在整個單元教學過程中,讓學生在通過編程解決問題的過程中,實現從“技術消費者”向“技術應用創新者”轉型發展(Bates,2015)。

2.用跨學科任務促進編程探究實踐

跨學科任務是指為培養學生學科知識綜合應用水平而整合兩種及以上學科內容開展學習的主題教學活動安排,其本身具有綜合性、實踐性、探究性和開放性等特點(吳剛平,2022)。相較于某一學科知識的學習,跨學科任務設計與實施為學生融合多學科知識、創新解決問題方法、提高綜合創新能力提供了支持。

其一,跨學科任務強化編程知識與其他學科知識的融合??鐚W科任務具有較強的綜合性,涉及的知識與技能不再局限于某一學科,因而需要調動和綜合運用多學科知識來解決問題。編程創新活動中,跨學科任務有助于實現從“學科知識邏輯序列學習”向“以活動為主要形式的學習”發展,其更強調學生在“做”“實驗”“探究”“創作”等一系列活動中發現和解決問題,強化編程與其他學科內容間的相互聯系和支持,有助于促進學生“編程+”創新能力的發展。

其二,跨學科任務加強編程方法與其他學科方法的融合??鐚W科任務活動要求學生運用兩種或兩種以上的學科方法分析和解決問題,強調學科方法的融合,引導學生用跨學科視角理解問題。編程創新活動中,通過跨學科任務可加強跨學科學習內容與學生直接經驗的聯系,建立起“學科合作”的情境與任務,將編程方法與其他學科方法有機地聯系起來。例如,在“編程分析《紅樓夢》”文本數據處理過程中,可結合編程解決問題方法與文學分析方法,建立新的跨學科文本分析模型,從而為文本分析提供新的視角。

其三,跨學科任務促進學生創新能力整體發展。創新能力亦具有整體性、綜合性、跨學科性的特征。當前課程研制中為體現學科“領域特殊性”和“相對獨立性”的特征,跨學科任務設計更關注不同學科所強調的創新能力培養。事實上,學生的創新學習活動與日常生活并不是割裂的,而是相互滲透、互相影響的,甚至在解決復雜生活問題過程中會生成綜合性的創新能力。例如,依托編程環境開展化學實驗數據分析,其可以可視化方式呈現數據變化、發現規律,體現出明顯的培養學生跨學科綜合創新能力的意圖。因此,以跨學科任務開展編程探究應立足實踐、著眼綜合創新,為學生創新品質的形成提供彈性、綜合的空間(田慧生,2001),在積極探索和協同合作的過程中促進學生創新能力的整體發展。

3.依托智能環境推動編程創新成果實現

隨著人工智能的迭代發展,智能技術支持下的編程環境日趨豐富,其智能程度也越來越高,不僅可提供編寫與執行程序的功能,還具備程序跟蹤與語法檢查的功能。智能編程環境可為學生減少繁瑣的代碼編寫工作提供支撐,從而讓學生將更多的時間用在設計創新方案、優化創新過程、完善創新成果等方面。因此,編程創新教育要合理應用智能化編程環境,提高程序編寫效率,促進編程創新成果的實現。

一是合理應用編程環境中的代碼跟蹤與評判功能,提高編程質量。一些高級程序設計語言能借助智能分析工具跟蹤、分析和評判學生代碼編寫的準確性,并通過代碼編輯、自動代碼補全、代碼調試等對程序代碼進行優化。因此,編程過程中可使用這些功能及時發現程序編寫中的問題,對編程作品進行調整和優化,不斷提高編程質量。

二是有效采納編程環境中的個性化指導建議,提高編程效率。一些在線編程環境通過收集用戶的編程數據,可根據用戶編程的特征、習慣和項目需求為其生成程序模板,或者提供程序片段、函數庫等相關資源??梢?,有針對性地應用編程環境中的個性化指導與建議,可有效實現程序模塊的復用與轉換,從而提高編程效率。

三是發揮智能編程環境的代碼生成與注釋功能,不斷優化編程創新成果。生成式人工智能可利用訓練模型并根據用戶的編程需求自動生成編程結果,對程序設計產生了革命性影響。在編程解決問題過程中,合理應用智能編程環境的代碼生成與注釋功能,可快速執行和驗證編程方案,并不斷優化編程創新成果。

當前,人工智能作為數字科技創新發展的核心動力,為新一輪產業革命注入了新興力量。大數據、超算力、大模型等新技術的突破推動了人工智能從專用人工智能向通用人工智能的發展,創生出全新的智能化生存環境。在此背景下,編程教育不應再停留于早期程序設計語言的語法記憶與代碼編寫上,而是要以編程項目活動為“橋梁”,支持學生通過“編程+”的理念創新解決問題的新路徑、新方法和新策略。

參考文獻:

[1]全國中學計算機教育研究中心(1991).全國中小學計算機教育資料匯編[M].北京:電子工業出版社:63-64.

[2]孫立會(2023).“非計算機化”兒童編程教育教學模式的構建與應用[J].現代教育技術,33(2):52-60.

[3]田慧生(2001).綜合實踐活動的性質、特點與課程定位[J].人民教育,(10):34-36

[4]王吉慶(2001).信息素養論[M].上海:上海教育出版社:118.

[5]王小明(2009).學習心理學[M].北京:北京中國輕工業出版社:231.

[6]吳剛平(2022).跨學科主題學習的意義與設計思路[J].課程·教材·教法,42(9):53-55.

[7]熊梅,李洪修(2018).發展學科核心素養:單元學習的價值、特征和策略[J].課程·教材·教法,38(12):88-94.

[8]楊向東(2017).基于核心素養的基礎教育課程標準研制[J].全球教育展望,46(10):34-48.

[9]張進寶(2019).計算思維教育:概念演變與面臨的挑戰[J].現代遠程教育研究,31(6):89-101.

[10]中華人民共和國教育部(2020).普通高中信息技術課程標準(2017年版2020年修訂)[S].北京:人民教育出版社:2-3.

[11]中華人民共和國教育部(2022).義務教育信息科技課程標準(2022年版)[S].北京:北京師范大學出版社:5-28.

[12]中華人民共和國中央人民政府(2017).國務院關于印發新一代人工智能發展規劃的通知[EB/OL].[2023-01-07].https://www.gov.cn/zhengce/content/2017-07/20/content_5211996.htm.

[13]Bates, S. (2015). From Consumer to Creator: Students as Producers of Content[EB/OL]. [2023-07-02]. https://flexible.learning.ubc.ca/case-studies/simon-bates/.

[14]Erümit, K. A., Karal, H., & Sahin, G. et al. (2019). A Model Suggested for Programming Teaching: Programming in Seven Steps[J]. Egitim Ve Bilim-Education and Science, 44(197):155-183.

[15]LEGO Education (2020). Blended Learning with LEGO Education[EB/OL]. [2023-07-02]. https://education.lego.com.

[16]Moody, R. (1978). The First Book of Microcomputers[M]. New Jersey: Hayden Book Company:11-29.

[17]Nouri, J., Zhang, L., & Mannila, L. et al. (2020). Development of Computational, Digital Competence and 21st Century Skills When Learning Programming in K-9[J]. Education Inquiry, 11(1):1-17.

[18]Papert, S. (1993). Mind-Storms: Children, Computers, and Powerful Ideas[M]. New York: Basic Books:80-93.

[19]Rogerson, C., & Scott, E. (2010). The Fear Factor: How It Affects Students Learning to Program in a Tertiary Environment[J]. Journal of Information Technology Education, 9:147-171.

[20]The Harvard Graduate School of Education (2011). Creative Computing Curriculum[EB/OL]. [2023-07-02]. http://creativecomputing.gse.harvard.edu/guide/curriculum.html.

收稿日期 2023-07-05 責任編輯 劉選

How to Cultivate Students’ Innovation Ability in Programming Education in the Intelligent Ara:

Connect “Learning to Code” to “Coding to Innovate” Through Programming Project Activities

LI Feng, YUAN Yuxing, GU Xiaoqing

Abstract: In the digital transformation of the digital education, programming education in the intelligent era is given the important mission of cultivating students’ innovation ability and serving the construction of an innovative country and a technological superpower. However, influenced by the technological instrumentalism, there are still such misconceptions in the current education as equating programming education with learning programming languages, simplifying it into imitation exercises of programs, and even alienating it into training students for programming test. In fact, with the rapid innovation and popularization of computer and artificial intelligence, programming education is constantly developing in the educational philosophy, goal identification, content selection and method design. It has formed an evolution path of programming education, that is, “learn to code” with knowledge and skills as the main content, “code to learn” with problem-solving as the key skill, and “code to innovate” with programming innovation as the important ability. In the intelligence era, programming education should break through the limitation of traditional programming education in terms of learning content, teaching mode and instructional methods. It should integrate the process of programming exploration, optimize programming innovation achievements, and construct a spiral upward innovation path. At the same time, it is necessary to provide learning support from aspects such as the integrity of project activities, the comprehensiveness of interdisciplinary tasks, and the usability of intelligent programming environments in accordance with the needs of educational practice, to promote the development of students’ innovation ability.

Keywords: Intelligent Era; Programming Education; Cultivation of Innovation Ability; Programming Teaching Mode; Information Science and Technology

猜你喜歡
信息科技智能時代創新能力培養
世界機器人總動員
新媒體時代食品安全迎來智能時代
研究生創新培養的“步態追蹤”模式
創新能力培養:“管理學原理”教學改革的一條紅線
淺論小學數學課堂教學中學生創新能力的培養
智慧旅游景區發展存在的問題和對策研究
關于新時期博物館的陳列思考
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合