999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

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

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

關(guān)鍵詞:網(wǎng)絡(luò)編程;教學(xué)方法;理論教學(xué);實(shí)踐教學(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é)議簇的編程方式,作為“計算機(jī)網(wǎng)絡(luò)”的后續(xù)課程,在計算機(jī)類專業(yè)課程體系中占有十分重要的位置,是網(wǎng)絡(luò)工程專業(yè)的必修課。本課程要求學(xué)生在理解計算機(jī)網(wǎng)絡(luò)的基本理論的基礎(chǔ)上,運(yùn)用高級語言進(jìn)行編程開發(fā),注重實(shí)踐環(huán)節(jié)。因此我們在大四上學(xué)期開設(shè)本課程,總學(xué)時為54(34+20)學(xué)時。

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

2.1理論教學(xué)

(1) 以人為本,學(xué)生自選編程語言。現(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進(jìn)行網(wǎng)絡(luò)編程比較普及;而微軟推出的.NET開發(fā)平臺,由于其與Windows操作系統(tǒng)的無縫集成,開發(fā)工具的便捷、高效性,使得以C#.NET進(jìn)行網(wǎng)絡(luò)編程也逐漸流行。

“網(wǎng)絡(luò)編程”課程強(qiáng)調(diào)基于網(wǎng)絡(luò)基本理論的編程實(shí)踐,雖然不與具體的編程語言有必然的聯(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é)強(qiáng)烈希望使用C#進(jìn)行編程。因此,課程教學(xué)課題組決定,學(xué)生可以根據(jù)個人的實(shí)際或興趣任選其中一種編程語言,教師上課側(cè)重網(wǎng)絡(luò)基本理論的講解,編程實(shí)踐以C#和Java為主,并給出兩種示例代碼。

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

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

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

圖2TCP的3次握手過程

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

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

圖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ù)器(本機(jī))

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

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

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

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

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

2.2實(shí)踐教學(xué)

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

表1 實(shí)驗(yàn)課程安排

實(shí)驗(yàn)名稱學(xué)時說明

Socket2必做,驗(yàn)證性實(shí)驗(yàn)

TCP2選做,驗(yàn)證性實(shí)驗(yàn)

UDP2選做,驗(yàn)證性實(shí)驗(yàn)

TCP/UDP綜合4必做,綜合性實(shí)驗(yàn)

FTP2選做,驗(yàn)證性實(shí)驗(yàn);

3個實(shí)驗(yàn)任選一個

SMTP/POP32

HTTP2

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

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

3考核方式

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

4結(jié)語

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

參考文獻(xiàn):

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

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

[3] 梅曉冬,顏華青. Visual C#網(wǎng)絡(luò)編程技術(shù)與實(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 (編輯:白杰)

主站蜘蛛池模板: 亚洲综合第一区| 欧美、日韩、国产综合一区| 91成人在线免费视频| 中文字幕在线一区二区在线| 日本高清有码人妻| 国产打屁股免费区网站| 亚洲无码高清一区二区| 欧美高清三区| 少妇精品网站| 91成人精品视频| 国产永久在线观看| 亚洲热线99精品视频| 日本午夜三级| 午夜国产理论| 欧美中文字幕一区二区三区| 老司机午夜精品视频你懂的| 一级毛片免费观看久| 国产主播在线一区| 日韩AV无码免费一二三区| 久久无码高潮喷水| 国产在线无码一区二区三区| 成年片色大黄全免费网站久久| 亚洲一区二区日韩欧美gif| 亚洲电影天堂在线国语对白| 欧美α片免费观看| 五月六月伊人狠狠丁香网| 国产麻豆精品久久一二三| 色综合激情网| 香蕉eeww99国产在线观看| 爆乳熟妇一区二区三区| 午夜国产不卡在线观看视频| 国产凹凸视频在线观看| 欧美日本视频在线观看| 日韩精品久久无码中文字幕色欲| 日本免费精品| 国产精品一区在线观看你懂的| 国产成人无码久久久久毛片| 欧洲av毛片| 久久久久亚洲Av片无码观看| 久久频这里精品99香蕉久网址| 久操线在视频在线观看| 亚洲国产日韩视频观看| 在线免费a视频| 亚洲嫩模喷白浆| 国产主播在线观看| 四虎国产精品永久一区| 国产清纯在线一区二区WWW| 日本精品视频一区二区| 97人人做人人爽香蕉精品| 国产精品三级av及在线观看| 国产在线自揄拍揄视频网站| 秋霞一区二区三区| 国产成人午夜福利免费无码r| 思思99热精品在线| 亚洲第一黄片大全| 欧美在线视频不卡| 怡春院欧美一区二区三区免费| 欧美三級片黃色三級片黃色1| 亚洲精品动漫| 手机精品视频在线观看免费| 日本三级欧美三级| 日韩av高清无码一区二区三区| 99热这里只有精品久久免费| 亚洲精品视频网| 18黑白丝水手服自慰喷水网站| 韩国福利一区| 国内精自视频品线一二区| 亚洲第一成年网| 亚洲电影天堂在线国语对白| 精品无码一区二区三区在线视频| аⅴ资源中文在线天堂| 97青青青国产在线播放| 国产区福利小视频在线观看尤物| 国产欧美精品一区aⅴ影院| 中文字幕在线永久在线视频2020| 日韩中文无码av超清| 亚洲精品国产成人7777| 亚洲视频免费在线| 久久久精品国产SM调教网站| 亚洲最大在线观看| 91po国产在线精品免费观看| av大片在线无码免费|