焦晨瀟 王愛勝
在信息科技新課程的推進中,進行一線教學(xué)資源的構(gòu)建將會促進多維度課程建設(shè)與教學(xué)研究的深入開展,對建設(shè)豐富的課程生態(tài)具有積極的意義。因此,本期解碼我們將探討師生創(chuàng)作與利用課程資源對課程生態(tài)的重要意義。
摘要:本文以通過探索信息科技新課程中“算法”邏輯主線的課程學(xué)習以達成“計算思維”學(xué)習目標的資源創(chuàng)新與創(chuàng)作為例,分析重“法”輕“碼”認知產(chǎn)生的學(xué)習瓶頸,采用類比閱讀與數(shù)據(jù)實驗的創(chuàng)新方式,嘗試探索貼近學(xué)生年齡特點的故事化“跨學(xué)科閱讀”與“不插電閱讀”的系統(tǒng)化設(shè)計,以“法”“碼”平衡為信息科技課程的“計算思維”探索趣味化的深度學(xué)習資源,助力豐富的課程生態(tài)建設(shè)。
關(guān)鍵詞:計算思維;類比閱讀;數(shù)據(jù)實驗
中圖分類號:G434? 文獻標識碼:A? 論文編號:1674-2117(2024)01-0025-04
隨著《義務(wù)教育信息科技課程標準(2022年版)》(以下簡稱“新課標”)的頒布,“計算思維”成為信息科技課程培養(yǎng)學(xué)生核心素養(yǎng)的重要內(nèi)容,而“算法”這一邏輯主線將貫穿中小學(xué)信息科技課程。因此,如何更好地轉(zhuǎn)向以算法為邏輯線索的計算思維教育,共建中小學(xué)一體化的信息科技課程新形態(tài)變得十分重要。鑒于“計算思維”與“算法”在中小學(xué)信科技課程中的重要地位,筆者基于“法(算法)”“碼(代碼)”平衡的視角,嘗試系統(tǒng)探索程序、算法學(xué)習與計算思維培養(yǎng)融合的閱讀設(shè)計與數(shù)據(jù)實驗。
“法”與“碼”平衡的課程生態(tài)分析
由于新課標重視“算法”認知,在一定程度上弱化了“代碼”編程,而更傾向于用“碼”驗“法”的算法驗證,因此,如何通過技術(shù)實驗、數(shù)據(jù)驗證來學(xué)習算法成為新的研究方向。另外,受中考、學(xué)考及高考等的影響,對以代碼(C++、Python)編程為載體的程序、算法、計算思維的考查仍因極具“可操作性”而難以摒棄,要在短期內(nèi)弱化“代碼”的“支撐”作用,還存在很多困難。算法設(shè)計如果用“紙質(zhì)的形式化推演”來代替編程,會在算法深刻體悟、效率直觀認知及知識局限等方面發(fā)生“歧變”,單純的課堂學(xué)習也易走上“務(wù)虛”的說教式形式主義,更多教師會讓也不得不讓學(xué)生通過補學(xué)“代碼”來打基礎(chǔ),這樣就會增加學(xué)生的課業(yè)負擔。因此,筆者基于計算思維的構(gòu)成要素,提煉基礎(chǔ)算法思想,濃縮中小學(xué)生必備程序知識,運用學(xué)生喜聞樂見的武俠故事設(shè)置學(xué)習情境,架構(gòu)類比閱讀的學(xué)習資源,從易到難,環(huán)環(huán)相扣,形成“閱讀學(xué)算法,不插電學(xué)編程”的新思路,讓學(xué)生在一個個精彩的故事中學(xué)習計算思維與算法,提高對算法與程序設(shè)計的整體認知。這種追求生動的課外閱讀活動,以故事類比閱讀幫助學(xué)生輕松了解、掌握算法思想與程序設(shè)計,培養(yǎng)了學(xué)生的計算思維、算法思想與工程思維,助推了信息科技課程系統(tǒng)、有機的“法”“碼”平衡學(xué)習生態(tài)建設(shè)。
閱讀設(shè)計:對程序、算法與計算思維進行擬人故事化處理
筆者在創(chuàng)作《編程江湖》一書時,以擬人化的系統(tǒng)故事情境及虛擬的武俠小說對“算法”“計算思維”與“程序”進行融合學(xué)習設(shè)計。全書分三卷、九章、三十六回,在尋劍、弩攻、爭鋒的故事場景中,把各種計算語言作為江湖門派,生動有趣,以程序?qū)嵗腿宋镄愿裾宫F(xiàn)算法與語言的特點,用劍術(shù)、劍法、劍道類比程序知識、算法思想和計算思維,以盤龍陣、飛花令、套娃、擊劍比賽、劍法擂臺賽及算術(shù)動物園、派森英雄榜等趣味程序項目實踐來降低認知難度,提高學(xué)習效益。
故事情境、人物語言與行為具有親和力和形象感是閱讀設(shè)計的效度要素。例如,人物的知識與技術(shù)融合中國功夫、兵家陣法等文化元素,以提高對編程技術(shù)與算法的理解力和應(yīng)用性;程序范例結(jié)合古今中外的經(jīng)典案例與優(yōu)秀算法,以提高算法學(xué)習的典型性與可操作性。故事中的人物相對獨立,但在學(xué)習中會將他們作為一個“程序、算法與計算思維的編程能力”整體來對待。例如,派森恩喜“劍術(shù)”,是Python編程知識的形象類比;韓青鋒會“劍法”,是算法思想的形象類比;姬思木懂“劍道”,是計算思維的形象類比。眾所周知,計算思維、算法與程序設(shè)計常需要融合學(xué)習,在閱讀中,讀者自然吸取各人之長,視他們?yōu)橐粋€團隊,或同一個“真實人”的多項能力。讀者在學(xué)習之外,會逐步兼具三人優(yōu)秀品質(zhì),規(guī)避如姬思木體質(zhì)柔弱、派森恩話多語碎、韓青鋒沉默寡言等“暗喻”的缺陷。整個故事的發(fā)展,也正是三人相互促進、揚長避短、克服缺點的成長過程,如姬思木“健康”了(暗喻計算思維強化實踐),韓青鋒“愛笑”了(暗喻算法生動有趣),派森恩“務(wù)實”了(暗喻程序知識學(xué)以致用)等,對讀者極具不斷成長的教育意義。
類比演繹:把程序知識通俗融入算法與計算思維
類比式演繹知識與實踐,是對較難理解的技術(shù)、原理有效“破壁”的策略之一,為教師“闡釋”和學(xué)生“理解”提供橋梁作用。在《編程江湖》一書中,筆者不僅發(fā)揮了常規(guī)類比的作用,還以故事來演繹類比,讓過程更具可讀性。
第一,程序知識的類比演繹。例如,以基本功類比“交互式”程序命令,將“套路”演繹程序作為指令整體的“算法”流程意義。將輸入、運算、輸出類比為“吸氣”“運氣”“呼氣”的基本過程,將int()、round()函數(shù)類比成“斷舍離”劍術(shù),將字符串的切片類比成“斬蜂群”,將列表和復(fù)合列表類比成“盤龍陣”和“群龍陣”,以及將自定義函數(shù)和調(diào)用類比成“戰(zhàn)隊”與“指揮”,在故事演繹中用各種生動、形象、貼切的類比讓學(xué)習更有趣、理解更有效。
第二,算法設(shè)計的類比演繹。通過在行軍中對順序、判斷和循環(huán)的類比演繹,不斷發(fā)展到在戰(zhàn)斗中“弩攻”時循環(huán)發(fā)射及死循環(huán)、中斷等類比演繹,扣人心弦又直觀有趣。對難度較大的“遞歸”算法,以套娃類比演繹,以“劍法”演繹遞歸過程,準確把握遞歸結(jié)構(gòu)與特點。在對數(shù)據(jù)搜索算法闡述時,以“尋箭”演繹,對照草地上的矩陣劃分,讓算法可懂又可用。對“排序”等算法,更是用大量篇幅進行劍法類比演繹,如在擂臺賽時把標準函數(shù)類比為“一劍封喉”的劍法,將“桶排序”類比為挑水舞蹈,將“冒泡排序”類比成冒泡劍法,將“插入排序”類比成插撲克牌游戲等,通過類比對基礎(chǔ)算法的描述、特征、應(yīng)用、功能進行演繹,讓算法變得好玩、好懂、好用。
第三,計算思維的類比演繹。一方面,筆者將計算思維的分解、抽象、模式、算法進行故事演繹。例如,用“各個擊破”分解猴群,用“化繁為簡”的簡筆畫探查敵情,用“照貓畫虎”識別背單詞的詞序模式。另一方面,通過有一定規(guī)模的作品設(shè)計,如“飛花令”“口算游戲”“剪刀石頭布”“派森英雄榜”等,融合計算思維與工程思維進行作品創(chuàng)作,讓學(xué)生系統(tǒng)體驗需求分析、問題分解、模塊化設(shè)計、抽象建模、技術(shù)迭代與產(chǎn)品泛化的計算思維綜合應(yīng)用,培養(yǎng)了學(xué)生的數(shù)字素養(yǎng)與技能。
數(shù)據(jù)實驗:用數(shù)據(jù)測試、觀察、分析、揭示算法的過程與功能
為直觀地體驗、理解算法,筆者設(shè)計了“數(shù)據(jù)實驗”開展各種方式的數(shù)據(jù)觀察,不僅提供如字符串、列表、數(shù)據(jù)類型等程序設(shè)計知識進行“程序執(zhí)行過程的數(shù)據(jù)觀察實驗”,更以“武功秘笈”的形式提供數(shù)據(jù)實驗“模板”,以“簡約高效”的實驗策略進行數(shù)據(jù)觀測與分析。例如,用“運行時間差異實驗”直觀對比不同算法的運行效率,實驗過程如圖1所示。
測試數(shù)據(jù)要具有可實驗的樣本效益,要么現(xiàn)場采集數(shù)據(jù),要么提前準備數(shù)據(jù)文件,還可以隨機生成數(shù)據(jù)等。現(xiàn)場采集的風險非常大,因為采集失敗或數(shù)據(jù)質(zhì)量對后期教學(xué)影響是巨大的。提前準備數(shù)據(jù)文件,文件形式可以是文本文件或電子表格等。因電子表格讀取需要安裝并引入pandas庫,且數(shù)據(jù)存儲、讀取要符合規(guī)范,所以使用時須謹慎。文本文件相對容易操作,但文本文件讀取時有不同的格式。
為此,筆者在實驗中引導(dǎo)觀察,使用“容錯”方法改進實驗,既體現(xiàn)了計算思維的技術(shù)細節(jié)“迭代”思維,又滲透了算法通用化的“泛化”思維。例如,對不同文本文件格式的容錯測試可用try/except來適應(yīng)多種數(shù)據(jù)提供模式,代碼如圖2所示。
綜上所述,筆者通過通俗閱讀算法故事,類比演繹算法基本思想和計算思維基本要素,降低認知難度,即通過數(shù)字素養(yǎng)與技能培育為信息科技課程的實施助力,通過構(gòu)建豐富的課程資源為“法”“碼”平衡的課程生態(tài)大廈添磚加瓦。
參考文獻:
[1]王愛勝.編程江湖[M].北京:清華大學(xué)出版社,2023.
[2]中華人民共和國教育部.義務(wù)教育信息科技課程標準(2022年版)[S].北京:北京師范大學(xué)出版社,2022.
[3]中華人民共和國教育部.普通高中信息技術(shù)課程標準(2017年版)[S].北京:人民教育出版社,2018.