文/謝倩 張莉 劉靈敏
摘 要:本文針對網絡程序設計這門課程理論知識抽象,晦澀難懂的特點,提出了在教學過程中應用比喻教學法。分析了比喻教學法的優勢,并通過實際的教學案例對比喻教學法進行闡述。實踐證明,比喻教學法的使用提高了網絡程序設計課程教學效率。
關鍵詞:網絡程序設計;比喻教學法;教學效率
比喻教學法在《網絡程序設計》教學中的應用
文/謝倩張莉劉靈敏

摘要:本文針對網絡程序設計這門課程理論知識抽象,晦澀難懂的特點,提出了在教學過程中應用比喻教學法。分析了比喻教學法的優勢,并通過實際的教學案例對比喻教學法進行闡述。實踐證明,比喻教學法的使用提高了網絡程序設計課程教學效率。
關鍵詞:網絡程序設計;比喻教學法;教學效率
作者簡介:謝倩(1986-),女,湖南邵陽人,武漢大學珞珈學院計算機科學系,助教,碩士研究生。研究方向:Petri網理論及其應用、軟件工程。
中圖分類號:G642
文獻標志碼:碼:A
文章編號:號:2095-9214(2015)08-0100-01
《網絡程序設計》課程涵蓋的知識面廣,涉及了多種網絡協議以及編程技術,有不少的抽象理論知識,通常讓教師覺得束手無策,學生學習起來也一頭霧水。若是在教授過程中,合理的采用比喻教學法,將抽象的概念與學生熟悉的事物聯系起來,會使得枯燥的知識變得生動形象,給學生留下深刻的印象。
1、比喻教學法的優勢
比喻是一種常用的修辭手法,用跟甲事物有相似之處的乙事物來描寫或說明甲事物。而比喻教學法,就是指在實際的授課過程中,選擇合適的學生熟悉的事物,將其引申至未知或抽象的事物,從而達到讓學生更好的認識新事物的目的。
《網絡程序設計》理論知識講解中,運用比喻教學法,用幽默風趣的語言將抽象的事物解釋清楚,使得課堂氛圍不再沉悶,不僅可以使原本模糊的概念變得清晰,還可以充分調動學生學習的積極性。
2、比喻教學法案例分析
(1)套接字
在《網絡程序設計》中,套接字socket是非常重要的概念,教材上的解釋是:套接字是兩個通信通道上的端節點。看到這個解釋,學生還是不能明白套接字的內涵。為了使學生更好地理解,通常采用如下比喻。
既然套接字是作為通信的末端,那么可以使用“電話系統”與“郵局系統”這兩個同學們熟悉的事物進行類比。可以把支持虛電路服務的信道看作電話線,套接字就類似于一個電話。同樣,可以把提供數據報服務的通信看作郵局系統,套接字看作信箱。
(2)基于TCP套接字編程模型
面向連接的網絡通信的建立有多個步驟,要使用多個函數。為了便于理解,可以將其比喻為“打電話”這個過程。要建立基于TCP的C-S(客戶-服務器)通信,首先雙方進程必須各自創建一個端點,也就是調用socket函數創建套接字,正如打電話之前,雙方必須都擁有一臺電話機一樣。Socket是面向模型設計的,針對C-S通信雙方提供不同的socket系統調用。客戶隨機申請一個socket號,這類似想打電話的人可以在任何一臺入網的電話上呼叫。服務器擁有全局公認的socket,調用bind函數將套接字地址和所創建的套接字句柄聯系起來,任何客戶都可以向它發出連接請求和信息請求,這就類似于被呼叫方的電話號碼告知了呼叫方。
客戶端調用connect函數發出連接請求,就好比撥打對方的電話。而服務端有可能在完成當前請求之前又發生多個服務請求,為了很好的處理這個問題,服務器調用listen函數將所有的服務請求放在一個請求隊列中排隊,并盡快處理這些請求,這就如被呼叫方在開啟呼叫等待的功能,不錯過任何呼叫請求。服務器端執行accept函數等待來自某一客戶端的實際連接請求,實現與客戶進程連接,這就如被呼叫方拿起電話,雙方可以正式通話。
最后,客戶端與服務端完成數據傳輸后調用close函數關閉套接字,撤銷連接。這就好比打電話雙方通話結束后,掛掉電話。
(3)基于UDP的通信機制
用“郵局系統通信”來類比這一種通信機制是非常恰當的。基于UDP通信是面向非連接的,無法保證數據以正確的順序到達。這就類似我們先后寄出兩封信給對方,不能確保第一封信一定會比第二封信先到達對方手上。
而在通信過程中,服務端和客戶端雙方首先都需要綁定IP地址和端口號,這就好比寄信之前,對方的通信地址我們是要已知的。而客戶端發送信息以及服務端回應的時候,調用sendto函數來實現,需要指明對方的地址。這如同在寄信的時候,需在信封上要注明對方的地址信息。
(4)協議端口
在講解“協議端口”時,學生總是不能理解為什么在網絡通信的時候要指明端口號,為了解決這個問題,同樣采取比喻教學法。
大多數操作系統是支持多進程的,目的主機到底把收到的數據包送給哪個進程呢?就好比我們去銀行辦理業務,銀行的業務有多種,有多個服務窗口。我們要成功地辦理業務,必須知道對應的窗口號。同理,當你的主機開啟多個服務時,如FTP、WWW、E-Mail多個服務,當接收到傳送過來的數據包時,主機要準確的把數據包傳送給相應的進程,這就需要數據傳輸的雙方進程開啟端口,這樣數據包將會有標識有源端口,確保接收方順利地將數據包傳送至這個端口。
(5)帶外數據
通常數據是按順序傳輸的,然而套接字API概念性的提供了一些使用程序,從而可以使得一串數據無阻的先于普通的數據到達接收端。這就是所謂的發送帶外數據。這就好比大家排隊在銀行依次辦理業務,有個強盜拿著槍走入銀行,越過整個隊伍走到柜員面前。這個就可看作為帶外數據。這個強盜能越過整個隊伍,是因為槍標識他的特殊性,給了他凌駕于眾人的權力。
3、結語
網絡程序設計課程知識面廣、概念抽象難懂,要取得好的教學效果,必須打破傳統的教學方法,靈活多變,不斷創新。在授課的過程中,大量采取比喻教學法,結果表明,學生更好的掌握知識點,教學效率顯著提升。只要認真探索,我們就可以把專業性很強的概念、原理與學生熟悉的事物相類比,使抽象的概念變得生動,易于理解,易于接受。這樣學生才會更有興趣,學習的積極性更高。
(作者單位:武漢大學珞珈學院計算機科學系)
參考文獻:
徐學福.論類比教學模式.廣西師范大學學報:哲學社會科學版,1998,34(2):27-32.
方敏,張彤.網絡應用程序設計.西安電子科技大學出版社,2005.
李先鋒,韓立毛,胡波.比喻教學法在操作系統原理教學中的應用.計算機教育,2010(6):108-111.