師文浩 王睿嫻 王立生 東北師范大學盤龍實驗學校
指向計算思維培養的信息科技實驗教學,要從學生的生活場景入手,創設真實問題,引導學生思考問題解決方案,并對問題進行抽象。實驗過程應一步一步展開,體現任務的分解。實驗結果應指向科學原理的解釋,通過實驗幫助學生感受原理、理解原理。實驗內容的組織要考慮多種場景,引導學生進行歸納和比較,從而幫助學生實現遷移。教師的指導要有針對性,對于學生不易理解的實驗現象,要及時給予解釋說明,幫助學生透過現象看本質。
《義務教育信息科技課程標準(2022年版)》第四學段(7~9年級)的學習內容由互聯網、物聯網和人工智能等相關內容構成。此學段的計算思維培養目標之一是“知道網絡中的信息編碼、傳輸和呈現的原理”。
在第二學段(3~4年級)考慮到學生的思維發展和知識儲備情況,并未涉及“信息編碼和處理”的學習,而是讓學生直觀感受生活中的編碼應用。學生在學習第四學段的“編碼與二進制”的相關內容時,要進一步理解編碼對信息系統的意義,要了解信息系統如何對不同類型的內容進行編碼和處理。
在初中階段,學生的抽象邏輯思維開始占優勢,但是還需要感性經驗思維的支持。因此,信息科技實驗教學設計要多以實際操作中的直觀體驗為主,盡量以“看得見、摸得著”的案例為抓手,引導學生通過感受實驗過程來理解知識的本質。
“在一個漆黑的夜晚,你的爸爸媽媽督促你趕快睡覺,但是你卻想跟你的好友暢談。你沒有電話(即使有也會被父母聽到),你家的計算機也不在你的房間。好在你的好友和你住在一個小區,并且就在你家對面那棟樓。你可以怎么辦?”這是美國知名技術作家Charles Petzold所著的經典科普書籍《編碼》中給出的第一個情境。在教學設計中,筆者利用此情境激發學生的好奇心,引導他們進行思考。
學生經過思考和討論,給出的答案主要分為兩類:聲音傳播和光線傳播。教師引導學生理解信息傳播可以通過不同載體實現,除了聲音和光線,還可以通過氣味等來傳遞。同時,學生提出可以使用摩斯電碼來傳遞信息(這正是《編碼》里給出的答案),并采用手電筒來發送摩斯電碼。
首先,教師準備一張“左右手電碼操”的指示說明,請一位學生上臺,兩手分別握住一個電筒,根據指示做操,“左”即舉起左手,“右”即舉起右手。其他學生在下面觀察并記錄舉手的情況,抬起左手就記錄下“左”,抬起右手就記錄下“右”。這一步模擬的是在夜晚通過抬手動作傳遞信息的過程。
教師提出,由于記錄“左”“右”的時候寫字比較費時,可以做一個簡化,將“左”記錄為“0”,將“右”記錄為“1”,由此引出二進制數的表示方法,并對二進制和十六進制進行講解,講解內容包括“什么是二進制和十六進制”“二進制、十六進制和十進制之間如何轉換”等。需要注意的是,初中階段不要求學生掌握復雜的數制轉換,而要了解原理。學生在教師的指導下,將記錄的“二進制左右手操”轉換為十六進制,如圖1所示。

圖1
學生對通過動作傳遞的“密碼”4F60597DFF0C540C5B66進行“解密”。首先,將“密碼”寫到一個Word文檔里,從左至右選中四個字符,接著,按下“Alt+X”。用同樣的方法操作接下來的四個字符,在依次完成后,文檔上出現了“你好,同學”(“解密”完成)?!懊艽a”4F60597DFF0C540C5B66實際上是“你好,同學”這些字符的Unicode編碼。教師進一步講解Unicode編碼的具體表示方法,并通過Word中的字符編碼表來進行探究(如圖2)。

圖2
第一個實驗主要是為了讓學生體驗數據編碼的過程,學生初步感受到了編碼的意義和過程,但是還需要進行梳理。教師講解:“剛才的步驟實際上就是編碼的過程。一位同學通過他的左右手動作傳遞了信息,接收人用‘0’和‘1’(也就是二進制數)對動作進行了編碼,然后將它轉換為十六進制數,接著進行Unicode編碼,得到了最終的內容‘你好,同學’。由此可見,編碼其實是把信息從一種形式轉變為另一種形式的過程,轉變的目的是統一格式,方便傳播和處理?!?/p>
在計算機中,所有的內容都是用二進制數0和1表示的,下面通過一個實驗來說明。
準備兩張位圖圖片,其中pic1.bmp是一張隨機圖片(如圖3);pic2.bmp是專門繪制的圖片(如圖4),由紅、黃、藍、綠四種顏色構成,分別占據圖片的四分之一。兩張圖片均設置大小為50*30像素。準備三款軟件,一款用于圖像編輯(以Windows自帶的畫圖工具為例),一款用于查看文件的二進制內容(以BinaryViewer為例),一款與圖像不相關(以GoldWave為例)。

圖3

圖4
學生通過拖拽的方式分別用三款軟件打開圖片:將圖片拖拽至畫圖工具,打開圖片并可以進行編輯;將圖片拖拽至GoldWave,無法打開圖片,顯示“格式無法識別”;將圖片拖拽至BinaryViewer,即顯示圖片的二進制內容。
同桌兩人一組,一人利用BinaryViewer打開pic1.bmp,另一人利用BinaryViewer打開pic2.bmp(如下頁圖5),兩人對打開的圖片進行對比,發現兩張圖片用BinaryViewer打開后,顯示的都是十六進制內容,進一步觀察發現,兩張圖片前面部分是相同的(文件一般都采用“文件頭+文件內容”的結構。兩張圖片前面相同的部分就是“文件頭”,用于描述文件的基本信息)。

圖5
學生利用BinaryViewer打開pic2.bmp,觀察后面的“文件內容”部分發現,“文件內容”是“E8A200”“4CB122”“241CED”“00F2FF”這幾個十六進制數的循環。教師指導學生將“E8A200”轉換為三個十進制數(可以通過計算器實現),得到“232,162,0”,打開畫圖中的調色板,將三個數分別輸入到“藍、綠、紅”的位置,得到的顏色就是圖片左下角的藍色。用同樣的方法可以得到綠色、紅色和黃色(對應圖片中的四種顏色)。
教師引導學生觀察四組十六進制數的出現頻率,發現“E8A200”循環出現25次,接著“4CB122”循環出現25次,兩組數交替出現,經過15次以后,才出現“241CED”和“00F2FF”,出現的規律與前兩組一致。教師講解:“圖片文件是由像素點構成的,實驗的圖片由30行每行50個像素點構成。bmp圖片的內容是每個像素點上的顏色值從下到上、從左到右排列存儲的,可以通過示意圖進行理解(如圖6)?!?/p>

圖6
學生經過文字編碼和圖片編碼實驗,已經能夠理解計算機利用二進制數表示信息的方法。在總結升華階段,教師可以引導學生思考兩個問題。問題1:在信息科技的發展過程中,為什么選擇用二進制數來表示信息?問題2:計算機真的認識“0”和“1”嗎?
問題1需要回答“二進制數進行信息編碼的可行性和優越性”。①可行性方面:只需要有兩種狀態,就可以表示現實世界中的所有概念,因此,采用二進制數編碼信息是可行的。②優越性方面:編碼的目的是統一格式和方便處理,任意兩種獨立的狀態都可以表示二進制,因此容易實現。
問題2的答案是否定的,計算機中各個部件采用不同的方法來表示二進制,CPU采用“高”“低”電位來表示二進制,硬盤采用“正”“負”磁極來表示二進制,光纖采用“強”“弱”光來表示二進制等。這些不同的方法最后統一起來,就描述為“0”和“1”。
通過實驗和探究,學生從原理和現象上了解了計算機信息編碼的方法和過程,促進了計算思維的培養。