高淑印


當今時代,互聯網、物聯網和云計算等技術促使數據飛速增長。數據成為最寶貴的生產要素,對數據價值的深度挖掘及應用,引發了以數據為核心的“大數據”時代的深刻變革,大數據已被視為21世紀的石油和金礦,數據驅動發展已成為大勢所趨。數據結構研究的是計算機存儲、組織數據的方式,是計算機科學研究的核心內容之一,對培養學生的信息意識與計算思維、深入理解并掌握信息技術學科知識與實踐方法、形成學科核心素養,具有非常重要的作用。因此,《普通高中信息技術課程標準(2017年版)》將《數據與數據結構》列為高中信息技術選擇性必修課程模塊1,是為學科興趣濃厚、學科專長明顯的學生提供的挑戰性的學習機會。
● 模塊的內容特點
本模塊是針對數據、數據結構及其應用而設置的,通過本模塊的學習,學生能進一步了解數據(包括大數據)的作用,在掌握常用數據結構的概念、特點、操作、編程實現方法等內容的基礎上,能對簡單的數據問題進行分析,選擇恰當的數據結構,并用一種程序設計語言編程實現,在問題解決過程中對數據抽象、數據結構的思想與方法有初步的認識。
“數據與數據結構”模塊分為“數據及其價值”“數據結構”“數據結構應用”三部分內容,并給出七條具體的內容要求。
1.數據及其價值
數據是現實世界中各種事物和現象的抽象化和符號化?,F代計算機處理的不再是單純的數值型數據,更多的是文本、圖像、聲音、視頻等非數值型多媒體數據。隨著信息技術的普及和快速發展,對數據的獲取和處理超越了科學計算的范疇,擴展到社會經濟的各個領域,產生了越來越高的價值。
2.數據結構
為了更加高效地處理大量數據,需要把數據組織為合理的結構,并針對需要解決的問題進行不同層次的抽象,降低問題解決方案的復雜度。數據結構是本模塊的核心內容,主要包括數據結構的概念、數據的存儲結構、常見數據結構的概念及基本操作、抽象數據類型等內容。
3.數據結構應用
數據結構應用部分主要是引導學生理解如何利用常見的數據結構解決生活中的實際問題,體驗問題解決的一般過程。
● 教學規劃
1.內容規劃與課時建議
本模塊建議在高二年級開設,每學分18課時,本模塊為2學分需36課時完成。課程教學的規劃要依托相應版本教材進行設計,筆者以人教-中圖版高中《信息技術》教材為例,建議課時如上頁表1所示。
2.學科核心素養與學業要求
本模塊的教學要樹立以學科核心素養為綱的課程觀,教學實施與教學評價應基于學科核心素養展開,兼顧課程標準中內容要求與學科核心素養、學業要求等方面的對應關系(如表2)。滲透項目式學習方法,從優化學習方案的設計入手,改善教師的教學,促進學生提升信息素養。
● 教學策略
在教學中,要緊密聯系學生生活實際,通過設計適宜的范例和有意義的項目主題,引導學生理解數據結構、抽象數據類型等基本概念。感知數據抽象、數據結構的思想與方法,理解數據結構與算法的關系,掌握選擇恰當的數據結構解決生活實際問題。
第一,分析數據與社會各領域的關系,理解數字、數值和數據的基本含義,認識數據作為新的原材料、生產資料和基礎設施的價值與意義。
隨著信息技術的發展,數據已經不再是結構化的、簡單的數字和數值,更多的是非結構化的文本、圖像、音頻、視頻等數據,對數據的獲取和處理也已經拓展到社會經濟的各個領域。數據正在產生越來越大的價值。針對這部分內容的學習,可通過主題學習項目走進數據世界,了解數據的作用,理解數字、數值和數據的基本含義。教材圍繞主題“析說身邊數據”開展項目學習,建議從比較感興趣的身邊事例入手,選擇常用的移動應用程序、可穿戴智能設備、共享服務實例、網上購物、智慧交通、智慧醫療、智慧校園、智能家居等作為主題,并結合主題有目的地搜集、整理和分析數據,使用思維導圖設計項目方案,分析數據與社會相關領域的關系。通過剖析項目涉及的實際問題,認識并理解數據作為新的原材料、生產資料和基礎設施在其中的價值和意義,更深入地體會大數據對國家、社會和個人的影響。
建議每章用一個主題學習項目來涵蓋本章的全部內容,按照項目實施進度,將項目分為若干過程或小主題,在每節中完成項目的一個過程或一個小主題。
第二,理解數據結構的概念,認識數據的存儲結構,理解數組、鏈表等基本數據結構的概念及基本操作,比較數組、鏈表的區別,明確上述兩種數據結構在存儲不同類型數據中的應用。
這部分內容概念較多,建議從基礎概念的理解入手。例如,中國漢字文化博大精深,用多義字排列組句,會組成含義不同的詞句,引出數據結構的概念。從數據結構角度來看,漢字“讀”“書”“好”都是數據,其排列順序就是結構。以“田忌賽馬”典故為例,指出使用相同的數據,采取不同的結構,卻產生了不同的結果,由此引出數據結構的重要性。本章可圍繞“管理個人書目”開展項目學習,以小組為單位,在閱讀活動中發現并體驗數據結構實例,認識數據結構在解決問題過程中的重要作用,理解數組、鏈表等基本數據結構的概念,能夠根據需求選擇合適的存儲方式。通過完成項目程序“管理個人書目”,提升使用 Python語言編程的能力,為后面的學習打下扎實基礎。
項目學習建議以“邊看邊學邊實踐”的方式,做好典型教學環境和學習活動的設計。通過精細的學習設計,降低學生對教師的依賴,也有利于教師轉換角色,把主要時間和精力放在如何啟發、引導、幫助學生學習上,使教師成為學生真正的引導者、幫助者,充分體現“學生為主體,教師為主導”的教學策略。
第三,理解包括字符串、隊列、棧在內的線性表的概念和基本操作,并編程實現。認識抽象數據類型對數據處理的重要性,理解抽象數據類型的概念,了解二叉樹的概念及其基本操作方法。
在計算機中,數據元素并不是孤立、雜亂無序的,而是相互之間存在某種聯系。分析它們的特性及其存在的關系,把數據組織為合理的結構,正是學習與研究數據結構的意義所在。數據結構不但在計算機原理、操作系統、算法與程序設計中有著重要應用,而且在現實社會的學習與生活中也隨處可見。學習應用數據結構,結合問題需求進行抽象,可以降低問題解決方案的復雜度。例如,本章以“數解傳統戲曲”主題開展項目學習,在了解戲曲藝術時,分析、挖掘戲曲諸要素之間關系的基本類型,探索其中蘊含的數據結構類型,理解線性表、隊列、棧等基本概念。通過編寫程序實現數據結構的基本操作,深入體會數據結構的實際應用。
項目主題的選擇要落實立德樹人根本任務,注意科學與人文有機融合,要讓學生在學到自然科學知識的同時受到良好的人文主義和傳統文化的精神熏陶。戲曲項目的引入,讓讀懂戲曲藝術有事半功倍的效果,還可以在課程中融入中華優秀傳統文化要素,滲透愛國主義教育。
第四,通過實現數據的排序和查找,體驗迭代和遞歸的方法,理解算法與數據結構的關系。
算法是描述解決問題的方法?,F實世界中的問題千奇百怪,算法自然也是千變萬化的??梢允褂盟阉饕娴墓ぷ髟韥韼椭鷮W生理解算法與數據結構,這樣既能聯系已有認知,又能提升認知水平。例如,當有人在搜索引擎上輸入一個關鍵詞進行搜索時,它會在很短時間內,在索引數據庫中檢索到所有包含關鍵詞的網頁,并依據人們的瀏覽次數與關聯性等,通過一系列算法確定網頁級別,排列出順序,最終呈現在網頁上。由于不同搜索引擎使用的算法不同,呈現的搜索結果頁面也不相同。由此引出,購物推薦、新聞推送、旅游出行和社交通信等各種信息服務在生活中隨處可見,背后起著重要作用的就是算法,而數據結構又是算法研究的基礎。從而通過項目學習,進一步理解算法與數據結構的關系,編程實現數據的排序和查找,體驗迭代和遞歸的方法,解決生活中的實際問題。
選擇性必修課程相比必修課程內容難度要求有所增加,學生的思維發展存在“由淺入深、由易到難、循序漸進、螺旋上升”的特性,學習活動的設計要有利于激發學生的深度思考,引導學生通過實踐方式把學習的技能、方法遷移到新的情境中,并有所創新。