肖鋒 唐俊勇
摘要:將計(jì)算思維中的關(guān)注點(diǎn)分離思維引入到課程教學(xué)過程,有利于打破傳統(tǒng)教學(xué)與學(xué)習(xí)的思維方式。以計(jì)算機(jī)網(wǎng)絡(luò)課程為例,從功能劃分和逐步細(xì)化兩個(gè)方面講述在課程中的教學(xué)培養(yǎng)實(shí)踐,融合在教學(xué)改革過程中,能夠很好地培養(yǎng)學(xué)生的計(jì)算思維能力,提升學(xué)生解決問題的能力。
關(guān)鍵詞:關(guān)注點(diǎn)分離;計(jì)算思維;計(jì)算機(jī)網(wǎng)絡(luò)
中圖分類號(hào):G642.0 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2016)17-0222-02
2006年,卡內(nèi)基梅隆大學(xué)計(jì)算機(jī)科學(xué)系主任周以真教授提出了計(jì)算思維的教育理念[1]。她指出:計(jì)算思維是運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念進(jìn)行問題求解、系統(tǒng)設(shè)計(jì)以及人類行為理解等涵蓋計(jì)算機(jī)科學(xué)之廣度的一系列思維活動(dòng)。典型的方法有[2]:約簡(jiǎn)、嵌入、仿真、遞歸、轉(zhuǎn)化、并行、啟發(fā)式推理、平衡與折中以及預(yù)防、保護(hù)、冗余糾錯(cuò)等。關(guān)注點(diǎn)分離作為計(jì)算思維的核心思想,是一種處理復(fù)雜問題的方法,其實(shí)質(zhì)是采用抽象和分離的方法分析復(fù)雜問題,采用“分而治之”的思維方法分析和解決問題。
計(jì)算機(jī)網(wǎng)絡(luò)課程作為大學(xué)計(jì)算機(jī)相關(guān)專業(yè)中的一門重要的專業(yè)基礎(chǔ)課,是一門理論與工程實(shí)踐緊密結(jié)合的典型課程。目前對(duì)計(jì)算機(jī)網(wǎng)絡(luò)教學(xué)過程的研究主要集中在教學(xué)與實(shí)驗(yàn)內(nèi)容教學(xué)方法與優(yōu)化等改革方面[3-5],對(duì)于如何在課程中實(shí)現(xiàn)關(guān)注點(diǎn)分離等計(jì)算思維的思維方法的教學(xué)較少涉獵。
一、關(guān)注點(diǎn)分離
基于關(guān)注點(diǎn)分離(SOC:separation of concerns)是計(jì)算思維中最重要的原則之一,通常以“分而治之”的方式出現(xiàn)。在實(shí)際問題處理過程中,由于關(guān)注點(diǎn)混雜在一起會(huì)導(dǎo)致復(fù)雜性大大增加,所以能夠把不同的關(guān)注點(diǎn)分離開來,分別處理就是處理復(fù)雜性的一個(gè)原則和一種方法,一般從功能劃分與逐步細(xì)化兩個(gè)角度的關(guān)注點(diǎn)分離實(shí)現(xiàn)子問題等的獨(dú)立性。在具體的使用過程中,可以綜合使用兩者也可以分別使用,進(jìn)而實(shí)現(xiàn)關(guān)注點(diǎn)分離。
通過功能劃分來分離關(guān)注點(diǎn)。一般來講,功能是對(duì)象能夠滿足某種需求的一種屬性。系統(tǒng)是由一系列不同功能組件組合而成,當(dāng)不同功能的組件合理的分離或者組合后,構(gòu)造成新的功能載體,從而使得對(duì)象具有新的功能。每個(gè)功能組件具有高度的相對(duì)獨(dú)立性。
通過逐步細(xì)化來分離關(guān)注點(diǎn)。將遇到的實(shí)際問題經(jīng)過抽象(細(xì)化)處理,最后只是一些較為簡(jiǎn)單的算法描述與實(shí)現(xiàn)問題,充分細(xì)化的結(jié)果將會(huì)是功能單一、容易實(shí)現(xiàn)的功能模塊,從而實(shí)現(xiàn)關(guān)注點(diǎn)的分離。
二、計(jì)算機(jī)網(wǎng)絡(luò)課程中關(guān)注點(diǎn)分離的培養(yǎng)實(shí)踐
計(jì)算機(jī)網(wǎng)絡(luò)這門課程的理論性比較強(qiáng),要求學(xué)生對(duì)課程中的概念要理解深入、理解透徹。這門課程不僅面向計(jì)算機(jī)專業(yè),還面向電子、自動(dòng)化等多個(gè)工科專業(yè)。在教學(xué)過程中,加強(qiáng)計(jì)算思維的培養(yǎng),利用關(guān)注點(diǎn)分離的思維方式進(jìn)行課程的講授與學(xué)習(xí)是當(dāng)前課程教學(xué)改革需要考慮的問題。
在《計(jì)算機(jī)網(wǎng)絡(luò)》課程中“數(shù)據(jù)鏈路層”這一章,講到數(shù)據(jù)鏈路層的主要功能是將一條原始的、有差錯(cuò)的物理鏈路變?yōu)閷?duì)網(wǎng)絡(luò)層無差錯(cuò)的數(shù)據(jù)鏈路,將源網(wǎng)絡(luò)層來的數(shù)據(jù)可靠地傳輸?shù)较噜徑Y(jié)點(diǎn)的目標(biāo)網(wǎng)絡(luò)層。為了實(shí)現(xiàn)此層的主要功能,劃分為四個(gè)部分的功能:①將二進(jìn)制的比特流組合成本層的PDU,即幀在物理信道上的傳輸;②處理傳輸過程中的差錯(cuò);③調(diào)節(jié)發(fā)送速率以使之與接收方相匹配;④在兩個(gè)網(wǎng)路實(shí)體之間提供數(shù)據(jù)鏈路通路的建立、維持和釋放管理。在給學(xué)生講述這部分內(nèi)容時(shí),通過關(guān)注點(diǎn)分離將整個(gè)鏈路層的整個(gè)功能通過分治法把一個(gè)大的、難以解決的大問題,分解成一些功能規(guī)模較小的子問題,以便各個(gè)擊破;通過功能劃分將大的功能分解為若干個(gè)小的功能;如果子問題還比較大,可反復(fù)進(jìn)行功能劃分,直到最后的子問題能夠直接得出結(jié)果。這個(gè)利用關(guān)注點(diǎn)分離的功能劃分過程同時(shí)也是計(jì)算思維中遞歸的思維解決問題的方式。
在網(wǎng)絡(luò)中,有連續(xù)地址的編址方法與層次地址的編址方法。局域網(wǎng)Ethernet的MAC地址屬于連續(xù)地址的編址方法,不包含位置信息,只能將不同的結(jié)點(diǎn)區(qū)別開來,這種編址方式比較簡(jiǎn)單,能力有限,不適用于互聯(lián)網(wǎng)絡(luò)環(huán)境。在“網(wǎng)絡(luò)層”這一章中,IP地址是非常重要的教學(xué)內(nèi)容,IP地址體現(xiàn)了層次化的編址方法,層次地址的編址方法體現(xiàn)了關(guān)注點(diǎn)分離逐步細(xì)化的思維方式。根據(jù)網(wǎng)絡(luò)規(guī)模的大小,IP地址分為A、B、C、D和E五類。如圖1所示。
每個(gè)IP地址由“網(wǎng)絡(luò)號(hào)+主機(jī)號(hào)”組成,A類地址的最高位是“0”,B類地址的最高位是“10”;C類地址的最高位是“110”;D類地址的最高位是“1110”;E類地址的最高位是“11110”;分別將“網(wǎng)絡(luò)號(hào)”部分的最高位逐步細(xì)化得到不同類別的IP地址,從而得到不同類別的主機(jī)地址范圍。在講述這部分內(nèi)容時(shí),告訴學(xué)生這樣的逐步細(xì)化得到不同網(wǎng)絡(luò)地址即是計(jì)算思維中關(guān)注點(diǎn)分離的逐步細(xì)化,使得學(xué)生理解逐步細(xì)化的過程與思路,從而理解并掌握關(guān)注點(diǎn)分離的思維方式。
計(jì)算機(jī)網(wǎng)絡(luò)中很多內(nèi)容綜合體現(xiàn)功能劃分與逐步細(xì)化的關(guān)注點(diǎn)分離的思維方式。網(wǎng)絡(luò)系統(tǒng)系結(jié)構(gòu)[6]是計(jì)算機(jī)網(wǎng)絡(luò)課程中的核心章節(jié),非常好地體現(xiàn)了關(guān)注點(diǎn)分離的思維方式。常用的網(wǎng)絡(luò)體系結(jié)構(gòu)有OSI參考模型和TCP/IP模型,在這里以TCP/IP模型為例,模型圖以及每層的協(xié)議如圖2、圖3所示。
在網(wǎng)絡(luò)的體系結(jié)構(gòu)中,將網(wǎng)絡(luò)分成若干個(gè)層次,各層實(shí)現(xiàn)一定的功能,層與層之間相互獨(dú)立,各層之間將接口標(biāo)準(zhǔn)化,允許不同的產(chǎn)品只提供各層功能的一部分某一層不需要知道它的下一層是如何實(shí)現(xiàn)的,而僅僅需要知道該層通過層間的接口所提供的服務(wù)。由于每一層只實(shí)現(xiàn)一種相對(duì)獨(dú)立的功能,因而可將一個(gè)難以處理的復(fù)雜問題分解為若干個(gè)較容易處理的更小一些的問題,這樣,整個(gè)問題的復(fù)雜度就下降了。在每一層中,將功能逐步細(xì)化,每層的功能由不同協(xié)議來完成,有更多的精力討論和學(xué)習(xí)協(xié)議的規(guī)范細(xì)節(jié),減少了耦合度,讓功能劃分與細(xì)化更加易于實(shí)現(xiàn)。網(wǎng)絡(luò)體系結(jié)構(gòu)與網(wǎng)絡(luò)協(xié)議的概念是網(wǎng)絡(luò)技術(shù)中最基本的問題,關(guān)注點(diǎn)分離體現(xiàn)著處理網(wǎng)絡(luò)問題最基本的方法。在學(xué)生學(xué)習(xí)過程中,網(wǎng)絡(luò)體系結(jié)構(gòu)與網(wǎng)絡(luò)協(xié)議的概念,以及對(duì)網(wǎng)絡(luò)問題處理的基本方法的理解,是構(gòu)成整個(gè)網(wǎng)絡(luò)知識(shí)結(jié)構(gòu)的基石。
三、結(jié)束語
關(guān)注點(diǎn)分離是計(jì)算思維中處理復(fù)雜問題的系統(tǒng)思維方法和原則,在計(jì)算機(jī)網(wǎng)絡(luò)課程中有著重要的方法論意義。本文探討了計(jì)算思維中的關(guān)注點(diǎn)分離思維方式,以計(jì)算機(jī)網(wǎng)絡(luò)的部分教學(xué)內(nèi)容為例,介紹了關(guān)注點(diǎn)分離方法為方法導(dǎo)向的培養(yǎng)實(shí)踐。經(jīng)過教學(xué)實(shí)踐,圍繞關(guān)注點(diǎn)分離特性,融合在教學(xué)改革過程中,能夠很好地培養(yǎng)學(xué)生的計(jì)算思維能力,提升學(xué)生解決問題的能力。我們將在計(jì)算機(jī)網(wǎng)絡(luò)課程以及其他課程中探索關(guān)注點(diǎn)分離在計(jì)算思維培養(yǎng)過程中的培養(yǎng)內(nèi)容、方案。
參考文獻(xiàn):
[1]Jeannette M.Wing.Computational Thinking[J].Communications of the ACM,2006,49(3).
[2]李廉.計(jì)算思維——概念與挑戰(zhàn)[J].中國(guó)大學(xué)教學(xué),2012,(1).
[3]洪允德,高強(qiáng).計(jì)算機(jī)網(wǎng)絡(luò)安全課程實(shí)驗(yàn)教學(xué)探索[J].中國(guó)教育技術(shù)裝備,2014,(22).
[4]張寧,趙亦松,蘇利敏,薛永毅,張雪芬.面向應(yīng)用型人才培養(yǎng)的計(jì)算機(jī)通信與網(wǎng)絡(luò)課程教學(xué)改革[J].計(jì)算機(jī)教育,2015,(15).
[5]萬宇文,黃林穎.計(jì)算機(jī)網(wǎng)絡(luò)課程教學(xué)改革與實(shí)踐[J].計(jì)算機(jī)教育,2014,(13).
[6]肖鋒.計(jì)算機(jī)網(wǎng)絡(luò)[M].北京,科學(xué)出版社,2012.08.