董申 冷曉莉
摘要:學生發(fā)展核心素養(yǎng)是能夠適應終身發(fā)展和社會發(fā)展需要的必備品格和關鍵能力,信息意識、計算思維、數(shù)字化學習與創(chuàng)新、信息社會責任是信息技術學科的核心素養(yǎng)。文章闡述了編程教學與提升學生信息技術學科核心素養(yǎng)的關系,并就中學如何在編程教學中提升學生信息技術核心素養(yǎng)提出具體策略。
關鍵詞:核心素養(yǎng);編程教學;教學策略
中圖分類號:G434 ?文獻標識碼:A ?論文編號:1674-2117(2021)S2-0093-04
研究表明,編程可以積極正向地促進兒童的個體發(fā)展,能夠顯著地積極促進學生的認知發(fā)展、行為發(fā)展以及情感發(fā)展,且對學前兒童、小學生及中學生的個體發(fā)展均具有顯著的促進作用。[1]編程教育要站在學生發(fā)展核心素養(yǎng)的角度,從學生適應社會生活、接受高等教育和未來職業(yè)發(fā)展的角度開展編程教學。在以高度數(shù)字化、智能化為代表的新一代工業(yè)技術革命興起之時,提升學生的信息技術學科核心素養(yǎng)顯得尤為重要。
信息技術學科的核心素養(yǎng)
學生發(fā)展核心素養(yǎng)是能夠適應終身發(fā)展和社會發(fā)展需要的必備品格和關鍵能力。《普通高中信息技術課程標準(2017年版)》中提出高中信息技術學科核心素養(yǎng)的四個核心要素,即信息意識、計算思維、數(shù)字化學習與創(chuàng)新和信息社會責任。全面提升學生信息技術學科核心素養(yǎng)是信息技術課程的主要目標。學科核心素養(yǎng)包括尋求問題解決的學科思維方式、指向問題解決的中間層及處于最底層的雙基層。[2]這意味著信息技術學科,不僅僅要傳授學生基礎信息技術的知識與技能,更要培養(yǎng)學生的社會適應能力和生存能力。
編程教學對信息素養(yǎng)的促進作用
編程教學與信息技術學科核心素養(yǎng)的培養(yǎng)有著密切的聯(lián)系,是培養(yǎng)學生核心素養(yǎng)的可行途徑之一。編程的過程本身就蘊含著計算思維的思想;在編程的學習過程中,學生可以有效開展數(shù)字化學習,同時提升學生的創(chuàng)新能力;在編程解決實際問題的過程中,學生能充分感受到信息的價值,主動地尋求恰當?shù)姆绞教幚硇畔?,意識到使用信息技術時承擔的社會責任。在核心素養(yǎng)的視角下,編程教學可以培養(yǎng)學生學會使用信息社會的思維方式和工具來解決問題,幫助學生理解當今數(shù)字化世界的運轉方式,使其成為合格的數(shù)字公民。
編程教學中提升學生信息素養(yǎng)的實施策略
1.基于真實情境設計開放式問題,給予學生探究空間
學科核心素養(yǎng)的提升并不能通過簡單的知識傳授來實現(xiàn),而需要學生不斷在真實情境中通過對問題的解決逐步培養(yǎng)。在編程教學中可以設計基于真實情境的開放式編程問題,讓學生圍繞真實問題,搜集信息,尋找問題解決的方案。開放式問題給學生更多的探究空間,真實情境幫助學生建立學習與生活的關聯(lián),兩者都能激發(fā)學生的學習動力。學生在尋找問題解決方案的過程中,需要自覺、主動地尋求恰當?shù)姆绞絹慝@取信息,并采用有效策略對信息來源的可靠性、內(nèi)容的準確性、指向的目的性做出合理判斷。這有助于提升學生對信息的敏感度和對信息價值的判斷力,并培養(yǎng)學生的創(chuàng)新能力。
探究性編程問題舉例:在日常生活中,很多人都會在晚飯后散步,其實簡單的走路是一種很不錯的運動減肥方式。(1)你能否設計一個程序?qū)⒉綌?shù)轉換成卡路里?(2)如果利用智能手機實現(xiàn)上述功能,可以怎樣設計?
在問題(1)中,學生要分析出步數(shù)與卡路里存在怎樣的關聯(lián),這需要查詢相關信息,建立模型,才能進行算法設計、解決問題。在問題(2)中,學生在了解手機中傳感器的基礎上,思考如何借助手機傳感器獲取數(shù)據(jù),實現(xiàn)通過記錄步數(shù)進而解決計算卡路里消耗的問題。在此過程中,學生要從真實世界中發(fā)現(xiàn)數(shù)據(jù),并對數(shù)據(jù)的價值做出判斷,有助于提升學生的信息意識,培養(yǎng)學生作為未來的從業(yè)者對數(shù)據(jù)的敏感度和創(chuàng)造性解決問題的能力。
2.用程序設計IPO模式確定問題,理清基本工作過程
程序設計方法中最常見、最基本的模式就是IPO模式。在編程教學中可以通過該模式明確問題的輸入和輸出,理清程序的基本工作過程。其中I是Input程序輸入,P是Process處理,O是Output程序輸出(如圖1)。
IPO確定問題舉例:ATM自動取款機可以實現(xiàn)金融交易的自助服務,代替銀行柜面人員的工作。(1)請列舉ATM自動取款機通常會提供哪些服務?(2)你能夠設計一個程序模擬ATM自動取款機密碼驗證的功能嗎?(3)你還能模擬ATM自動取款機其他的功能嗎?
用IPO模式對第二問進行確定——
I輸入:測試密碼(程序的開始)。
P處理:對密碼進行驗證匹配(算法)
O輸出:驗證結果(程序展示處理成果)。
在編程教學中,教師可以通過不斷地引導學生用“輸入—處理—輸出”IPO模式確定問題、分析問題,幫助學生提升問題界定、任務分解、特征抽象的能力,培養(yǎng)學生的計算思維。
在信息社會中,我們身邊有形形色色的信息系統(tǒng)。信息系統(tǒng)的基本工作過程就是輸入數(shù)據(jù)、處理數(shù)據(jù)和輸出數(shù)據(jù)。針對解決問題的不同,輸入數(shù)據(jù)和輸出數(shù)據(jù)的方法也有很多:常見的輸入有用戶手工輸入、文件輸入、網(wǎng)絡輸入、隨機數(shù)據(jù)輸入等;常見的輸出有屏幕顯示輸出、文件輸出、網(wǎng)絡輸出等。借助IPO模式,學生可以理清身邊信息系統(tǒng)的基本工作過程:系統(tǒng)的輸入是什么?系統(tǒng)的輸出是什么?系統(tǒng)在輸入與輸出之間進行了怎樣的處理?
計算思維是個體運用計算機科學領域的思想方法,在形成問題解決方案的過程中產(chǎn)生的一系列思維活動。站在學生未來發(fā)展的角度,即使學生未來不從事程序設計的工作,從使用者角度也可以借助計算思維清晰地理解身邊信息系統(tǒng)的基本工作過程。
3.“問題鏈”支持下的自主學習,助推學生數(shù)字化學習與創(chuàng)新
在編程教學中,因為學生的基礎或?qū)W習能力不同,容易出現(xiàn)教學進度難以把握、學習效果差異大、學生失去學習動力等問題?;凇皢栴}鏈”支持的自主學習,有助于在解決上述問題,同時能夠?qū)崿F(xiàn)學生個性化學習和隱性的分層。
在教學過程中,教師提前設計好一系列的學習問題和單元任務,通過在線平臺給出學生學習的路徑和必要的學習資源,如程序示例、動態(tài)原理圖片、測試問題、作業(yè)任務等;學生像闖關一樣,依據(jù)教師設計的“問題鏈”,不斷運行或修改示例程序,自主探究、分析、解決問題,在實踐過程中掌握相關知識;解決當前問題后完成評測,進入下一個問題,最終解決所有問題,完成單元任務。這種數(shù)字化學習實踐過程不僅幫助學生深化學習知識,還培養(yǎng)了學生理性思維、批判質(zhì)疑和勇于探究的科學精神,有效提升學生數(shù)字化學習與創(chuàng)新的能力。
不同階段學習內(nèi)容的特點不同,“問題鏈”的設計依據(jù)也有所不同。學習初期,教師圍繞基本的語句、語法、知識點,給出“問題鏈”及示例程序,學生運行程序后觀察運行結果。學生在教師提出的“問題鏈”的引導下,對程序的語句以及輸出結果進行分析,理解語句含義,并通過不斷思考與嘗試解決“問題鏈”中的問題,來檢測知識的掌握情況。
例如,在進行循環(huán)結構的教學時,首先給出正四邊形和五角星的程序,讓學生嘗試運行后觀察代碼,分析for語句、right()、forward()與繪制結果的關系(問題填空),并遷移到繪制其他多邊形(測試任務);然后給出螺旋線,讓學生分析與繪制多邊形的不同(選擇題),進而引入循環(huán)變量在循環(huán)體中的影響(動態(tài)原理圖片),修改程序繪制新的螺旋線(測試任務);最后給出多樣的螺旋紋程序示例,讓學生對比分析思考循環(huán)的意義,完成最終作品《創(chuàng)意螺旋紋》(如圖2)。
在學習中后期,問題復雜程度加大,“問題鏈”的設計可以圍繞計算思維的四個過程進行。計算機思維是一種使用工具高效解決問題的思路方法,它分為四個步驟:分解、模式識別、抽象化、算法。分解是將一個大問題拆解成許多小的部分,這些小部分更容易理解,讓問題更加容易解決;模式識別是識別不同問題中的模式和趨勢(共同點)的過程;抽象化是看待問題要抓住主要的本質(zhì)的東西,忽略其他的,去繁求簡,從以往的經(jīng)驗中得到規(guī)律并且舉一反三將它運用到其他的問題中;算法是一步步解決問題的具體過程。圍繞計算機思維的四個步驟作設計教學中的“問題鏈”,旨在讓學生充分感受計算機解決問題的過程與方法,并能遷移到相關問題的解決中。
例如,世界上有多種貨幣,你能不能為銀行設計一個貨幣兌換的程序?
貨幣兌換其實包含不同幣種之間的相互轉換,如人民幣換美元、美元換人民幣,人民幣換日元、日元換人民幣,美元換日元、日元換美元等。是現(xiàn)鈔兌換,還是現(xiàn)匯兌換?過程相對復雜。面對這樣的問題,將問題分解就顯得尤為重要。
分解:在這個問題中,我們需要將問題進行分解,可將其分為現(xiàn)匯買入、現(xiàn)鈔買入、現(xiàn)匯賣出、現(xiàn)鈔賣出四個相對獨立的問題。
模式識別:整個程序分為四個子模塊,每個模塊輸入顧客手里貨幣的種類和數(shù)量,輸出兌換后貨幣的數(shù)量。
抽象化:輸出=輸入*匯率。
算法:用戶輸入需要的業(yè)務類型,手里擁有的貨幣的種類和數(shù)量,需要兌換的貨幣的種類,最后程序輸出兌換后的金額。
4.編寫程序注重用戶視角,提升學生信息社會責任
信息社會責任是指信息社會中的個體在文化修養(yǎng)、道德規(guī)范和行為自律等方面應盡的責任。要踐行一種責任,首先需要了解這種責任的內(nèi)涵,其次需要從內(nèi)心對其認同并內(nèi)化。[3]在編程教學中,教師要引導學生建立用戶視角,考慮程序如何設計才能在解決實際問題的同時提升用戶體驗,并強調(diào)要安全并負責任地使用信息技術,如減少程序?qū)е碌陌踩[患、保護用戶的數(shù)據(jù)和信息、避免侵犯他人的數(shù)據(jù)和隱私。
例如,在ATM取款機密碼驗證的程序中,引導學生思考設置密碼輸入次數(shù)的重要意義,既要考慮到用戶操作失誤的可能性,不能只設一次,也不能不限制次數(shù),造成密碼被暴力破解的安全隱患。在設計編寫程序解決實際問題的過程中,學生可以更好地理解社會責任的內(nèi)涵,并不斷內(nèi)化認同信息社會責任感。
結語
編程教學要想擺脫傳統(tǒng)“程序員式”代碼編寫和語法學習的枯燥教學方式,就需要調(diào)整原有的教學策略并更加關注學生核心素養(yǎng)的發(fā)展。經(jīng)過教學實踐可以得出,通過在編程教學中設置基于真實情境的開放式問題、利用程序設計的IPO模式理清問題解決的過程、實現(xiàn)“問題鏈”支持下的學生自主學習和注重用戶的視角,可以有效助推學生計算思維、數(shù)字化學習與創(chuàng)新能力的發(fā)展,提升信息意識和信息社會責任。希望借助編程教學,為學生適應未來社會生活、接受高等教育和未來職業(yè)發(fā)展奠定堅實的基礎,這也是我們信息技術教育工作者肩負的使命。
參考文獻:
[1]孫立會,胡琳琳.編程真的能促進兒童的個體發(fā)展嗎?——基于28項實驗和準實驗研究的元分析[J].華東師范大學學報(教育科學版),2021,39(11):45-58.
[2]姚麗娟.基于學科核心素養(yǎng)的高中信息技術課堂教學設計與實踐研究[D].徐州:江蘇師范大學,2017.
[3]邱振華.核心素養(yǎng)視角下的初中編程教學研究[J].中國信息技術教育,2021(10):109-112.