陳凱 王春艷
初中教學內(nèi)容中有計算機網(wǎng)絡相關的內(nèi)容,主要涉及計算機網(wǎng)絡的類型、功能、主要組成設備、局域網(wǎng)簡單組建等,在以往的教學中,筆者通常會結(jié)合講解、演示、開展組網(wǎng)實驗等方式來進行教學設計。在新課程標準背景下,在實施這一單元的教學設計時,筆者面臨著一個重要卻又讓人感到困惑的問題,那就是和網(wǎng)絡有關的這些內(nèi)容的教學應該如何與培養(yǎng)信息技術核心素養(yǎng)的目標緊密聯(lián)系起來。
幸運的是,筆者在日常工作中,積累了局域網(wǎng)組建的實際經(jīng)驗,這得以讓筆者能夠結(jié)合自身工作經(jīng)歷來實現(xiàn)相關教學內(nèi)容的設計。雖然一個簡單的星型拓撲的局域網(wǎng)的組建過程從硬件上說可以簡單到“將網(wǎng)線一端接入交換機,另一端接入計算機網(wǎng)卡”即可,但通過對日常工作經(jīng)歷的反思可知,在面對真實的工作和生活需求時,即便不考慮軟件和協(xié)議方面的設置,一個局域網(wǎng)的組建也并不僅僅是考慮如何將網(wǎng)線插到位那樣簡單,常遇見的問題還有諸如怎樣合理地設定工作流程、怎樣合理地設定多個交換機和多個電腦之間的關系、怎樣合理地對連接線路進行描述和記錄、怎樣選取合理的方法來尋找故障點等。張汶老師提出:“技術不是技術產(chǎn)品,不是技術成果,不是會說話互動的機器人,它的本質(zhì)仍然是一種問題解決方案?!盵1]相應地,一旦將網(wǎng)絡組建的內(nèi)容放置在復雜的真實場景中,就會發(fā)現(xiàn),教學內(nèi)容絕不可能只是告訴學生“這是什么產(chǎn)品”“這是哪種結(jié)構(gòu)”“這是怎樣的方案”,而是讓學生知道在問題解決過程中“需要什么”“可能有哪些方法去做”“應該如何去實施某個方案”。
因此,設計基于真實場景的問題解決的任務,是在課堂教學活動中落實核心素養(yǎng),尤其是思維培養(yǎng)的重要途徑。下面,筆者以在學校中組建局域網(wǎng)的任務為場景,用單元教學的形式串聯(lián)起“網(wǎng)線連接—貼標簽—畫網(wǎng)絡拓撲”這三個任務環(huán)節(jié),來幫助學生完成具有一定探究性的學習,希望學生不僅能從中了解到最基本的局域網(wǎng)組建的具體方法,還能同時體會到編碼、算法等與計算機科學有關的思維方法的運用。
網(wǎng)絡組建流程與生活化的算法
生活中的某些事件的處理,往往具有算法的某些特征,如:在一大堆網(wǎng)線中用尋線器找線,其方式和查找算法類似;制作網(wǎng)線后用測線器測線,由于并不知道線兩端的水晶頭究竟哪一個被做壞,所以先重做一端,如線不通再重做另一端,這就有了回溯算法的特點;在蠕蟲病毒爆發(fā)造成網(wǎng)絡風暴時,筆者從主交換機開始,往次級交換機逐層排查,這類似于遞歸的方法。
武健老師在本世紀初就提出了“生活算法”的概念,他認為“生活算法是非常樸實又極具可操作性的……它從思維的方法、行為的習慣以及發(fā)現(xiàn)問題的方向等角度向我們昭示了一種可以遵循的規(guī)律”。[2]筆者發(fā)現(xiàn),武健老師的許多觀點與計算思維培養(yǎng)的目標是契合的,盡管“計算思維”作為一個概念名詞2006年才被提出。今天重提“生活算法”一詞,其意圖是想讓抽象的計算思維概念向生活真實情境還原,顯現(xiàn)出在實際問題解決過程中的某些操作所具有的算法的特征。筆者在教學中并不只是將現(xiàn)成的算法的描述形式(如流程圖)直接展現(xiàn)出來(這樣就錯失了顯現(xiàn)學生思維過程的機會),而是讓學生先自行去嘗試各種可能的算法的描述,將算法描述在某種意義上的必然性(一般流程圖都有規(guī)范的描繪方法)先轉(zhuǎn)換為充分的可能性,然后在由可能到可行的通達過程中,顯現(xiàn)出學生思維的成長。
例如,可以將網(wǎng)絡組建的某個場景中的流程以文字描述的方式來表達,然后讓學生用繪圖的方式對流程進行描述:某人在組建網(wǎng)絡時,因為線路混亂,不慎將一根網(wǎng)線的兩端都接入了同一臺交換機,致使交換機無法正常工作,警告燈閃爍(實際情況是交換機所有的端口狀態(tài)燈快速閃爍,教學中要盡可能用簡單的描述弱化專業(yè)技術色彩)。由于網(wǎng)線很長而且相互纏繞,尋找接錯的母線比較麻煩。那么如何找到這根接錯的網(wǎng)線呢?首先讓學生用文字的方式來描述故障排除過程,如按次序逐個從交換機上拔下網(wǎng)線,如果警告燈仍然閃爍,則重新插上,直到發(fā)現(xiàn)拔下某根網(wǎng)線后交換機警告燈不再閃爍,便可發(fā)現(xiàn)接錯的網(wǎng)線。接下來是讓學生用框圖連線的方式來描述組網(wǎng)過程,教師可以先提供一些繪圖的零件作為支架。這里未必一定要求畫出規(guī)范的流程圖,而是希望通過繪圖強化過程中“控制”的存在。
將日常語言能夠清晰表達的任務,轉(zhuǎn)換成圖示的方式,并沒有想象中那樣容易,因為首先要將語言描述中的任務分解成不能再分解的某一步,然后要以符合控制流程的方式將每個步驟連接起來。這其中就蘊含著分解和抽象的思想。如果學生學習過算法,那就比較容易用流程圖的方式描繪出任務步驟,但筆者的教學對象大部分還沒有學習過算法和流程圖,這反而使得這項活動具有了促進思維發(fā)展的意義。在學生們描繪的步驟圖示中有一些值得思考的發(fā)現(xiàn),如:很多學生不自覺地就用線條表達出了循環(huán)的結(jié)構(gòu);有的學生試圖將具象的交換機、網(wǎng)線、人的圖案和抽象的步驟流程結(jié)合在一起(作為一個人雖然能夠理解圖示的含義,但一個機器如何來理解呢);少數(shù)曾經(jīng)學習過流程圖的學生,在沒有任何具體要求的情況下,就將排除故障的步驟以比較標準的流程圖的方式呈現(xiàn)了出來。筆者還注意到一些十分有意思的細節(jié),如圍繞拔下網(wǎng)線后燈的情況的觀察以及后續(xù)動作,可以發(fā)現(xiàn)有三種不同的描繪方式,如圖1所示。
可以發(fā)現(xiàn),第一種描繪方式是以超越第一人稱且以近乎平行宇宙的視角在描繪步驟,既沒有區(qū)分主客體,也沒有區(qū)分動作和狀態(tài);第二種描繪方式區(qū)分了主體和客體,但仍然沒有區(qū)分出動作和狀態(tài);第三種描繪方式將狀態(tài)和動作用不同的圖示做了區(qū)分,這樣就解釋了前后動作的因果關系。在收取上來的各種圖示中,第一種描繪方式是最多的,這能夠映射出學生對具體事件進行抽象時的原始的狀態(tài)。通過對各種圖示的展示,學生們能夠領悟到,哪些圖示的方式更利于機器工作,而哪些是人便于閱讀理解的。
網(wǎng)絡編碼中的數(shù)據(jù)與表征
在真實場景中,連接到交換機的網(wǎng)線蜿蜒在建筑物的管道中,常常橫跨房間、樓層,距離可能非常長,其用途也各異,有連到下級交換機的,有連到服務器的,有連到辦公室墻壁上端口的(通常是為普通電腦準備的),有連到無線AP的。并且,下端連入設備所處的位置也不同,如不同的樓層、房間以及房間內(nèi)的網(wǎng)點。有時候還需要區(qū)分使用者的不同,如同一間教室中,有些網(wǎng)點是供教師使用的,有些是供學生使用的。當布線完畢后,通常都要在網(wǎng)線兩端為線路的用途打上標簽。在現(xiàn)實中,標簽空間有限,標簽上標識的信息量往往令人沮喪,A001、B002之類的標簽除了方便找線外別無他意。如何在有限的標簽的空間(假設不超過若干個字符)中,設計一個標記方式,使之能夠盡可能多地表達出描寫信息?這是一個有趣的開放性的活動。
這樣的需求,不僅需要知道網(wǎng)線的用途,還需要知道網(wǎng)線的來源,如網(wǎng)線可能直接來自主交換機,但也可能來自與主交換機相連接的次級交換機,甚至是與次級交換機所連接的再次級交換機,那么,應當如何來設置這個標記方式?假設主交換機下只連接三個次級交換機,而每個次級交換機下只連接三個再次級交換機,每個再次級交換機連接若干網(wǎng)線。當我們看到標簽時,如何能反映出線路來源的整個路徑?如表1所示。
當方案完成后,得到的不僅僅是一個網(wǎng)絡布線的結(jié)構(gòu),而是一個可以遷移到其他用途的樹的結(jié)構(gòu)(如圖2),用這個結(jié)構(gòu)可以方便地實現(xiàn)數(shù)據(jù)的定位,或者也可以通過遍歷來實現(xiàn)所有的排列組合。曹楊璐老師和謝忠新老師提出,在信息技術學科教學中強調(diào)、強化靈活遷移模型與算法具有十分重要的意義。[3]筆者借助網(wǎng)絡布線得到的樹的結(jié)構(gòu),就為今后更深層次的算法學習,先行提供了可靈活遷移的模型。
網(wǎng)絡拓撲的描述與記錄
當局域網(wǎng)的線路布置到位后,往往需要對布線的情況進行記錄。通常,關注的重點是設備與設備之間邏輯上的關系(顯然管理者十分清楚網(wǎng)絡中心和下屬設備的實際物理位置)。那么,并不需要嚴格按物理現(xiàn)實來描繪線路的走向和連接,也不需要知道設備的大小、形狀。這里就遇見了拓撲的概念,拓撲研究的是幾何圖形或空間在連續(xù)改變形狀后還能保持不變的一些性質(zhì),為了描繪網(wǎng)絡的拓撲圖,需要先對真實的布線情況進行觀察,然后在頭腦中進行變換,在變換過程中,無論是拉伸、扭轉(zhuǎn)、彎曲、還是放大、縮小都可以,只要不撕裂和割破就行。在變換中不斷簡化圖形,并保留圖片中對象之間關系的不變的特性。由于對象之間關系是確定的,所以就可以只用純粹的符號,將拓撲圖保存下來。筆者希望設計一個數(shù)據(jù)記錄的形式,當某個機器對數(shù)據(jù)進行分析和處理時,它所做的事情其實和人用眼睛和頭腦對拓撲圖進行分析和處理是同構(gòu)的。筆者并不想在這里“教授”圖論,而是希望學生們在設計那些能夠?qū)負鋱D的數(shù)據(jù)記錄和數(shù)據(jù)處理方案時,生發(fā)出的方法,可能與圖論的方式具有某種類似之處。圖3所示為一種網(wǎng)絡拓撲結(jié)構(gòu)圖。
筆者要求學生將以上簡單的拓撲圖中所蘊含的信息用多個一維列表的形式來進行記錄,具體方法不限,但必須在數(shù)據(jù)記錄中,保存原網(wǎng)絡拓撲圖中二維結(jié)構(gòu)的信息??紤]到學生可能不太容易理解“一維”“二維”這樣的概念,因此將任務要求轉(zhuǎn)化為:在表格中填入數(shù)據(jù),并描寫閱讀說明,要求同伴能根據(jù)數(shù)據(jù)和說明,在沒有見到原始拓撲圖的情況下,描繪出這個拓撲圖的樣子。一種簡單的填寫方案可能是這樣的:表2中的每一行從第二項及之后項,都是第一項所要連接的設備。
筆者甚至可以將這個設計數(shù)據(jù)存儲方案的任務與本文先前介紹的畫步驟流程的任務結(jié)合起來,假設有一個機器人,它能夠讀出表格中的數(shù)據(jù),那么這個機器人如何才能計算出電腦4是以怎樣的方式連接到交換機A的?實施該任務的文字描述可能是這樣的:機器人在表格中逐行尋找,直到在第三行中找到電腦4,然后獲知該行的第一項是交換機b,然后在表格中逐行尋找交換機b,它在第一行中找到交換機b,然后獲知該行的第一項是交換機A。通過這樣的過程,機器人知道電腦4先被連接到了交換機b上,然后交換機b又被連接到了交換機A上。通過這樣的過程,機器人就能夠“知曉”網(wǎng)絡中設備和設備之間的關系了。雖然說還可以繼續(xù)深入到每個步驟的進一步細化工作中,如為了讓機器人做到逐行搜索某個對象,就必須考慮設置關于機器人行走方式的數(shù)據(jù),但這些內(nèi)容離開網(wǎng)絡組建太遠了,筆者擔心這樣就不知不覺滑進了另一個教學模塊中,而原來的網(wǎng)絡組建任務已經(jīng)完全變成了新的教學的背景。但似乎也沒有明確的規(guī)定說,不能用這樣的方法來銜接不同內(nèi)容的教學,這讓筆者想起了埃舍爾名為《天與水》的藝術作品(如圖4),在這幅畫作中,魚的圖形從清晰轉(zhuǎn)為混沌,逐漸成為越來越清晰的鳥的圖形的背景。
參考文獻:
[1]張汶.上海推進普通高中信息術課程的思考與探索[J].中國信息技術教育,2019(08):16-19.
[2]武健.從生活算法中審視程序設計算法[J].信息技術教育,2007(05):36-37.
[3]曹楊璐,謝忠新.信息技術學科計算思維的遷移能力培養(yǎng)實踐研究[J].中國信息技術教育,2021(15):54-57+100.