肖鋒 唐俊勇


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