亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        “網(wǎng)絡(luò)編程”教學(xué)方法的探索

        2010-01-01 00:00:00劉漢興劉才興鄺穎杰田緒紅
        計算機教育 2010年3期

        摘要:本文根據(jù)“網(wǎng)絡(luò)編程”教學(xué)課題組多年的實際教學(xué)經(jīng)驗,分別對理論、實踐、考核教學(xué)環(huán)節(jié)中的教學(xué)方法進行了總結(jié),強調(diào)以學(xué)生為主體,結(jié)合案例教學(xué),采用啟發(fā)式、互動式、目標式多種教學(xué)方法,在實際教學(xué)中取得了較好的效果。

        關(guān)鍵詞:網(wǎng)絡(luò)編程;教學(xué)方法;理論教學(xué);實踐教學(xué)

        1課程介紹

        網(wǎng)絡(luò)編程通常包括3類編程[1]:基于TCP/IP協(xié)議簇的網(wǎng)絡(luò)編程、基于WWW應(yīng)用的網(wǎng)絡(luò)編程、Web Service網(wǎng)絡(luò)編程?!熬W(wǎng)絡(luò)編程”課程主要是指基于TCP/IP協(xié)議簇的編程方式,作為“計算機網(wǎng)絡(luò)”的后續(xù)課程,在計算機類專業(yè)課程體系中占有十分重要的位置,是網(wǎng)絡(luò)工程專業(yè)的必修課。本課程要求學(xué)生在理解計算機網(wǎng)絡(luò)的基本理論的基礎(chǔ)上,運用高級語言進行編程開發(fā),注重實踐環(huán)節(jié)。因此我們在大四上學(xué)期開設(shè)本課程,總學(xué)時為54(34+20)學(xué)時。

        2教學(xué)方法設(shè)計

        2.1理論教學(xué)

        (1) 以人為本,學(xué)生自選編程語言?,F(xiàn)有的網(wǎng)絡(luò)編程語言主要有MFC C++/C#.NET/Java[1-3],后兩種語言是目前的主流選擇。早期的網(wǎng)絡(luò)編程大都是基于UNIX或Windows的套接字API,采用C或C++作為編程語言。此后由于Java鮮明的網(wǎng)絡(luò)特色和跨平臺特性,J2EE技術(shù)的推廣普及,使用Java進行網(wǎng)絡(luò)編程比較普及;而微軟推出的.NET開發(fā)平臺,由于其與Windows操作系統(tǒng)的無縫集成,開發(fā)工具的便捷、高效性,使得以C#.NET進行網(wǎng)絡(luò)編程也逐漸流行。

        “網(wǎng)絡(luò)編程”課程強調(diào)基于網(wǎng)絡(luò)基本理論的編程實踐,雖然不與具體的編程語言有必然的聯(lián)系,但是編程語言在教學(xué)環(huán)節(jié)中又非常重要。就學(xué)生來說,學(xué)習(xí)網(wǎng)絡(luò)編程時正是高年級階段,必修課程學(xué)過高級程序設(shè)計(C或C++)、面向?qū)ο蟪绦蛟O(shè)計(Java)、.NET開發(fā)(C#.net),任選其中的一種語言似乎都可行。但據(jù)開課前我們對學(xué)生的調(diào)查顯示,92%的學(xué)生愿意選擇Java或C#中的一種,其中部分同學(xué)首選Java(有部分同學(xué)未修C#課程),另有部分同學(xué)強烈希望使用C#進行編程。因此,課程教學(xué)課題組決定,學(xué)生可以根據(jù)個人的實際或興趣任選其中一種編程語言,教師上課側(cè)重網(wǎng)絡(luò)基本理論的講解,編程實踐以C#和Java為主,并給出兩種示例代碼。

        (2) 結(jié)合案例,強調(diào)基本概念的理解與實踐相融合。網(wǎng)絡(luò)編程作為應(yīng)用型課程,其理論基礎(chǔ)部分已在計算機網(wǎng)絡(luò)課程中學(xué)習(xí)過,但偏重理論介紹,學(xué)習(xí)偏于單調(diào)枯燥,不排除學(xué)生死記硬背的可能。上課時結(jié)合實踐中的具體案例進行講解,如網(wǎng)絡(luò)游戲、即時通信工具(如QQ)的實現(xiàn)原理,無疑會提高學(xué)習(xí)興趣,真正做到理論與實踐相融合。但是如果不能真正理解基礎(chǔ)概念,進行網(wǎng)絡(luò)編程實踐則相當(dāng)困難,因此,在網(wǎng)絡(luò)編程學(xué)習(xí)中需要強調(diào)基本概念的理解與實踐。下面舉例說明。

        套接字(Socket):是對網(wǎng)絡(luò)中不同主機上應(yīng)用進程之間進行雙向通信的端點的抽象,如圖1所示,一個套接字就是網(wǎng)絡(luò)上進程通信的一端,兩個應(yīng)用進程只要分別連接到自己的套接字,就能方便地通過計算機網(wǎng)絡(luò)進行通信。套接字是一個復(fù)雜的軟件機構(gòu),由操作系統(tǒng)內(nèi)核管理。套接字生成后用一個整數(shù)(套接字描述符)來代表,使用時要與計算機上的特定IP地址和傳輸層端口號相關(guān)聯(lián),這個過程稱為綁定。

        ② 對比分析建立連接的3次握手過程。為確保連接的建立和終止都是可靠的,TCP使用3次握手(3-way handshake)的方式來建立連接。圖2示范了“計算機網(wǎng)絡(luò)”課程中建立連接的典型示意圖,圖3示范了流式套接字建立連接的過程,通過對比分析,學(xué)生可以一目了然的理解連接是如何建立的。

        圖2TCP的3次握手過程

        ③ 多線程的使用。在網(wǎng)絡(luò)應(yīng)用進程通信時,普遍采用客戶機/服務(wù)器交互模式(Client-Server paradigm of interaction),簡稱C/S模式。如圖4所示,作為服務(wù)器的一方,如果需要同時與多個客戶端進行通信,服務(wù)端應(yīng)用程序的設(shè)計就必然使用多線程編程。因此,熟練操作線程是實現(xiàn)網(wǎng)絡(luò)應(yīng)用程序的關(guān)鍵。

        在Socket的C#程序設(shè)計中,服務(wù)器端監(jiān)聽線程創(chuàng)建多個線程與客戶端進行通信的過程示例代碼為:

        圖3流式套接字編程的基本步驟

        圖4服務(wù)器創(chuàng)建多個線程與多個客戶通信

        IPEndPoint ipep = new IPEndPoint(IPAddress.Any,6001);

        Socket serverSocket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);

        serverSocket.Bind(ipep);

        serverSocket.Listen(10);

        while (true)

        {//循環(huán)監(jiān)聽

        try

        {

        //在套接字上接收接入的連接

        clientSocket = serverSocket.Accept();

        clientThread = new Thread(new ThreadStart(ReceiveData));

        clientThread.Start();

        }

        catch (Exception ex)

        { MessageBox.Show(\"監(jiān)聽錯誤:\" + ex.Message); }

        }

        客戶端與服務(wù)器建立連接代碼片斷:

        IPEndPoint ipep = new IPEndPoint(IPAddress.Parse(\"127.0.0.1\"),6001);

        Socket clientSocket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);

        clientSocket.Connect(ipep);//阻塞模式,連接服務(wù)器(本機)

        (3) 啟發(fā)興趣、加強互動,豐富教學(xué)資源。興趣是學(xué)習(xí)的動力,在教學(xué)過程中提供豐富的教學(xué)資源和多種教學(xué)形式是提高學(xué)生學(xué)習(xí)興趣,促進其主動學(xué)習(xí)的關(guān)鍵。

        ① 公布電子課件、示例源代碼,學(xué)生可自由下載,并鼓勵在課前進行預(yù)習(xí)。對于完成效果較好、有創(chuàng)新點的學(xué)生實驗作品,提出嘉獎并在網(wǎng)上公開。

        ② 加強教與學(xué)的互動,切實做好答疑環(huán)節(jié)。學(xué)生可以方便地通過郵件、短信、QQ等形式與課題組所有老師聯(lián)系或提出疑問,而教師也會及時進行回復(fù)。

        ③ 結(jié)合課程特點和互聯(lián)網(wǎng)應(yīng)用的實際情況,設(shè)計受歡迎的實驗題目。目前流行的互聯(lián)網(wǎng)應(yīng)用系統(tǒng),如網(wǎng)絡(luò)游戲、即時通信系統(tǒng)等,學(xué)生自己獨立完成都成為可能。

        ④ 介紹Linux及Unix操作系統(tǒng)下網(wǎng)絡(luò)編程的實現(xiàn)。目前的編程環(huán)境以Windows操作系統(tǒng)為主,而了解其他的開發(fā)環(huán)境和實現(xiàn)方式也會提高學(xué)習(xí)的興趣。

        2.2實踐教學(xué)

        如表1所示,將8個實驗總學(xué)時數(shù)定為20,分為選做實驗和必做實驗,兩種實驗都必須按要求完成。選做實驗主要是指驗證性實驗,上機調(diào)試通過即可;必做實驗為教師重點檢查實驗,要求提交實驗報告,上機運行并根據(jù)實驗的完成效果由教師現(xiàn)場給出成績。綜合性實驗是必做實驗,可以單人完成,也可小組(2~3人)合作實現(xiàn)。

        表1 實驗課程安排

        實驗名稱學(xué)時說明

        Socket2必做,驗證性實驗

        TCP2選做,驗證性實驗

        UDP2選做,驗證性實驗

        TCP/UDP綜合4必做,綜合性實驗

        FTP2選做,驗證性實驗;

        3個實驗任選一個

        SMTP/POP32

        HTTP2

        綜合設(shè)計實驗4必做,綜合性設(shè)計性試驗

        在所有實驗當(dāng)中,綜合設(shè)計實驗一般是在學(xué)期末布置,綜合運用本課程所學(xué)知識進行設(shè)計相對較大型、有一定難度的實驗。但是如果在學(xué)期末才布置實驗內(nèi)容,會因為學(xué)生時間緊張、實驗時間短的問題而影響實驗效果。因此我們實行“目標式”教學(xué)方法:從學(xué)期開始就要求學(xué)生根據(jù)自己的興趣愛好,從綜合性設(shè)計性實驗題目中選取一個(或多個)作為實驗?zāi)繕耍寣W(xué)生較早了解實驗內(nèi)容和要求,在平時學(xué)習(xí)中有針對性地準備,到學(xué)期末完成實驗?zāi)繕司退角伞嵺`表明,這種目標教學(xué)法既可以提高學(xué)習(xí)動力,同時實驗完成效果也較為理想。

        3考核方式

        期末成績?yōu)榫C合成績,分為期末考試成績和平時成績,其中綜合成績=期末考試成績(70%)+平時成績(30%,包括實驗成績、考勤情況等)。期末考試為閉卷考試(120分鐘),重點考核基本理論的理解及其實現(xiàn);平時成績主要針對學(xué)生上課的出勤率、上課表現(xiàn)等情況,按比例折算實驗成績(實驗成績?yōu)閹讉€必做實驗的綜合平均)。例如:如果出勤率較高、上課表現(xiàn)積極,則平時成績就是實驗成績的100%。由于實驗成績由教師根據(jù)實驗效果現(xiàn)場給出,分數(shù)的高低也鼓勵學(xué)生認真完成實驗要求并力求創(chuàng)新,從而促進了學(xué)習(xí)的積極性。

        4結(jié)語

        在課題組教師的共同努力下,通過幾個學(xué)期來對網(wǎng)絡(luò)編程教學(xué)方法的探索和實踐,本課程已經(jīng)建立起較完善的教學(xué)體系和教學(xué)方法。從教學(xué)效果來看,提高了學(xué)生的積極性和主動性,增強了學(xué)生的創(chuàng)新能力、分析解決實際問題的工作能力。今后,我們?nèi)孕璨粩嗟匮芯?,不斷地總結(jié)教學(xué)經(jīng)驗,使整個教學(xué)環(huán)節(jié)更加完善合理。

        參考文獻:

        [1] 葉樹華,高志紅. 網(wǎng)絡(luò)編程實用教程[M]. 北京:人民郵電出版社,2006.

        [2] 汪曉平,賈敬習(xí),李功. 精通Java網(wǎng)絡(luò)編程[M]. 2版. 北京:清華大學(xué)出版社,2009.

        [3] 梅曉冬,顏華青. Visual C#網(wǎng)絡(luò)編程技術(shù)與實踐[M]. 北京:清華大學(xué)出版社,2008.

        Teaching Method Discussion of “Network Programming”

        LIU Han-xing, LIU Cai-xing, KUANG Ying-jie, TIAN Xu-hong

        (College of Informatics, South China Agriculture University, Guangzhou 510642, China)

        Abstract: Based on practical teaching experience of Network Programming teaching team, the methods are summarized of theory, practice and examine teaching. Student-centered is emphasized, cases are combined in teaching, several teaching methods are used, such as heuristics, interactive and target methods, and good effect is acquired in our teaching practice.

        Key word: Network Programming; teaching method; theory teaching; practice teaching (編輯:白杰)

        日韩美女亚洲性一区二区| 国产综合第一夜| 蜜桃网站在线免费观看视频| 国产视频激情视频在线观看| 成年女人a级毛片免费观看| 久久久www成人免费无遮挡大片| 无码av一区在线观看| 精品久久中文字幕一区| 国产av久久久久精东av| 日本免费人成视频播放| 国产自精品在线| av网站国产主播在线| 国产在线精品一区二区三区直播| 亚洲国产高清在线观看视频| 亚洲一区二区三区免费av在线| 在线免费看91免费版.| 东京热无码av一区二区| 欧美z0zo人禽交欧美人禽交| 少妇av免费在线播放| 日本一二三区免费在线| 久久成人影院精品777| 亚洲视频天堂| 少妇激情一区二区三区| 婷婷精品国产亚洲av麻豆不片| 永久免费av无码网站yy| 国产精品日日摸夜夜添夜夜添| 中文字幕在线日韩| 激情视频国产在线观看| 亚洲国产婷婷香蕉久久久久久 | 婷婷色国产精品视频二区| 日韩成人无码| 久久久久久国产精品免费网站| 亚洲综合小综合中文字幕| 亚洲无线一二三四区手机| 欧性猛交ⅹxxx乱大交| 在线观看中文字幕一区二区三区 | 日韩午夜理论免费tv影院| 成人白浆超碰人人人人| 久久久久久久久久免免费精品| 精品久久人妻av中文字幕| 日韩精品一区二区三区中文|