張建鵬 吉林省長春市第二實驗中學
信息意識:培養(yǎng)信息數(shù)字化的敏感性,建立利用計算機處理問題的意識,分享解決問題的方法。
計算思維:分析問題,把問題抽象為二進制編碼,通過對二進制的數(shù)位分析,形成解決問題的模型,編寫程序,實現(xiàn)計算機可處理的問題。
數(shù)字化學習與創(chuàng)新:感受社會的數(shù)字化特征,體驗問題數(shù)字化的處理過程,體會數(shù)字化處理的意義。
信息社會責任:理解信息社會中二進制編碼的重要意義,提升信息社會的參與意識和能力。
(1)通過分析解決實例問題,形成分析、解決問題的一般方法,培養(yǎng)計算思維,提高運用信息科技解決問題的能力。
(2)通過教學活動培養(yǎng)實踐探究精神,體驗問題數(shù)字化的處理過程,激發(fā)情感,感受信息時代的特點,形成問題數(shù)字化處理的意識,培養(yǎng)創(chuàng)新思維。
本節(jié)課內(nèi)容出自廣東教育出版社出版的《信息技術必修1 數(shù)據(jù)與計算》第一章第二節(jié),旨在讓學生了解信息的二進制編碼的作用和意義,理解計算機處理信息的數(shù)字化過程,加深對計算機機器語言的認識,進而探究文字的編碼方式和不同字符集的差異,為下一步學習圖像、聲音的編碼奠定基礎。
數(shù)據(jù)編碼是計算機處理的關鍵,信息的二進制編碼對于計算機處理和存儲信息有著重要的意義。在學生學習了數(shù)據(jù)及其特征和二進制、八進制、十六進制與十進制等概念及相關知識的基礎上,有必要讓學生了解計算機處理數(shù)據(jù)的編碼方式和過程,為學生利用計算機科學知識去處理實際問題建立基礎認識,幫助學生提升計算思維能力。
(1)掌握二進制與十進制的轉換方法,理解二進制編碼的過程,掌握Python的調(diào)試過程。
(2)體驗數(shù)據(jù)二進制編碼的基本方法和過程,體會計算機處理問題的一般過程。
(3)激發(fā)對數(shù)據(jù)編碼的興趣,體驗問題抽象為符號的過程,感受計算機處理問題的自動化。
重點:把信息轉化為二進制編碼,認識文字編碼。
難點:理解計算機編碼的過程。
師:同學們有沒有乘坐高鐵的經(jīng)歷?對我國的高鐵發(fā)展了解多少呢?下面我們觀看一下宣傳片《新時代的中國高鐵》。(學生觀看)高鐵的快速發(fā)展使我們出行更加便捷了,購票、驗票、車上訂餐、高鐵的運行等都離不開計算機對數(shù)據(jù)的處理,那你們知道各種信息和數(shù)據(jù)是怎么成為計算機可處理的數(shù)據(jù)的嗎?
設計意圖:通過我國高鐵的發(fā)展,感受祖國的日益昌盛,通過高鐵信息的智能化,感受信息社會的高速發(fā)展,為學習數(shù)據(jù)的二進制編碼做鋪墊。
師:通過之前的學習,我們知道計算機可處理的數(shù)據(jù)只有0和1,現(xiàn)實世界中的各類信息需轉換為二進制才能被計算機處理,這樣就需要對信息進行二進制編碼,今天我們來共同探究一下信息的數(shù)據(jù)編碼。下面,先來解決一個問題。
問題一:一個探險小隊到沙漠探險,現(xiàn)在剩下六桶水和一桶透明的有毒液體,負責人員不小心把裝有有毒液體的桶和裝水的桶混到了一起,測試有毒液體的試紙只剩下三份,如何用這三份試紙測出哪桶是有毒液體呢?
任務一:小組活動,把信息轉化為二進制編碼方式(如表1),利用Python編寫程序處理這個問題,分享交流經(jīng)驗。
表1
問題解決步驟:①把七只桶按1~7編號,把數(shù)字1~7轉換為二進制編碼;②取出三個容器編號A、B、C,二進制數(shù)位從右側起,分別把第三位是1的桶取出樣本放入A容器,第二位是1的桶取出樣本放入B容器,第一位是1的桶取出樣本放入C容器;③利用試紙A、B、C分別檢測A、B、C三個容器內(nèi)的液體樣品,檢測出有毒的標記1,無毒的標記0;④把檢測結果按照從高位到低位的順序組合二進制編碼,就是有毒液體的桶的編碼。程序如右圖所示。
設計意圖:通過活動,讓學生參與合作探究學習,通過解決問題,體會把問題抽象為數(shù)字化的過程,理解計算機處理數(shù)據(jù)的編碼意義。讓學生體會計算機處理問題的自動化過程。
師:同學們通過二進制編碼的方式解決了問題一。計算機展示的豐富多彩的信息都是以二進制數(shù)據(jù)存儲和處理的,這就需要有更加復雜和統(tǒng)一的編碼,下面我們看一下文字的編碼。文字編碼是效率相對較低的編碼方式,有單字節(jié)碼和雙字節(jié)碼:①單字節(jié)碼,如ASCII碼;②雙字節(jié)碼,如國標碼(GBK)、統(tǒng)一碼(Unicode)。
(1)ASCII碼屬于單字節(jié)碼,包含33個標點符號、運算符號,10個阿拉伯數(shù)字,26個大寫字母,26個小寫字母和33個常用的不可見控制符。提供ASCII碼表。
任務二:利用Python的ord()和chr()輸出鍵盤上字符的十進制對應關系(如表2)。
表2
設計意圖:通過任務活動,觀察和思考基本字符的編碼方式,鍛煉學生獨立思考的能力,讓學生初步理解文字編碼的過程。
(2)漢字編碼:ASCII碼只包含英文、數(shù)字和一些控制符號,并不能表示漢字,能處理漢字的編碼有我國設計的簡體中文的GB(國標碼)和世界各國合作開發(fā)的Unicode(統(tǒng)一碼)。我們常用的漢字編碼GB2312是GB碼的一種,utf-8是Unicode的一種。
問題二:同學們是否遇到過打開文檔出現(xiàn)亂碼的現(xiàn)象呢?這是什么原因造成的?
任務三:利用Python交互式編程模式探究漢字的編碼。
①以字符串‘中文’為例,如表3所示。
表3
②對應編碼轉換文字,如表4所示。
表4
③互換編碼方式轉換對應編碼,這里直接轉換系統(tǒng)會提示錯誤,忽略錯誤直接轉換,如表5所示。
表5
師:不同的編碼方式去解釋對應的文字編碼,會出現(xiàn)文字對應錯誤的現(xiàn)象,這就是打開文檔出現(xiàn)亂碼的主要原因,解決方法就是安裝對應文件編碼的字符集。
設計意圖:讓學生看到編碼的不同表達方式,理解計算機抽象信息的形式,通過不同編碼的對比和亂碼原因的探索,加深學生對文字編碼的理解。
筆者通過開篇幾個問題的設計,讓學生感受祖國的繁榮昌盛,體會計算機信息處理對信息社會的重要意義,同時思考計算機可處理信息的數(shù)字化問題,接著通過趣味問題的設計,把問題抽象為符號問題,再處理符號問題的數(shù)字化,體驗問題的解決過程。
讓學生理解二進制編碼是把信息轉化為計算機可處理數(shù)據(jù)的重要方式,筆者通過任務活動,調(diào)動學生思考問題、分析問題、解決問題,通過通用字符編碼的認識和漢字亂碼原因的探索,加深學生對數(shù)據(jù)編碼的認識和理解。
在教學中,筆者適時介入引導,把控教學節(jié)奏,幫助學生突破問題的關鍵點,提升學生思考的深度和廣度,引導其從計算機的角度去思考問題處理的方式,進而鍛煉學生的計算思維能力。
點 評
自新課程實施以來,我們往往在信息科學原理與信息技術應用上分別下功夫,而兩者的結合卻不夠。本節(jié)課打破了知行分離的學習瓶頸,讓學生在對編碼的探索過程中感覺到編碼有用,且有大用處,并引導學生探索編碼的處理技術與構造過程。其中最明確的環(huán)節(jié)就是對有毒液體的辨別,首先是從算法意義上提出解決的辦法,然后是通過對桶號進行二進制編碼進行實驗分組,最后是進行編碼解決,這不僅體現(xiàn)了編碼,而且進行了計算解決問題的基本過程,真是一舉多得的教學設計。當然,這里面的算法難點是二進制編碼的分組實驗測試的“道理”,即按1分組有毒即桶號包含“1”,這一點成為算法的核心。由此,讓傳統(tǒng)的二進制編碼轉換難題成了次要難題,通過編程來進行轉換即可。接下來,再通過字符亂碼現(xiàn)象,在體驗中解釋漢字編碼的不同字符集,探討編碼的標準,就更自然,且具現(xiàn)實意義了。當然,前面檢測有毒液體的問題還要注意引導學生明確現(xiàn)實需要一定的綜合驗證和謹慎認定,單一依靠分組實驗可能影響對實驗的準確判斷。另外,本節(jié)課的引入在后面沒有呼應,這主要是由于其例對引入編碼的意義體現(xiàn)不夠,如果能從簡單的列車車次編碼引出,最后再提出購票訂單、座位動態(tài)管理等拓展思考,對引入稍作呼應,則會讓教學設計更加豐滿。